samba服务
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
samba服务器配置
yum install smb smb-client smb-common -y 安装软件
systemctl start smb 开启服务
smbclient -L //172.25.254.159 查看172.25.254.159主机的smb共享,匿名用户登陆
smbpassswd -a username 创建smb用户,要创建的smb用户必须是系统用户
pdbedit -x smb1 删除smb共享帐号
pdbedit -L 查看有哪些smb帐号
smbclient -L //172.25.254.159 -U student 使用smb用户查看主机共享列表
smbclient //172.25.254.159/student -U student 使用student用户登陆其家目录
ls:查看当前目录下的文件及目录
!ls:当前用户在系统中所处路径下存在的文件及目录
put:只能上传相对路径下的文件
ls:查看当前目录下的文件及目录
!ls:当前用户在系统中所处路径下存在的文件及目录
put:只能上传相对路径下的文件
临时挂载此文件系统
永久挂载此文件系统
挂载后上传及创建文件比起使用smbclient命令更方便
访问策略
vim /etc/smab/smb.conf 设置允许172.25.254.59主机访问
设置拒绝172.25.254.59主机访问smb服务器
注意:应关闭防火墙并设置selinux=disabled
在enforcing状态下,共享文件
1)配置实验环境为enforcing
在enforcing状态下,查看不了目录
设置:setsebool -P samba_create_home_dirs on
setsebool -P samba_enable_home_dirs on
vim /etc/smb/smb.conf
创建公共访问目录/westos(使用smbclient命令进入此目录时,需使用linux而不是westos)
重启服务后发现公共目录出现linux,但用户却无法访问
方法一:setenforcing 0
方法二:改变/westos的安全上下文
共享系统级目录
重启服务后,使用student用户登陆/mnt目录时,查看不到共享的文件file1,file2,file3
设置 setsebool -P samba_export_all_ro on 权限比给单独文件设置安全上下文大
创建/westos目录,默认是不能被访问的,但由于设置 setsebool -P samba_export_all_ro on,所以其也可以被访问
对于共享目录的设定
valid users= westos 设置有效用户为westos
valid users= @westos 用户在westos组中都为有效用户
writeable = yes 允许用户可写
writelist = student 设置可写的用户名单
guest ok = yes ##匿名用户可以访问
map to guest = bad user ##没有用户身份的就是匿名用户,对匿名用户的定义
browseable = no 用户在查询目录时隐藏linux目录
admin users = westos 设置westos为超级用户
多用户挂载
客户端
yum install cifs-utils -y 安装cifs-utils软件包以支持smb的挂载
mount //172.25.254.86/smbshare /mnt -o username=rob,password='westos'
切换到student用户,也可查看挂载点下的内容
设置多用户挂载
1)vim /root/smbauth
chmod 600 /root/smbauth
2.让root用户以rob用户身份进行挂载
credentials=/root/smb.cred 用于指定包含挂载用户信息文件,此用户一般是samba服务器里对共享目录具有较低权限的用户,文件包含username,password
multiuser 关键选项,用于指定使用多用户挂载
sec=ntlmssp 指定认证方式(kernel3.8之后是默认选项)
3)student用户再次在挂载点下无法查看
4)使用cifscreds命令,让student用户把指定的samba用户名和密码加入到内核密钥环中,此时student用户可以对挂载点进行操作
永久挂载
nfs
NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。
服务器端:
systemctl start nfs vim /etc/exports NFS文件系统的共享目录和对于用户的权限是在/etc/exports文件中来设定的
exportfs -rv 刷新共享服务
客户端:
临时挂载
永久挂载
autofs:自动挂载器
是根据需要自动挂载,默认5分钟不使用自动卸载挂载点
yum install autofs -y
systemctl start autofs
cd /net/172.25.66.66/westos 共享文件的默认挂载路径
改变挂载点
vim /etc/auto.nfs 文件默认不存在,需要自己创建
vim /etc/auto.master 主配置文件
改变自动卸载的时间
vim /etc/sysconfig/autofs
systemctl restart autofs 离开挂载点5S后,使用df命令查看挂载点,发现172.25.254.86:/westos以自动卸载
3.共享权限的设置
在客户端能够挂载,但是不能新建文件和删除文件
需要在服务端进行设置
vim /etc/exports
exportfs -rv
客户端:
服务器端:
设置对所有人可读可写,并且指定建立的文件的所有人,默认创建文件的所有人和所有组都为nfsnobody
客户端:
服务器端:
设置对所有人可读可写,并且指定建立的文件的所有人和所有组
客户端:
服务器端:
设置客户端在建立文件时不转变用户
客户端: