samba笔记: http://services.linuxpanda.tech/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/samba.html

文章参考:https://wiki.archlinux.org/index.php/Samba_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1.samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

2.环境介绍

os:centos7

samba: 4.4.4

3.安装samba

[root@mail samba]#  yum -y install samba samba-client samba-swat

4.启动samba

[root@mail samba]# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@mail samba]# systemctl enable nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[root@mail samba]# systemctl start smb
[root@mail samba]# systemctl start nmb
[root@mail samba]#

5.查看smb,nmb占用端口信息

[root@mail samba]# netstat -tunlp | grep  mb
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp6 ::: :::* LISTEN /smbd
tcp6 ::: :::* LISTEN /smbd
udp 192.168.122.255: 0.0.0.0:* /nmbd
udp 192.168.122.1: 0.0.0.0:* /nmbd
udp 192.168.137.255: 0.0.0.0:* /nmbd
udp 192.168.137.101: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd
udp 192.168.122.255: 0.0.0.0:* /nmbd
udp 192.168.122.1: 0.0.0.0:* /nmbd
udp 192.168.137.255: 0.0.0.0:* /nmbd
udp 192.168.137.101: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd

6.编辑 /etc/samba/smb.conf

[root@mail samba]# vim /etc/samba/smb.conf
添加如下内容
[tools]
comment = Public Stuff
path = /share/test
read only = No
guest ok = Yes

7.创建指定共享的目录

[root@mail samba]# mkdir -pv /share/test
mkdir: created directory ‘/share/test’
[root@mail samba]# chown -R nobody.nobody /share/test #这里使用了nobody的,如果对权限有要求,可以使用smbpasswd -a 添加一个用户(用户必须系统存在),使用setfacl添加权限即可。

8.测试配置文件正确性

[root@mail samba]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max () to minimum Windows limit ()
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[tools]"
Loaded services file OK.
Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
回车
# Global parameters
[global]
workgroup = SAMBA
printcap name = cups
security = USER
idmap config * : backend = tdb
cups options = raw [homes]
comment = Home Directories
browseable = No
inherit acls = Yes
read only = No
valid users = %S %D%w%S [printers]
comment = All Printers
path = /var/tmp
browseable = No
printable = Yes
create mask = [print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
create mask =
directory mask =
write list = root [tools]
comment = Public Stuff
path = /share/test
guest ok = Yes
read only = No

9.访问共享文件
9.1Windows平台可以直接在资源管理器输入\\192.168.137.100\tools即可访问 其中192.168.137.100为samba服务器的地址, tools为共享名称

9.2Linux平台可以使用

[root@mail samba]# smbclient //192.168.137.101/tools
Enter root's password:
session setup failed: NT_STATUS_LOGON_FAILURE
[root@mail samba]# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
[root@mail samba]# smbclient //192.168.137.101/tools
Enter root's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.]
smb: \> ls
. D Mon Feb ::
.. D Mon Feb :: blocks of size . blocks available
smb: \>

10. 挂载windows上共享的目录

10.1在window上我们创建一个共享

上面我们把window机器上的目录名为ftp的目录共享给了window的另一个用户oracle,权限为读写的。

10.2 linux 使用认证文件(cerdentials)挂着windows共享目录

[root@localhost samba]# smbclient //192.168.40.1/ftp -U oracle     #这里先使用smbclient测试下我们的用户和密码的正确性
Enter oracle's password:
session request to 192.168.40.1 failed (Called name not present)
Domain=[DESKTOP-TN5P2FR] OS=[Windows 10 Enterprise 2016 LTSB 14393] Server=[Windows 10 Enterprise 2016 LTSB 6.3]
smb: \> ls #查看
  .                                   D        0  Fri Apr  7 22:52:52 2017
  ..                                  D        0  Fri Apr  7 22:52:52 2017
  anaconda-ks.cfg                     A     1395  Sun Mar 19 10:15:42 2017
  boot                                D        0  Mon Jan 23 17:42:30 2017
  boot.iso                            A 6199291904  Mon Jan 23 18:22:43 2017
  VSCodeSetup-1.8.0.exe               A 33999136  Sat Feb 25 17:54:31 2017
        59608 blocks of size 8388608. 26965 blocks available
smb: \> quit #退出 [root@localhost samba]# vim 192.168.4.150.pwd #创建一个认证文件
[root@localhost samba]# cat 192.168.4.150.pwd #检查认证文件内容,使用man 8 mount.cifs 获取详细信息
username=oracle
password=oracle
[root@localhost samba]# chmod 192.168.4.150.pwd #修改这个认证文件的权限 [root@localhost samba]# mount.cifs //192.168.40.1/ftp /mnt/winftp -o credentials=/etc/samba/192.168.4.150.pwd #挂着windows共享
[root@localhost samba]# tail -n /etc/mtab >> /etc/fstab #把mtab的最后一行追加到fstab中
[root@localhost samba]# cat /etc/fstab #查看fstab #
# /etc/fstab
# Created by anaconda on Mon Jan ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults
UUID=5c3d4278-fa8d---67c0c26831b5 /boot ext4 defaults
/dev/mapper/VolGroup-lv_swap swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/dev/sr0 /mnt/cdrom iso9660 ro
//192.168.40.1/ftp /mnt/winftp cifs rw 0 0
[root@localhost samba]# vim /etc/fstab #编辑
[root@localhost samba]# cat /etc/fstab #检查 #
# /etc/fstab
# Created by anaconda on Mon Jan ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults
UUID=5c3d4278-fa8d---67c0c26831b5 /boot ext4 defaults
/dev/mapper/VolGroup-lv_swap swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/dev/sr0 /mnt/cdrom iso9660 ro
//192.168.40.1/ftp /mnt/winftp cifs credentials=/etc/samba/192.168.4.150.pwd 0 0
[root@localhost samba]# umount /mnt/winftp/ #卸载我们手工添加的
[root@localhost samba]# mount -a #挂载所有
[root@localhost samba]# mount #查看
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sr0 on /mnt/cdrom type iso9660 (ro)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
//192.168.40.1/ftp on /mnt/winftp type cifs (rw)

11 搭建基于web的配置环境

11.1 设置swat的访问主机

[root@localhost xinetd.d]# vim /etc/xinetd.d/swat   #编辑swat文件, 修改only_from 为我们要基于web管理的主机ip或者一个网段即可。
[root@localhost xinetd.d]# cat /etc/xinetd.d/swat
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port with your favorite web browser.
service swat
{
disable = no
port =
socket_type = stream
wait = no
only_from = 192.168.40.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}

11.2 激活swat 并启动xinet.d

[root@localhost xinetd.d]# chkconfig  swat on    #激活swat
[root@localhost xinetd.d]# service xinetd restart #重启xinetd,
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@localhost xinetd.d]# netstat -tlnp | grep 901 #查看901端口信息
tcp ::: :::* LISTEN /xinetd

11.3 测试web配置

centos7下安装samba服务器的更多相关文章

  1. centOS7 下安装smb服务器

    转载自:http://www.cnblogs.com/lgh344902118/p/7503620.html centOS7和windows10 samba是一款可以让linux和windows下共享 ...

  2. 【教程】ubuntu下安装samba服务器

    一.准备工作 首先更新 software sources, 找到最快的源 lcw@ubuntu:~$ sudo apt-get update 二.安装samba lcw@ubuntu:~$ sudo ...

  3. centos6.5下安装samba服务器与配置

    转自:http://www.centoscn.com/CentosServer/ftp/2014/1023/3989.html http://www.cnblogs.com/x_wukong/p/56 ...

  4. Ubuntu下安装Samba服务器

    闲来无聊尝试自己安装下Samba服务器,使本机和虚拟机可以无障碍传输文件(虽然用VMwaretools可传,但总感觉麻烦,而且速度欠佳) 首先,同安装qemu一样,在安装之前要确定你的系统apt列表已 ...

  5. centos7下安装apache服务器httpd的yum方式安装

    转自Clement-Xu的csdn博客 http://blog.csdn.net/clementad/article/details/41620631   Apache在Linux系统中,其实叫&qu ...

  6. 转-centos7下安装apache服务器httpd的yum方式安装

    转自Clement-Xu的csdn博客 http://blog.csdn.net/clementad/article/details/41620631   Apache在Linux系统中,其实叫“ht ...

  7. centos7下cups + samba共打印服务的教程

    centos7系统我们用到的不多但是这款系统比centos6功能要强大了不少,下文来介绍一篇centos7下cups + samba,共打印服务的例子,具体如下所示.   这个算是rhce课程的篇外篇 ...

  8. Centos7 下安装以及使用mssql

    Centos7下安装以及使用Mssql,在这下面玩,主要是发现linux环境下的mysql非常的小,小到只有169M,这在windows上面,动撤几个G的安装文件,会让你直接打消使用MSSQL的勇气, ...

  9. centos7下cups + samba共打印服务

    centos7下cups + samba共打印服务 2015年8月21日admin发表评论阅读评论   这个算是rhce课程的篇外篇,Samba除了提供文件共享外,也可以像windows下的共享一样提 ...

随机推荐

  1. 小白的CTF学习之路6——阶段测评

    刚才考了自己一次,下面我把题和答案放到下面 CPU中不含有以下选项中的  C A:     运算器 B:      寄存器 C:     内存 D:     时钟 这是一道送分题,CPU包含以下几种原 ...

  2. String工具类

    String工具类 问题描述 MAVEN依赖 代码成果 问题描述 很多时候我们需要对字符串进行很多固定的操作,而这些操作在JDK/JRE中又没有预置,于是我们想到了apache-commons组件,但 ...

  3. HDU 6348 序列计数 (树状数组 + DP)

    序列计数 Time Limit: 4500/4000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Subm ...

  4. vue中的axios封装

    import axios from 'axios'; import { Message } from 'element-ui'; axios.defaults.timeout = 5000;axios ...

  5. windows和ubuntu下git commit提交后如何保存和退出,回到命令行

    问题一: windows下git commit后会进入vim界面,不知道怎么操作 解决办法: 1.输入小写字母i,此时进入编辑模式,可以输入你想输入的内容 2.按下esc键,此时退出编辑模式,输入英文 ...

  6. javascript小括号、中括号、大括号学习总结

    作为一名编程人员,和括号打交道是必不可少的.你可知道在不同的上下文中,括号的作用是不一样的,今天就让我们简单总结下javascript小括号.中括号.大括号的用法. 总的来说,JavaScript中小 ...

  7. max (Largest elements in array)

    句法: M = max(A) M = max(A,[],dim) [M,I] = max(___) C = max(A,B) ___ = max(___,nanflag)   描述: M=max(A) ...

  8. verilog HDL-参数型数据对像 与‘define

    参数新数据对象是用来定义常量的,它可以提升verilog hdl代码的可读性和维护性. verilog hdl支持参数有两种,普通参数和局部参数.普通参数在模块例化时可以从新赋值,局部参数在模块例化时 ...

  9. [smf]smf论坛也很漂亮

    smf论坛代码国内使用的比较少,可能是大家习惯了dz论坛的互动方式吧!但是,smf论坛系统不失为一款好的论坛系统,也是目前为数不多的开源代码.使用起来之后,你会体会到它强大的后台操作.(例如:插件的安 ...

  10. day23_雷神_crm-day2

    # 俺滴第一个项目 CRM MdelForm 实现增删改查 1. ModelForm,重写 __init__ 方法,给所有字段添加 form-control 样式. 2. ModelForm,报错错误 ...