1、samba安装与使用 dnf install samba samba-common samba-client -y systemctl enable --now smb firewall-cmd --permanent --add-service=samba firewall-cmd --reload?
测试: smbclient ?-L //172.25.254.150?? ?##当要输入root密码时请直接回车
2、samba用户管理 smbpasswd -a westos?? ?##添加用户,必须为系统中存在的用户 pdbedit -L?? ??? ?##查看用户列表 pdbedit -x westos ? ? ? ##删除用户
3、samba服务共享目录
cp smb.conf.example smb.conf -p ? ? ##复制配置文件的模板
指定用户登陆时,是访问不了家目录的,是selinux安全上下文的缘故。 setsebool -P samba_enable_home_dirs on ? ?##selinux将不会对samba服务访问家目录进行限制
mkdir /share ? ? ##自建想要共享的目录 vim /etc/samba/smb.conf ? ? ? ? ?##根据模板写共享目录参数 ? ? ? ? [share] ? ? ? ? comment = share_ ? ? ? ? path = /share systemctl restart smb.service emanage fcontext -a -t samba_share_t '/share(/.*)?' ? ##修改安全上下文是samba可以访问 restorecon -RvvF /share/ ? ?##立即生效
vim /etc/samba/smb.conf ? ? ##共享系统级目录。如果修改安全上下文会导致其他服务无法访问,所以修改相关sebool值即可 ? ? ? ? [mnt] ? ? ? ? comment = mnt_ ? ? ? ? path = /mnt systemctl restart smb.service setsebool -P samba_export_all_ro on ? ?##selinux将不再对samba服务访问文件的安全上下文进行限制 setsebool -P samba_export_all_rw on ? ?##selinux将不再对samba服务编写文件的安全上下文进行限制 getsebool -a | grep samba
4、samba的读写控制
全局黑白名单 vim /etc/samba/smb.conf ; ? ? ? interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 ; ? ? ? hosts allow = 127. 192.168.12. 192.168.13. ? ? ? ? hosts allow = 172.25.254.250 ? ? ##全局白名单 ? ? ? ? hosts deny ?= 172.25.254.150 ? ? ##全局黑名单 systemctl restart smb.service
指定共享目录参数 vim /etc/samba/smb.conf ? ? ? ? [share] ? ? ? ? comment = share_ ? ? ? ? path = /share ? ? ? ? hosts allow =172.25.254.250 ? ? ? ? browseable = no ? ? ? ? ##是否-L时显示此目录 ? ? ? ? valid user = westos ? ? ##此目录只能westos用户访问 ; ? ? ? ?valid user = @westos ? ##此目录只能属于westos组的用户访问 ? ? ? ? writable = yes ? ? ? ? ?##此目录允许读写 ; ? ? ? ?write list = +westos ? ##此目录允许属于westos组的用户读写 systemctl restart smb.service
匿名用户 vim /etc/samba/smb.conf ? ? ? ? map to guest = bad user ? ##映射匿名身份为guest账号
? ? ? ? [share] ? ? ? ? comment = share_ ? ? ? ? path = /share ; ? ? ? ?hosts allow =172.25.254.250 ; ? ? ? ?browseable = no ; ? ? ? ?valid user = westos ; ? ? ? ?valid user = @westos ; ? ? ? ?writable = yes ; ? ? ? ?write list = +yao ? ? ?##此共享允许guest访问 ? ? ? ?guest ok = yes ? ?? systemctl restart smb.service
客户端: mount //172.25.254.150/share /mnt -o username=westos,password=westos ? ##使用westos登陆共享目录 mount //172.25.254.150/share /mnt -o username=guest ? ##guest登陆
5、autofs+samba 实现自动挂载
客户端中: dnf install autofs ? ? ? ? ? ? ?##安装autofs mkdir /westos ? ? ? ? ? ?? vim /etc/auto.master ? ? ? ? ? ?##编写策略文件 ? ? ----8 /westos /etc/auto.share ?##最终挂载的上层目录 ? 子策略文件,名字任意 vim /etc/auto.share ? ? ? ?##编写子策略文件 ---samba ? ? -fstype=cifs,username=yao.password=yao ? ?://172.25.254.150/share ##最终挂载点的相对路径 ?挂载参数 ?ip及资源 vim /etc/autofs.conf ---15 timeout = 3 ? ? ? ?##挂载资源3秒没有程序使用则自动卸载 默认300秒 systemctl restart autofs.service
测试: [root@westoslinux ~]# cd /westos [root@westoslinux westos]# ls [root@westoslinux westos]# cd samba [root@westoslinux samba]# df Filesystem ? ? ? ? ? ? 1K-blocks ? ?Used Available Use% Mounted on devtmpfs ? ? ? ? ? ? ? ? ?403532 ? ? ? 0 ? ?403532 ? 0% /dev tmpfs ? ? ? ? ? ? ? ? ? ? 419132 ? ? ? 0 ? ?419132 ? 0% /dev/shm tmpfs ? ? ? ? ? ? ? ? ? ? 419132 ? ?6060 ? ?413072 ? 2% /run tmpfs ? ? ? ? ? ? ? ? ? ? 419132 ? ? ? 0 ? ?419132 ? 0% /sys/fs/cgroup /dev/vda3 ? ? ? ? ? ? ? 17814528 3342308 ?14472220 ?19% / /dev/vda1 ? ? ? ? ? ? ? ?1038336 ?173172 ? ?865164 ?17% /boot tmpfs ? ? ? ? ? ? ? ? ? ? ?83824 ? ? ? 4 ? ? 83820 ? 1% /run/user/0 //172.25.254.150/share ?17814528 3397952 ?14416576 ?20% /westos/samba [root@westoslinux samba]# cd [root@westoslinux ~]# df Filesystem ? ? 1K-blocks ? ?Used Available Use% Mounted on devtmpfs ? ? ? ? ?403532 ? ? ? 0 ? ?403532 ? 0% /dev tmpfs ? ? ? ? ? ? 419132 ? ? ? 0 ? ?419132 ? 0% /dev/shm tmpfs ? ? ? ? ? ? 419132 ? ?6060 ? ?413072 ? 2% /run tmpfs ? ? ? ? ? ? 419132 ? ? ? 0 ? ?419132 ? 0% /sys/fs/cgroup /dev/vda3 ? ? ? 17814528 3342308 ?14472220 ?19% / /dev/vda1 ? ? ? ?1038336 ?173172 ? ?865164 ?17% /boot tmpfs ? ? ? ? ? ? ?83824 ? ? ? 4 ? ? 83820 ? 1% /run/user/0
6、samba的多用户挂载 dnf install cifs-utils -y ? ? ?##安装多用户认证安全插件 vim /root/smbpasswd ? ? ? ? ? ?##编写密码文件 ---username=yao ---password=yao chmod 600 /root/smbpasswd ?? mount -o credentials=/root/smbpasswd,multiuser,sec=ntlmssp //172.25.254.150/share ?/mnt/ ? ? ##挂载 #credentials=/root/smbpasswd?? ?指定认证文件 #sec=ntlmssp?? ??? ??? ?指定认证类型 #multiuser?? ??? ??? ?支持多用户
su - westos ls /mnt ? ? ? ##没有安全认证,访问不了 cifscreds add -u westos 172.25.254.150 ? ?##添加认证 cifscreds clearall ? ? ? ? ?##清空密码
7、nfs(Net File System)
nfs启用: 服务器 systemctl enable --now nfs-server.service firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=nfs firewall-cmd --reload ? ? ? ?##nfs的运行机制较为不同,需要三个服务 客户端 showmount -e 172.25.254.150 ? ?##列出nfs服务器的共享资源
nfs配置: 服务器 vim /etc/exports /sharedir ? ?*(ro,sync) 172.25.254.250(rw,sync,anonuid=1000,anongid=1000) ? ? ? ? ? ? ? ? ? ? ##nonuid=1000,anongid=1000?? ?指定用户身份 ? ? ? ? ? ? ? ? ? ? ##sync?? ??? ? ? ? ? ?更改生成后同步数据到服务器 ? ? ? ? ? ? ? ? ? ? ##async?? ??? ? ? ? ? ?时时同步数据到服务器 ? ? ? ? ? ? ? ? ? ? ##rw?? ??? ? ? ? ? ?读写 ? ? ? ? ? ? ? ? ? ? ##ro?? ??? ??? ?只读 ? ? ? ? ? ? ? ? ? ? ##no_root_squash?? ??? ?客户端root用户挂载后沿用root身份到服务器中 exportfs -rv ? ? ##使更改生效 客户端查看效果 mount 172.25.254.150:/sharedir ?/mnt/ ?##其他主机挂载后只能读;250可读写,没有任何参数时默认身份为nobody
nfs+autofs: 客户端 vim /etc/auto.master ---/westosdir /etc/auto.nfs ? ? ? ?##最终挂载点的上一级目录 ? ?子挂载策略 vim /etc/auto.nfs ---nfs ? -rw ?172.25.254.150:/sharedir ? ? ##最终挂载的相对路径 ?挂载参数 ?挂载资源 systemctl restart autofs.service
8、关于设备共享
建立共享:
服务器 dnf install targetcli ? ? ? ? ? ? ? ##安装共享策略管理软件 systemctl enable --now target ? ? ?? targetcli ? ? ? ? ? ? ? ? ? ? ? ? ? ##编写共享策略 ls ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##蓝色为目录,紫色为目录中的命令 /backstores/block create westos_share1 /dev/vdb1 ?##设立软件中设备的别名 /iscsi create iqn.2020-08.com.westos:share1 ? ##设立对外共享的名称 /iscsi/iqn.2020-08.com.westos:share1/tpg1/luns create /backstores/block/westos_share1 ? ?##对外共享名称与设备关联 /iscsi/iqn.2020-08.com.westos:share1/tpg1/acls create iqn.2020-08.com.westos:key1 ? ?##设定访问key exit firewall-cmd --permanent --add-port=3260/tcp ? ##开放端口 firewall-cmd --reload
客户端 dnf install iscsi-initiator-utils.x86_64 iscsiadm -m discovery -t st -p 172.25.254.150 ? ?##查询共享信息 vim /etc/iscsi/initiatorname.iscsi ---InitiatorName=iqn.2020-08.com.westos:key1 ? ? ##指定共享key systemctl restart iscsid ? ? ? ?##重启控制配置的服务 iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -l##-l登陆共享设备 fdisk -l 若想让该设备永久挂载编写/etc/fstab时,因为是通过网络访问,所以需要设定defaults,_netdev。使连接好网络后再挂载。
客户端取消登陆 服务器删除共享资源:
客户端 iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -u ? ##退出登陆,但数据依旧存在,重启iscsi服务会重新出现 iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -o delete ?##-u后执行此命令,删除数据即可永久退出
服务器 targetcli clearconfig confirm=True ? ##清除共享数据
|