###cifs文件系统##
适用于客户,用于windows和linux之间的文件共享。
用internet文件系统(cifs)也称为 common internet file system
1.想要使用共享,就要下载samba
yum install samba samba-client
samba-common -y
systemctl start smb
systemctl stop firewalld
smbclient -L //172.25.254.110 ##匿名用户显示共享的内容
##匿名用户没有密码直接回车
pdbedit -L ##显示smd用户
smbpasswd -a student ##需要输入密码,必须是本地存在的用户,不存在的用户会添加失败
pdbedit -L ##查看smb用户是否建立成功
pdbedit -X studnet ##删除smb用户
2.访问(selinux关闭时前提)
需要本地主机解析 vim /etc/hosts
172.25.254.110 student.example.com
在windows里面想要访问:在搜索中输入172.25.254.100
输入存在用户密码和姓名
就可以访问家目录了
在linux中:
smbclient //172.25.254.110/student -U
student
输入密码
ls ##显示服务器信息
!ls ##显示student家目录的信息
smb:> put /etc/passwd ##只能上传当前目录的文件,不能识别绝对路径
被拒绝了
mount //172.25.254.110/studnet /mnt/
-o username=student,password=student(文件系统就可以挂载) ##暂时挂载
永久挂载:
vim /etc/fstab
mount //172.25.254.110/studnet /mnt/
-o username=student,password=student
mount -a ##更新挂载信息
cd /mnt
touch file{1..3} ##这样就可以建立文件
vim /etc/samba/smb.conf
hosts allow = 172.25.254.110 ##白名单
hosts deny = 172.25.254.10 ##黑名单
systemctl restart smb
3.共享文件(先开启selinux,改为enforcing)
rpm -qc samba-common
/etc/samba/smb.conf ##samba的配置文件
(1)共享自己建立的目录及文件
建立自己的目录
mkdir /westos
cd /westos
touch file{1..3}
vim /etc/samba/smb.conf ##开启 westos 共享
[westos]
comment = dir from /wesots
path = /westos
systemctl restart smb
当selinux为disabled,就可以查看
semanage fcontext -a -t samda_share_t
'/westos(/.*)?' ##修改安全上下文
restorecon -RvvF /westos/
smbclient //172.25.254.110/westos -U
student
!ls
##查看不了
setenforce 0
getenforce --> permissive
smbclient //172.25.254.110/westos -U
student
ls
##可以查看,所以说就是selinux的问题
setenforce 1
setsebool -P use_samba_home_dirs
on
ls
##这样也就可以看了,在强制情况下
(2)共享系统目录及其文件
注意:有些安全上下文不能更改,比如系统文件,更改之后就只能smb读取
vim /etc/samba/smb.conf ##开启 westos 共享
[mnt]
comment = dir from /mnt
path = /mnt
systemctl restart smb
setsebool -P export_all_ro(rw) on ##这个开启后,安全上下文就不会被对比,直接可以查看,这个要打开,要不下面挂载到/mnt下后,touch不了文件
4.指定用户查看共享目录
vim /etc/samba/smb.conf ##开启 westos 共享
[westos]
comment = dir from /wesots
path = /westos
valid users = westos ##指定westos能够查看共享(挂载)
valid users = @(+)westos ##属于westos组的可以查看共享(挂载)
writable = yes ##是否可写
write list = westos ##指定用户可写
guest ok = yes ##匿名用户可以查看共享
(map to guest
= bad user)
browseable = no ##是否能够显示 -L的时候看不见可用,但是可以用
admin users = westos ##westos用户在执行的时候是超级用户身份
systemctl restart smb
5.多用户挂载
如果root用户挂载以后,切换到kiosk用户,kiosk用户进入到mnt下,也可以查看
为了防止这样(超级用户挂载以后退出,没有卸载,普通用户也能查看)
yum install cifs-utils -y ##如果以及nothing to do的话,那search一下,然后reinstall一下
vim /root/smbauth
username=studnet
password=student
chmod 777 /westos
mount //172.25.254.110/westos /mnt
multiuser,credentials=/root/smbauth,sec=ntlmssp
测试:
切换到root用户:
mount //172.25.254.110/westos /mnt
multiuser,credentials=/root/smbauth,sec=ntlmssp
touch file ##root用户是用student用户挂载的,touch的文件所有组和所有人显示的是kiosk用户,是因为真机的kiosk用户和虚拟机里smb的student用户的id是一样的。
su - kiosk
cd /mnt/
ls
##查看不了
cifscreds add -u westos
172.25.254.110 ##用存在用户身份登陆
touch file ##kiosk用户是用westos用户挂载的,touch的文件所有组和所有人显示的是student用户,是因为真机的student用户和虚拟机里smb的westos用户的id是一样的。
注意:遇见了一个问题touch不了文件
解决方法:(1)查看sebool是否export_all_ro(rw)是on
(2)查看/westos目录的权限要改为777
(3)查看配置文件里面的writable是否为yes
6.nfs (linux对linux共享文件用 nfs)
yum install nfs-utils -y
yum list nfs-utils
yum reinstall nfs-utils -y
showmount -e 172.25.254.110 ##显示没有共享项目
systemctl start nfs
showmount -e 172.25.254.110
Export list for 172.25.254.110: ##刷新一下会自动出来
vim /etc/exports
/westos *(sync)
exportfs -rv ##这个不能重启服务
showmount -e 172.25.254.110
Export list for 172.25.254.110:
/westos *
测试:
su - root
mount 172.25.254.110:/westos
/mnt/ ##临时挂载
df
vim /etc/fstab
172.25.254.100:/westos /mnt nfs
defaults 0 0
mount -a
df
6.自动挂载和卸载
nfs可以用时自动挂载,不用时自动卸载,防止资源浪费
yum install autofs.x86_64 -y
ls -ld /net ##没有这个文件
systemctl start autofs
ls -ld /net ##文件就存在
更改更新时间 vim
/etc/sysconfig/autofs
TIMEOUT=5 ##更新时间为5s
systemctl restart autofs
cd /net
cd 172.25.254.110
ls ##有一个westos文件
cd westos/
ls ##有四个file文件
df ##自动挂载到/net/172.25.254.110/westos
cd
df ##等待足够设定时间,自动卸载设备
7.更改默认挂载点
vim /etc/auto.master ##配置文件
/opt/nfs /etc/auto.nfs ##上级目录+最终挂载点的设定文件,需要自己建立
vim /etc/auto.nfs
westos -ro 172.25.254.110:/westos
systemctl start autofs
cd /opt/nfs/westos ##nfs目录是自动生成的,在自动挂载时自动生成,自动卸载后消失
df ##自动挂载
vim /etc/auto.nfs
westos -rw,vers=3 (版本改为3,有2,3,4三个版本) 172.25.254.110:/westos
systemctl start autofs
8.对权限的更改
(1)设备挂载上后,查看的用户删除或添加不了文件,显示的是文件是只读的
vim /etc/experts
/westos *(rw,sync)
exportfs -rv
(2)建立文件的时候,用户默认是nfsnobody,可以指定用户或用户组
vim /etc/experts
/westos *(rw,sync,anonuid=1000)
exportfs -rv
(3)建立文件的时候,用户或用户组不更改,仍为root
vim /etc/experts
/westos *(rw,sync,no_root_sqush)
exportfs -rv
(4)设定某一用户的特殊权限
vim /etc/experts
/westos *(sync)
172.25.254.10(rw,sync,no_root_sqush)
exportfs -rv