一、samba服务器的安装及访问调式
1.samba服务器的安装及访问调式
yum install samba-client samba-common samba -y 安装软件
2.打开samba服务
3.关闭防火墙并设为开机自启动
4.添加smb用户,smb用户必须是本地用户,如果没有本地用户则需要重新创建,把本地用户添加到smb中
5.pdbedit -x student 删除samba用户
pdbedit -L 查看samba用户
5.修改目录安全上下文
6.vim /etc/samba/smb.conf 编辑配置文件,添加共享目录
7.重启服务
【共享名称】
comment = 共享说明
path = 共享目录路径
测试:
smbclient -L //172.25.254.129 -U student
smbclient //172.25.254.129/student -U student
匿名用户也可以访问共享目录
总结:共享目录自建立目录时需要修改的selinux属性,此方式修改只针对修改目录
二、使samba进入家目录
1.新建用户westos,redhat,westos用户没有家目录
2.添加samba用户并查看samba用户
3.查看samba用户student是否能访问自己的家目录,发现无法查看
4.查看samba中相关家目录的设置是否开启,发现是关闭的
5.打开家目录开关
6.再次查看student用户能否访问自己的家目录,发现可以访问
三、samba共享目录’
1.删除原来的目录,新建一个目录
[root@dns-server ~]# rm -fr /westos/
[root@dns-server ~]# mkdir /westoslinux
2.编辑smb配置文件,添加共享目录信息,重启服务
[root@dns-server ~]# vim /etc/samba/smb.conf
[root@dns-server ~]# systemctl restart smb.service
3.查看smb里有那些用户
[root@dns-server ~]# pdbedit -L
4.smb本地用户登陆成功
[root@dns-server ~]# smbclient -L //172.25.254.129 -U student
5.smb本地用户访问自己建立的共享目录,显示失败
[root@dns-server ~]# smbclient //172.25.254.129/westos -U student
6.查看共享目录的安全上下文,修改共享目录的安全上下文
[root@dns-server ~]# ls -Zd /westoslinux/
[root@dns-server ~]# semanage fcontext -a -t samba_share_t '/westoslinux(/.*)?'
[root@dns-server ~]# restorecon -RvvF /westoslinux/
7.smb本地用户访问自己建立的共享目录成功
[root@dns-server ~]# smbclient //172.25.254.129/westos -U student
总结:共享系统建立目录时需要修改linux属性,此方式修改针对所有目录,一旦开放,selinux不保护目录访问
修改系统建立目录的安全上下文会临时解决smb的问题,但会对别的系统造成影响
setsebool -P samba_export_all_rw on打开, selinux会忽略安全上下文
(2)对系统已有目录查看
1.编辑smb配置文件,添加系统建立目录信息,重启服务
[root@dns-server ~]# vim /etc/samba/smb.conf
[root@dns-server ~]# systemctl restart smb.service
2.smb本地用户访问系统建立的共享目录,无法访问系统建立目录里的内容
[root@dns-server ~]# smbclient //172.25.254.129/mnt -U student
3.查看布尔值,将samba_export_all_ro 开启
[root@dns-server ~]# getsebool -a | grep samba
[root@dns-server ~]# setsebool samba_export_all_ro on
4.smb本地用户访问系统建立的共享目录,可以访问系统建立目录里的内容
[root@dns-server ~]# smbclient //172.25.254.129/mnt -U student
四、限定用户访问和拒绝列表
(1)修改Domain值
1.查看共享目录下的内容,Domian的值为MYGROUP
[root@dns-server ~]# smbclient -L //172.25.254.129 -U student
2.编辑samba配置文件,修改Domian的值为WESTOS
[root@dns-server ~]# vim /etc/samba/smb.conf
[root@dns-server ~]# systemctl restart smb.service
3.再次查看共享目录下的内容,Domian的值变为WESTOS
[root@dns-server ~]# smbclient -L //172.25.254.129 -U student
(2)限定客户端访问和拒绝的列表
1.挂载172.25.254.129/westos共享目录到/mnt下,df查看,挂载成功
2.设置永久挂载,卸载/mnt/,mount-a,共享文件成功挂载到/mnt/下
编辑内容如下:
<1>没有限定用户访问和拒绝的列表
1.在客户端将其临时挂载到/mnt/下,测试:挂载成功
<2>限定用户访问的列表(允许172.25.254.129访问,其他主机不可以访问)
1.编辑配置文件
文件配置内容如下:
2.重启服务
3.测试:在172.25.254.129主机上挂载成功
4.在172.25.254.229主机上挂载失败
<3>限定用户拒绝的列表(拒绝172.25.254.129访问,其他主机都可以访问)
1.编辑配置文件
配置文件内容如下:
2.重启服务
3.测试:在172.25.254.129主机上挂载失败
4.在172.25.254.229主机上挂载成功
<4>限定用户拒绝的列表(拒绝172.25.254.这个网段的主机访问,其他网段主机可以访问)
1.编辑配置文件
配置文件内容如下:
2.重启服务
3.测试:在172.25.254.129主机上挂载失败
4.在172.25.254.229主机上挂载失败
五、匿名用户访问
1.编辑samba的配置文件
编辑内容如下:
2.重启服务
3.在客户端将共享目录临时挂载,共享目录成功挂载到/mnt/下
六、samba的管理参数
(1)可以在共享目录下建立文件
1.编辑samba的配置文件
配置内容如下:
2.重启服务
3.在/mnt/下建立文件,会提示没有权限
4.修改共享目录权限为777,将共享目录进行挂载,在/mnt/下新建一个目录,建立成功
(2)指定用户登录时的可写
1.编辑samba配置文件
配置内容如下:
2.重启服务
3.用户为student将共享目录临时挂载在/mnt/下,在/mnt/下新建文件,显示没有权限
4.通过用户westos将共享目录挂载在/mnt/下,在/mnt/下新建文件成功
5.编辑samba的配置文件
编辑内容如下:
6.重启服务
7.查看student,westos用户id
8.修改student用户组为westos,并查看
9.使用用户student将共享目录挂在到/mnt/下,在/mnt/下新建文件成功,说明当属于westos组时就可写
(3)指定用户的用户和用户组
1.编辑配置samba的配置文件
配置文件内容如下:
2.重启服务
3.使用用户student将共享目录挂在到/mnt/下,挂载失败
4.使用用户westos将共享目录挂在到/mnt/下,挂载成功
5.编辑samba配置文件
配置文件内容如下:
6.重启服务
7.查看student用户组为westos
8.使用用户student将共享目录挂在到/mnt/下,挂载成功
(4)指定该共享目录是否可被浏览
1.编辑samba配置文件
配置文件内容如下:
2.重启服务
3.以用户westos的身份查看共享目录,查看不到
4.编辑samba 配置文件
编辑内容如下:
5.重启服务
6.以用户westos的身份查看共享目录,可以查看到共享目录
(5)指定在共享目录下为root用户
1.修改共享目录权限
2.编辑配置文件
配置内容如下:
3.重启服务
4.用student用户挂载共享目录到/mnt/下,新建文件报错
5.卸载/mnt/,用westos用户挂载共享目录到/mnt/下,新建文件file4并查看其权限
七、samba的多用户挂载
1.在客户端安装多用户挂载软件
2.编写smb用户的认证文件
3.给文件设置权限
4.多用户挂载
credentials=/root/smbpass 为指定挂载时用到的用户文件,即用户名和密码
sec=ntlmssp 表示认证方式为标准smb认证方式(加密方式为ntlmssp)
multiuser 采用多用户挂载
5.修改/westoslinux/目录权限为777
6.在/mnt/下新建文件,可以看到文件的所有人和所有组是服务端smb用户westos的所有人和所有组
7.切换到本地用户student,则不能查看/mnt/目录下文件
8.新建用户test,切换到新建用户test,也不能查看/mnt/目录下文件
9.添加smb用户认证
10.用test用户新建文件,可以看到文件的所有人和所有组是服务端smb用户westos的所有人和所有组
注意:如果在添加用户认证时密码输入错误
此时重新添加不成功
需要先清除刚刚的认证,重新添加认证