注:samba受selinux限制,所以有两种方法,一种是关闭SElinux,另一种是重新设置selinux上下文
yum install samba samba-client cifs-utils
#开启samba服务
systemctl start smb
systemctl enable smb
#samba用户口令管理
pdbedit -a user #添加用户
pdbedit -L
pdbedit -x user #删除用户
pdbedit -c "[D]" user #禁止用户登录
pdbedit -c "[]" user #允许用户登录
#设置selinux开启上下文权限
setsebool -P samba_enable_home_dirs on #开启家目录权限
net use * /delete
#清除windos缓存
#建立公共目录
vi /etc/samba/smb.conf
[punlic] 代表你分享文件夹的名称,这里概念上要区别于你真实路径的文件夹名称,他们不是一个,名称可以不同
例如这里设置[public],windos中打开会看到
是否要隐藏目录,如果隐藏了,即使有权限的人打开也不显示,虽然不显示,但他仍有权限去访问该文件夹,直接在地址栏输入绝对路径即可
例如:我将test文件夹设置
browseable = yes,当我访问共享页面将看不到test文件夹,但是我在地址栏输入\\192.168.1.204\test\ 是可以打开的
path = /aaa 要共享linux的路径
public = yes 现在共享的状态,yes开启,no关闭
writable = yes 是否可写
printable = no 是否共享打印机
write list = +staff权限设置,详见conf文件
查看所有已建立连接
smbstatus
如果开着selinux需要设置上下文,如果关了不用管
semanage fcontext -a -t public_content_rw_t "/home/test/"
重新刷新selinux上下文
restorecon -F -R -v /home/test/
setsebool -P smbd_anon_write 1
selinux帮助手册查看方法
1,下载selinux手册
yum install selinux-policy-devel
2,man selinux 查看selinux帮助
3,man samba_selinux 查看selinux关于samba的部分
关于权限可以使用chmod来限制读写等权限