服务器环境: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/ #设置所使用的网卡接口、地址
hosts allow = . 192.168.. #允许连接的客户端范围
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 = #默认创建文件的权限值
directory mask = #默认创建目录的权限值
force group = GROUP #设置默认创建的文件的属组
force user = USER #设置默认创建的文件的所有者
hosts allow = . 192.168.. #允许连接的客户端范围
创建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 /var/samba/shared/pub
检测Samba配置是否正确
# testparm
配置防火墙和SELINUX
selinux没有配置的前提下,客户端将无法在共享目录中创建文件
# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -p udp -m udp --dport : -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 /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