以下所有操作都是在Red-hat 7.0上
1.Samba介绍
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
2.Samba作用
提供cifs协议实现共享文件
3.Samba安装
yum install samba samba-common samba-client -y
systemctl start smb nmb ##nmb服务是对smb做解析的,解释的。
systemctl enable smb nmb
4.添加smb用户
smb用户必须时本地用户
smbpasswd -a student
New SMB password: #输入smb当前用户密码
Retype new SMB password: #确认密码
pdbedit -L #查看smb用户信息
pdbedit -x smb用户 #删除smb用户
setsebool -P samba_ enable_home_dirs on ##在selinux中设定smb用户可以访问自己的家目录
5.共享目录的基本设定
vim /etc/samba/smb.conf
[haha] 共享名称(等于作为磁盘名字)
comment = 对共享目录的描述
path = 共享目录的绝对路径
workgroup = WESTOS
当共享目录为用户自建立目录时
semanage fcontext -a -t samba_share_t ‘目录名称(/.*)?’
restorecon -RvvF 目录名称
当共享目录为系统建立目录(在设定下面的selinux的时候,要用系统目录)
setsebool -P samba_export_all_ro on #只读共享
setsebool -P samba_export_all_rw on #读写共享、
5.samba的配置参数
匿名用户访问
guest ok = yes
map to guest = bad user
访问控制
hosts allow = #仅允许
hosts deny = #仅拒绝
valid users = #当前共享的有效用户
valid users = westos #当前共享的有效用户为westos
valid users = @westos #当前共享的有效用户为westos组
valid users = +westos #当前共享的有效用户为westos组
读写控制
所有用户均可写
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
设定指定用户可写
write list = student #可写用户
write list = +student #可写用户组
write list = @student
admin users = westos #共享的超级用户指定