Samba服务安装及配置
服务器环境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64
安装Samba服务
过程中会安装3个服务smb(文件、打印共享服务,使用139、445端口)、nmb(netBIOS名称解析,使用137/138端口)、winbind(win域相关服务)
# yum -y install samba
设置开机自启动
# chkconfig nmb on # chkconfig smb on # echo "/etc/init.d/nmb start" >> /etc/rc.local # echo "/etc/init.d/smb start" >> /etc/rc.local
smb常用参数配置
#全局配置#
[global] workgroup = MYGROUP #工作组名称 server string = Samba Server Version #服务描述 netbios = samba-server #netbios名称,客户端可通过此名称访问服务,需启动nmb服务,并开放udp137/138端口 interfaces = lo eth0 192.168.100.110/24 #设置所使用的网卡接口、地址 hosts allow = 127. 192.168.100. #允许连接的客户端范围 security = user #认证模式,默认是user,即用户密码认证。share(只使用密码或匿名共享) encrypt passwords = yes #设置是否对samba的密码进行加密,现在windows操作系统都是使用加密密码,所以一般要开启此项 passdb backend = tdsam #当使用加密密码时,指定所使用的密码数据库类型。tdsam可使用smbpasswd或pdbedit命令来创建samba用户密码 username map = /etc/samba/smbusers #设置用户映射,比如可以将root换成administrator、admin等
#用户家目录配置#
[homes] comment = Home Directories #共享描述 browseable = no #客户端homes是否可见(不影响直接输入名称homes访问) writable = yes #是否可写 #valid users = %S #允许的用户 #valid users = MYDOMAIN\%S #允许的域用户
#自定义目录配置#
[sharing] comment = sharing path = /var/samba/shared #自定义目录 valid users = sute_jun,@GROUP #允许的用户,或组GROUP下的用户 write list = @GROUP,USER #在writable = no的情况下,只允许GROUP组下的用户可写 public = no #是否公开,如需创建公开共享,需设置成yes,并注释valid users。在[global]中配置security=share,在[sharing]中增加guest ok = yes browseable = yes #客户端sharing是否可见(不影响直接输入名称sharing访问) writable = yes #配置公开共享时,可选择性使用read only = yes或者writable = yes printable = no create mask = 0664 #默认创建文件的权限值 directory mask = 0755 #默认创建目录的权限值 force group = GROUP #设置默认创建的文件的属组 force user = USER #设置默认创建的文件的所有者 hosts allow = 127. 192.168.100. #允许连接的客户端范围
创建Samba用户密码
使用Samba共享时需为用户单独创建smb密码,而不是用户登陆密码
# smbpasswd -a sute_jun
配置共享目录权限
不给共享根目录过多权限,而在共享根目录下创建一个目录并给777权限
# mkdir -p /var/samba/shared/pub # chown root:root /var/samba/shared # chown -R sute_jun:sute_jun /var/samba/shared/pub # chmod 777 /var/samba/shared/pub
检测Samba配置是否正确
# testparm
配置防火墙和SELINUX
selinux没有配置的前提下,客户端将无法在共享目录中创建文件
# vim /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT -A INPUT -p udp -m udp --dport 137:138 -j ACCEPT # setsebool -P samba_domain_controller on # setsebool -P samba_enable_home_dirs on # chcon -t samba_share_t /var/samba/shared # setsebool -P samba_export_all_rw on
重启服务和防火墙
# service smb restart
# service iptables restart
Linux客户端连接Samba共享目录
# yum -y install samba-client #smbclient命令需安装samba-client包 # smbclient -L 192.168.100.110 -U sute_jun #查看服务器在sute_jun用户开放了哪些共享,不加-U参数只能查看部分共享 # smbclient //192.168.100.110/sharing -U sute_jun #登陆共享目录 # mount -t cifs //192.168.100.110/sharing /mnt -o username=sute_jun,password='111111' #挂载Samba共享目录
Windows客户端挂载Samba共享目录
C:\>net use Z: \\samba-server\sharing 111111 /user:sharing #密码111111,用户sharing C:\>net use Z: /del #删除挂载
参考
CentOS7下的Samba使用方法参考如下:
http://www.361way.com/rhce-samba-theory/4712.html
http://www.361way.com/samba-action/4714.html
https://www.server-world.info/en/note?os=CentOS_7&p=samba&f=2