一、samba简介
samba是一款软件,主要提供cifs协议
二、samba的安装与启用
在服务端
yum install samba samba-common samba-client -y
systemctl start smb
systemctl stop firewalld
samba的基本配置信息
端口:139/tcp 139/udp 445/tcp 445/udp
主配置文件:/etc/samba/smb.conf
基本配置信息
workgroup = WESTOS 工作组的设定
server string = hello world 全局共享信息
hosts deny = 172.25.254.109 客户端黑名单
hosts allow = 172.25.254.209 客户端白名单
三、测试
在客户端测试
yum install samba-client -y
smbclient -L //172.25.254.109
Enter root's password:
没有设置密码直接回车
Anonymous login successful
匿名登录成功
Domain=[WESTOS域名] OS=[Unix] Server=[Samba 4.1.1服务版本]
Sharename(共享名字) Type(共享类型) Comment(全局说明)
--------- ---- -------
IPC$ IPC IPC Service (Hello World)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
四、本地用户的建立及访问
在服务端(samba必须是本地用户)
useradd westos
useradd lee
smbpasswd -a westos
smbpasswd -a lee
pdbedit -L
列出samba用户
pdbedit -x lee
删除samba用户
setsebool -P samba_enable_home_dirs on
打开selinux开关
测试
在客户端
smbclient -L //172.25.254.109 -U westos
Enter westos's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Hello World)
westos Disk Home Directories
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
进入服务端家目录
samba-client //172.25.254.109/westos -U westos
挂载服务端家目录
(使共享文件系统和本机文件系统环境一致,命令通用,在客户端mnt下创建的文件会同步到服务端/home/westos下)
mount //172.25.254.109/westos /mnt/ -o username=westos,password=123
永久挂载服务端家目录
vim /etc/fstab
//172.25.254.109/westos /mnt/ cifs defaults,username=westos,password=123 0 0
五、自定义共享目录
当目录是用户建立时
mkdir /sambardir
semanage fcontext -a -t samba_share_t '/sambardir(/.*)?'
restorecon -FvvR /sambardir/
vim /etc/samba/smb.conf
[DATA]
comment = hello world
path =/sambardir
当目录是系统目录时(不能修改安全上下文,将权限全部打开)
setsebool -P samba_export_all_ro on
[SYSTEMDATA]
comment = hello
path =/mnt
测试
smclient -L //172.25.254.109 -U westos
smclient //172.25.254.109/DATA -U westos
匿名用户登录权限开放
guest ok =yes
匿名用户可以登录
map to guest = bad user
匿名用户可以使用guest名称挂载
六、权限控制
用户可写
chmod 777 /sambadir
setsebool -P samba_export_all_rw on
writable =yes 开启写权力
write list =westos 写权力对westos用户开放
write list =+westos 写权力对westos组用户开放
admin users = westos 设定westos用户为当前共享的root
valid users = westos 设定当前共享的有效用户(是否能进去)
browseable = yes 当前共享是否隐藏
七、samba的多用户挂载
在客户端
yum install cifs-utils -y
vim /root/sambapasswd
username=westos
password=123
chmod 600 /root/sambapasswd
mount -o credentials=/root/sambapasswd,sec=ntlmssp,multiuser //172.25.254.109/DATA /mnt
credentials=/root/sambapasswd
挂载时的用户认证
sec=ntlmssp
支持其他用户认证
multiuser
其他用户认证方式
测试
ls /mnt
su - student
ls /mnt
ls: cannot access /mnt: Permission denied
在student用户下
cifscreds add -u ftf 172.25.254.109
ls /mnt
touch gop
可以看到建立gop所用到的用户身份为samba用户ftf