1.samba的作用
samba是一款软件,主要功能是提供cifs服务
2.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 allow = 172.25.254.223 ##客户端黑名单
hosts deny = 172.25.254.223 ##客户端白名单
3.测试
*)在客户端
yum install samba-client -y
smbclient -L //172.25.254.123
Enter root’s password: ##没有密码直接回车
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (hello world)
Anonymous login successful
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
4.本地用户的建立及访问
本地用户建立
*)在服务端
samba拥护必须是本地用户
useradd westos
useradd lee
smbpasswd -a westos
smbpasswd -a lee
pdbedit -L
pdbedit -x lee
setsebool -P samba_enable_home_dirs on ##开启允许访问家目录服务
测试
*)在客户端
samba-client -L //172.25.254.123 -U lee
Enter lee’s password:
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (hello world)
lee Disk Home Directories
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
测试命令
smbclient //172.25.254.123/lee -U lee
mount //172.25.254.123/lee /mnt/ -o username=lee,password=lee
vim /etc/fstab ##实现客户端永久挂载
//172.25.254.123/lee /mnt cifs defaults,username=lee,password=lee 0 0
5.自定义共享目录
*)当目录是用户建立时
mkdir /sambadir
semanage fcontext -a -t samba_share_t ‘/sambadir(/.*)?’
restorecon -FvvR /sambadir/
vim /etc/samba/smb.conf
321 [DATA]
322 comment = hello world
323 path = /sambadir
*)当目录是系统目录时
setsebool -P samba_export_all_ro on
测试
smbclient -L //172.25.254.123 -U lee
smbclient //172.25.254.123/DATA -U lee
*)匿名用户登陆权限开放
guest ok = yes ##匿名用户可以登陆
126 map to guest = bad user ##匿名用户可以使用guest名称挂载
6.权限控制
用户可写
chmod 777 /sambadir
setsebool -P samba_export_all_rw on
writable = yes | no ##是否开启写权力
write list = lee ##写权力对lee用户开放
write list = +|@lee ##写权力对lee组用户开放
admin users = westos ##设定westos用户为当前共享的root
valid users = lee ##设定当前共享的有效用户
browseable = yes|no ##当前共享是否显示
7.samba的多用户挂载
*)在客户端
yum install cifs-utils -y
vim /root/sambapasswd
username=lee
password=lee
chmod 600/root/sambapasswd
mount -o credentials=/root/sambapasswd,sec=ntlmssp,multiuser //172.25.254.123/DATA /mnt/
credentials=/root/smbpasswd ##挂载时的用户认证
sec=ultiuser ##支持其他用户认证
sec=ntlmssp ##其他用户的认证方式
测试
ls /mnt
su - student
ls /mnt
ls: reading directory :Permission denied
在student下
cifscreds add -u westos 172.25.254.123 ##添加即使错误也不警告
cifscreds update -u westos 172.25.254.123 ##添加错误了更新
ls /mnt
touch /mnt/file5
可以看到建立file5所用到的用户身份是samba用户westos