1.samba服务器的安装与访问
服务器端:
第一步:安装samba软件
yum search samba
yum install samba-client.x86_64 samba-common.x86_64 samba.x86_64 -y
第二步:关闭火墙
systemctl stop firewalld
第三步:创建共享目录并修改安全上下文
mkdir /westos
semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos/
第四步:编辑samba的配置文件,并重启服务
vim /etc/samba/smb.conf
[LEE] //共享后看到的共享名称
path=/westos //服务器端的共享目录
systemctl restart smb.server
第五步:创建smb用户。linux系统安全性高,共享文件必须使用smb用户。
useradd westos //先建立用户
smbpasswd -a westos //建立smb用户,建立的必须时本地用户(系统中已经存在的)
pdbedit -L //列出smb用户
注:smb用户
pdbedit -x 用户名 | 删除smb用户 |
---|---|
pdbedit -L | 列出smb用户 |
客户端:
第一步:安装客户端软件
yum install samba-client -y
第二步:访问共享文件
- 方法一:列出服务器端的共享目录,并使用smb用户身份登陆
- 方法二:挂载到本地
2.samba共享目录的管理参数
[lee] | 共享名称 |
---|---|
comment = westos dir | LEE的共享说明 |
path = /westos | 共享目录 |
browseable = yes/no | 是否在list中显示 |
valid users = westos / +westos | 只共享给westos / westos组 |
writable = yes | 服务对登陆用户可写 |
write list =lee / @lee | lee用户 / lee组可写 |
admin users = student | student用户登陆时对共享目录为超级用户 |
guest ok = yes | 匿名用户可以登陆 |
(1)共享说明:
第二步:客户端查看
(2)是否在list中显示:
- browseable=no:不显示
第一步:服务器端编辑配置文件,并重启服务
第二步:客户端查看
- browseable=yes:显示
第一步:服务器端编辑配置文件,并重启服务
第二步:客户端查看
(3)共享给某个用户或用户组:
- 共享给westos用户
第一步:创建两个smb用户
第二步:修改配置文件,指定westos用户可以登陆
第三步:客户端测试
- 共享给westos用户组
第一步:修改配置文件,指定westos用户组可以共享文件
第二步:添加lee到westos组
第三步:客户端查看。刚才lee用户不能共享,加入westos组中就可以了
(4)登陆用户可写:
第一步:修改配置文件,使lee用户登陆可写
第二步:修改文件系统权限,使lee用户对/westos可写
第三步:客户端测试
(5)指定用户组可写:
第一步:修改配置文件,指定lee组对共享目录可写
第二步:添加westos到lee组
第三步:修改文件系统权限,使westos用户对/westos可写
第四步:客户端测试
(6)指定某个登陆用户对共享目录拥有超级用户的权限:
第一步:添加student用户的smb组。
此时student用户可以共享,但对共享目录不可写;服务允许student用户可写,但文件系统本身不允许
第二步:修改配置文件,使登陆用户可写,并使student用户登陆时拥有超级用户的权限。
第三步:客户端测试;虽然没有给student用户对/westos写的权限,但它登陆后便有超级用户的权限,对/westos可写。
(7)允许匿名用户登陆:
第一步:修改配置文件
第二步:客户端测试;匿名用户可以登陆,但不能挂载
第三步:继续修改配置文件,使匿名用户可以挂载
第四步:客户端测试,此时匿名便用户可以挂载
3.smb多用户挂载
smb用户挂载成功后,客户端的其他用户也能查看;为了使挂载的用户才能查看,即查看共享目录的所有用户必须单独挂载,这种方式成为smb多用户挂载
挂载成功后,客户端切换到其他用户时,还可以查看共享目录的内容
多用户挂载
第一步:客户端下载软件
yum install cifs-utils -y
第二步:编辑smb挂载用户身份的一个认证文件,之前挂载的时候用户是裸露在外面的,现在写在认证文件里面,并修改文件权限
vim /root/passfile
username=smb用户名
passowrd=smb用户密码
chmod 600 /root/passfile
第三步:挂载
mount //172.25.60.1/LEE /mnt -o credentials=/root/passfile,multiuser,sec=ntlmssp
第四步:切换到其他用户
cifscreds add -u westos 172.25.60.1 //添加
cifscreds clear -u westos 172.25.60.1 //删除
//添加时输错密码,再次添加就会失败,需要先清除再添加
4.永久挂载
编辑配置文件
测试: