文章目录
- cifs 协议 是 linux–>windows 之间的文件共享
- 服务端口:通常使用 TCP/445 进行所有连接;还使用UDP137、UDP138和TCP/139进行向后兼容
1.samba服务的配置
服务器端:
(1)yum install -y samba-client.x86_64 下载samba客户端
yum install -y samba-common.x86_64 下载samba的支持文件,创建samba用户时需要
yum install -y samba.x86_64 下载samba服务器的软件
(2)systemctl start smb 启动服务
netstat -antlupe | grep smb 查看samba服务端口
(3)firewall-cmd --permanent --add-service=samba 在火墙中添加samba服务
firewall-cmd --permanent --add-service=samba-client 在火墙中添加samba客户端服务
firewall-cmd --reoad 重加载

selinux 设置为enforcing 提高samba服务安全性
2.samba用户的管理
- 查看samba用户:
pdbedit -L - 用户的建立:
smbpasswd -a lin建立的smaba用户必须是已存在的本地用户 否则将建立失败 - 匿名用户列出smaba服务:
smbclient -L //172.25.254.101 - 指定用户列出smaba服务:
smbclient -L //172.25.254.101 -U lin


3.客户端查看分享的两种方式
- 方法一:samba客户端登录查看分享
yum install -y samba-client.x86_64下载samba客户端
smbclient //172.25.254.101/lin -U lin命令登录smaba客户端查看分享

- 上传分享:
上传只能上传访问时登录时当前路径的文件
!ls可以列出可上传的文件

- 方法二:单用户网络挂载查看分享
mount //172.25.254.101/lin /mnt -o username=lin,password=123验证挂载服务
cd /mnt到临时挂载目录下查看分享

4. samba服务重要参数的修改
4.1 修改服务使用域
rpm -qc samba-common 查看smb服务的配置文件
vim /etc/samba/smb.conf 编辑samba服务配置文件
89 workgroup=Lin ##修改服务域为Lin
systemctl restart smb 重启服务


4.2 主机黑白名单
-
黑名单:
vim /etc/samba/smb.conf编辑配置文件95 hosts deny =172.25.254.201 ##不允许201主机登录smaba,其他主机可以



-
白名单:
vim /etc/smaba/smb.conf修改配置文件95 hosts allow=172.25.254.201 ##只允许201主机登录,不允许其他主机登录



4.3 添加分享目录
- samba服务默认分享的是用户的家目录
4.3.1 自建目录的分享并让其可写
(1)vim /etc/smaba/smb.conf 编辑配置文件
[westos] ##分享smaba服务名称
comment=Share Directory ##服务属性:分享目录
path=/westos_smb ##分享目录路径为自建已存在目录
writeable=yes ##是否可写 yes可写
systemctl restart smb 重启smb服务

(2)因为加载了安全上下文,所以smbclient //172.25.254.101 -U lin 登录samba服务查看不到该分享目录下的文件
semanage fcontext -a -t samba_share_t '/thusday(/.*?)?' 修改该分享目录的安全上下文 加载到内核安全上下文中的设置
restorecon -RvvF /thusday 刷新安全上下文
再次登录samba服务可以看到分享的文件
在配置文件/etc/samba/smb.conf中可以查看samba服务的安全上下文

(3)对/thusday 分享目录设置登录用户的权限列表,使登录samba用户对该分享目录可写;且用谁登录 建立的文件就属于谁
setfacl -m u:lin:rwx /thusday
此时samba用户lin登录服务,可在该分享目录下删除或建立分享文件

4.3.2 系统级目录的分享
-
系统级目录的分享配置对/tmp /Public等公共开放目录不生效,在selinux的强制模式下不做任何设定也可以分享目录
-
分享方法一:修改系统级目录的安全上下文,该方法虽然可以实现访问系统级目录的效果,但是会影响其他服务对系统级目录的操作 不建议该方法,不适用于系统级目录的分享
-
分享方法二: 下降smb安全级别,打开开关
(1)getsebool -a | grep samba查看开关设置
setsebool -P export_all_ro-->on永久修改只读功能 使系统级目录不受安全上下文的影响
setsebool -P export_all_rw-->on读写功能

(2)vim /etc/smaba/smb.conf编辑samba服务配置文件[mnt]
comment=Share System Directory 分享服务属性:系统级目录分享
path=/mnt
writable=yes
systemctl restart smb重启服务

(3)setfacl -m u:lin:rwx /mnt 给/mnt目录设置权限列表

(4)smbclient //172.25.254.201 -U lin使用samba用户登录服务 可以查看分享


4.4 文件列出隐藏
(1)vim /etc/samba/smb.conf 编辑配置文件
browseable=no ##在想要列出隐藏的分享服务下添加隐藏参数
syustemctl restart smb 重启服务

(2)smbclient -L //172.25.254.101 -U lin 分享文件的列出 可以看到隐藏的分享目录没有被列出

4.5 可写白名单
-
实现前提:setfacl -b 关闭权限列表 writeable权限关闭 chmod o+w 给目录设置写权限

(1)vim /etc/samba/smb.conf编辑配置文件write list = lin ##设置只对lin这个用户可写
write list = @|+ lin ##设置只对lin这个组的用户可写
systemctl restart smb 重启服务

(2)smbclient //172.25.254.101 -U lin lin用户登录分享服务 可建立文件 ,其他用户登录不可建立





4.6 用户登录控制
vim /etc/samba/smb.conf 编辑配置文件
valid users = lin #只允许lin这个用户登录
valid users = +|@ lin #只允许lin这个组的用户登录
systemctl restart smb重启服务




4.7 匿名用户的访问 guest用户的映射
在未配置该参数前匿名用户不能登录访问

vim /etc/samba/smb.conf 编辑配置文件
map to guest bad user #设置除超户外的用户都映射为匿名用户
guest list yes #允许映射
systemctl restart smb 重启服务



4.8 超级用户名单
(1)vim /etc/samba/smb.conf 编辑配置文件
admin users = lin #设置lin用户为超户
systemctl restart smb 重启服务

(2)smbclient //172.25.254.101 -U lin 设置后lin 用户具有超户的权力 对分享目录可写,且建立文件所有者为超级用户root


5.samba 多用户认证挂载
- 优点:相比单用户挂载更安全,更便捷;使用不同samba用户登录时不用重新挂载,只用刷新记录。
配置:
-
在客户端
(1)yum install -y cifs-utils安装cifs软件
man mount.cifs可以查看如何配置参数
(2)vim /etc/smbpasswd编辑挂载认证文件 文件任意username=lin ##任意用户名称及密码通过认证即可
password=123

(3)mount //172.25.254.201/westos /mnt -o credentials=/etc/smapasswd,sec=ntlmssp,multiuser
credentials挂载需要认证的文件 sec=ntlmssp 表示服务采用ntlmssp这种认证方式 multiuser多用户挂载的模式 表示使用认证 -
挂载完成之后,root超级用户就可以直接查看分享了,但是student等普通用户没有权限访问,需要给student用户做一个认证,才能访问。
su - student切换到普通用户
cifscreds add -u lin 172.25.254.101使用samba用户lin登录

cifscreds clearall当切换其他用户登录时:需要清空登录缓存
cifscreds add -u westos 172.25.254.101再次重新登录 登录成功
umount /mnt卸载
如果不清空数据缓存会出现如下报错:


本文详细介绍Samba服务的配置与管理,包括服务安装、用户管理、客户端访问方式、重要参数修改等内容,涵盖目录分享、安全设置、匿名访问及多用户认证挂载等关键操作。

1183

被折叠的 条评论
为什么被折叠?



