文章目录
一、samba
windows 系统共享文件时用到的协议
windows下共享:
测试:
确保linux与windows间的ip能ping通
并下载所需安装包(dnf install samba-client)
1.samba 基本信息
服务启动脚本 | smb.service |
---|---|
主配置目录 | /etc/samba |
主配置文件 | /etc/smb.conf |
安全上下文 | samba_share_t |
端口 | 139/445 |
安装包 | samba / samba-common |
2.samba 的安装与启用
samba 的安装 | samba samba-common(服务端) samba-client(客户端) |
---|---|
samba 服务启动 | systemctl enable --now smb |
samba 服务启用 | firewall-cmd --permanent --add-service=samba |
firewall-cmd --reload |
3.samba 用户的建立
服务端:
1.samba 用户必须是本地存在的用户
2.samba 用户的建立
smbpasswd -a lee | 添加用户 |
---|---|
pdbedit -L | 查看用户列表 |
pdbedit -x lee | 删除用户 |
4.samba 服务共享目录
共享自建目录:
mkdir /sharedir
touch /sharedir/file{1..3}
cd /etc/samba
cp smb.conf.example smb.conf
semanage fcontext -a -t samba_share_t ‘/sharedir(/.*)?’
restorecon -RvvF /sharedir/
[SHAREDIR] | 共享名称 |
---|---|
comment = sharedir | 共享说明 |
path = /sharedir | 共享路径 |
systemctl restart smb
测试:
smbclient //172.25.5.1/sharedir -U 用户名
共享系统目录:
selinux开启时,系统目录尽量不要修改它的上下文,会对其他服务的访问产生影响。
所以我们修改selinux中samba服务的bool值
getsebool -a | grep samba
setsebool samba_export_all_ro on (对samba服务的文件不作设定)
此时就可以访问了!
5.autofs+samba
[在客户端实现自动挂载&卸载的软件]
dnf install autofs -y
配置方式:
vim /etc/auto.master
vim /etc/auto.cifs(与刚在master文件写的子策略文件名字对应)
vim /etc/autofs.conf
systemctl restart autofs
测试:
6.samba 用户访问家目录
linux下
当 selinux 开启时:
在服务端:setsebool -P samba_enable_home_dirs on
在客户端此时就可以访问lee用户,并看其家目录里的内容了
windows 下
\ \ 192.168.43.60访问
net use | 查看访问记录 |
---|---|
net use * /del | 删除访问记录 |
7.samba 的访问控制
全局:
hosts deny | 当写到【GLOBAL】时对 samba 整体生效
hosts deny 192.168.43. | 拒绝此网段
若还想加ip,空格 继续往后写
只针对单独共享:
hosts allow 192.168.43.105 | 当写到单独共享时只对此共享生效
8.samba 的常用配置参数
writable = yes | 可写 |
---|---|
write list = westos | 指定用户可写 |
write list = +westos/@westos | 指定组可写 |
valid users = lee | 指定访问用户 |
valid users = +lee/@lee | 指定访问组 |
browseable = yes | no |
map to guest = bad user | 写到全局设定中 |
guest ok = yes | 允许匿名用户访问 |
admin users = westos | 指定此共享的超级用户身份 |
-
writable = yes |可写
-
write list = westos|指定用户可写
-
write list = +westos/@westos |指定组可写
-
valid users = lee|指定可用共享的用户
-
valid users = +lee/@lee |指定可使用共享组
-
browseable = yes|no |是否隐藏共享
-
map to guest = bad user|写到全局设定中(所有匿名用户身份指向为guest)
guest ok = yes |(guest功能开启)允许匿名用户访问
-
admin users = westos |指定westos在共享时以超级用户身份使用
9.samba 的多用户挂载
在客户端如果用普通的挂载方式
没有用过用户验证的人也可以访问 samba 服务(不安全)
为了改善此种情况,我们通过一些特殊参数,使密码用户不被显露在外,并且其他用户在没通过samba用户认证时不能看已认证用户挂载的samba共享内容。
dnf install cifs-utils.x86_64 -y
临时挂载:
credentials=/root/smbpass | 指定认证文件 |
---|---|
sec=ntlmssp | 指定认证类型 |
multiuser | 支持多用户 |
cat /root/westosfile
username=westos
password=123
mount -o credentials=/root/westosfile,multiuser,sec=ntlmssp //192.168.43.60/westos /mnt | 挂载命令
autofs自动挂载:
子策略文件里内容:samba -fstype=cifs,credentials=/root/westosfile,multiuser,sec=ntlmssp 😕/192.168.43.60/WESTOS
二、NFS
[Net File System]
(Linux与Unix间共享)
1.nfs 基本信息
nfs-utils | 安装包 |
---|---|
nfs-server | 服务脚本 |
/etc/exports | 共享配置文件 |
2.nfs 的启用
systemctl start nfs-server
若开启了防火墙,需要加以下几个服务:
rpc-bind
、mountd
、nfs
、nfs3
再启用
3.nfs 配置
共享目录 共享给谁(共享参数)
/westos *(ro)
exportfs -rv 使生效
测试:
mount 192.168.43.60:/westos /mnt/
4.nfs 配置参数
anonuid=1000,anongid=1000 | 指定用户身份 |
---|---|
sync | 更改生成后同步数据到服务器 |
async | 实时同步数据到服务器 |
rw | 读写 |
ro | 只读 |
no_root_squash | root 用户挂载不转换身份(继续延用root身份) |
如果是普通用户,挂载时会以nfsnobody身份操作。
5.nfs+autofs
与samba下的自动挂载类似
编写/etc/auto.master
编写/etc/auto.nfs
systemctl restart autofs.service
测试:
三、iscsi
实现存储共享
1.iscsi的创建及使用
服务端:
1.fdisk /dev/vdb |生成一个/dev/vdb1的分区
2.dnf install targetcli -y |下载服务
3.targetcli | 进入一个运行环境
/backstores/block create lyx_storage /dev/vdb1 | 将磁盘分区/dev/vdb1变成网络磁盘
/iscsi create iqn.2020-12.com.lyx:strage1 | 创建一个iqn表达方式的链
/iscsi/iqn.2020-12.com.lyxs:strage1/tpg1/luns create /backstores/block/lyx_storage1 | 和网络磁盘联系起来
/iscsi/iqn.2020-12.com.lyx:strage1/tpg1/acls create iqn.2020-12.com.lyx:key1 | 创建key密码
客户端:
1.dnf install iscsi-initiator-utils.x86_64 -y | 安装所需软件
2.vim /etc/iscsi/initiatorname.iscsi | 编辑认证文件
3.systemctl restart iscsid | 重启服务
(iscsid 守护进程服务;iscsi 认证服务)
4.iscsiadm -m discovery -t st -p 192.168.43.60
5.iscsiadm -m node -T iqn.2020-12.com.lyx:strage -p 192.168.43.60 -l (-l 是登陆)
2.iscsi的永久挂载:
编写/etc/fstab文件
3.iscsi的删除:
客户端:
iscsiadm -m node -T iqn.2020-12.com.lyx:storage1 -p 192.168.43.60 -u (-u是撤销)
此时重启iscsi后,fdisk -l 又会出现共享的设备
还需
iscsiadm -m node -T iqn.2020-12.com.lyx:storage1 -p 192.168.43.60 -o delete (彻底删除)
服务端:
在targetcli运行环境里
clearconfig confirm=true
- GET