1.samba服务简介
作用:共享文件
smb=Server Message Block Sum
cifs=Common Internet System Linux
2.samba基本信息
服务启动脚本:
smb.service
主配置目录:
/etc/smb
主配置文件:
/etc/smb.conf
安全上下文:
samba_share_t
端口:
139 445
安装包:
samba
samba-common
test:
dnf search samba
dnf install samba.x86_64 samba-common.noarch samba-client -y ##安装
3.samba的安装与启用
- samba的安装 dnf install samba.x86_64 samba-common.noarch samba-client -y
- samba服务启动 systemctl enable --now smb samba服务启用
- firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
添加samba用户
- smbpasswd -a lee
- 必须在selinux 开启状态下运行
必须为本地用户才可作为sanba用户出现
- 添加用户 smbpasswd -a westos
- 查看用户 pdbedit -L
- 删除用户 pdbedit -x westos
- test:
getenforce
vim /etc/selinux/config
reboot
smbclient -L //172.25.254.212 -U westos
smbpasswd -a westos ##添加westos用户
smbclient //172.25.254.212/WESTOS -U westos
pdbedit -x lee
pdbedit -L
4.samba用户访问家目录
- 当seliunx开启时:
setsebool -P samba_enable_home_dirs on
在windows下
- 在linux下
smbclient //172.25.254.212/westos -U westos ##访问家目录 - test:
setsebool -P samba_enable_home_dirs on
getsebool -a | grep samba ##查看samba相关端口
smbclient //172.25.254.212/westos -U westos
smbclient -L //172.25.254.212 -U westos
smbclient //172.25.254.212/westos -U westos ##访问家目录
5.samba服务共享目录
mkdir /westos
cd /westos/
touch westosfire{1..10}
semanage fcontext -a -t samba_share_t '/westos(/.*)?' ##安全上下文修改
restorecon -RvvF /westos
vim /etc/samba/smb.conf
[WESTOS] ##共享名称
comment = local dir westos ##共享说明
path = /westos ##共享路径
- test:
mkdir /westos
cd /westos/
touch westosfire{1…10}
cd /etc/samba
mv smb.conf smb.conf.bak
mv smb.conf.example smb.conf
vim smb.conf
[WESTOS]
comment = local dir westos
path = /westos
[MNT]
comment = /mnt dir
path = /mnt
smbclient -L //172.25.254.212 -U westos
semanage fcontext -a -t samba_share_t ‘/westos(/.*)?’
restorecon -RvvF /westos
smbclient -L //172.25.254.212 -U westos
6.samba的访问控制
- hosts allow 172.25.254.212 172.25.254. ##当写到单独共享时只对此共享生效
hosts deny ###当写到CLOABL时对samba整体生效 - test:
vim smb.conf ##编辑主配置文件
hosts deny 172.25.254.212 ##拒绝172.25.254.212访问
hosts allow 172.25.254.212 ##允许172.25.254.212
systemctl restart smb.service
7.samba 的可写常用参数
-
writeable = yes ##允许读写
write list = lee ##允许lee用户访问
valid users = +lee ##指定访问用户组
valid users = lee ##指定访问用户
write list = +/@lee ##允许lee组用户访问
browseable = yes | no ##是否隐藏共享
map to guest =bad user ##写到全局共享中
guest ok = yes ##允许匿名用户访问 -
test:
chmod 777 /westos ##/westos文件满权限,允许任意用户读写
vim smb.conf ##编辑主配置文件writeable = yes ##允许读写
write list = lee ##允许lee用户访问
write list = +lee ##允许lee组用户访问
browseable = yes ##允许目录被查看
map to guest =bad user ##允许以guest身份访问,必须在全局添加
guest ok = yes ##指定文件允许以guest账户身份访问
systemctl restart smb.service ##每次修改配置文件后加载服务
8.samba的多用户挂载
- smbpasswd -a westos ##修改密码(确保密码正确)
smbpasswd -a lee ##修改密码
客户端:
- smbclient -L //172.25.254.212/westos##登陆,检测密码是否可以登陆
mount -o username=westos,password=lee //172.25.254.212/WESTOS /mnt ##挂载,但不可写
服务端:
- 编辑注配置文件:
writeable = yes ##允许写
ls -ld /westos :##挂载目录所有人可写
客户端:
- mount -o username=westos,password=lee //172.25.254.212/WESTOS /mnt
##测试
chmod 777 /media ##使挂载点目录所有人可写
非samba认证用户可看到挂载点文件(问题出现在客户端)
- [westos@westos_student12 Desktop]$ ls /mnt
客户端安装samba认正的安全插件:
-
dnf install cifs-utils -y ##安装软件
编写认证文件:vim /root/smb_auth
username=westos
password=lee
##文件只允许所有人查看
mount //172.25.254.212/WESTOS /mnt -o credential=/root/smb_auth ##挂载时通过读取认证文件认正,指定认正文件 -
mulitiuser ##使挂载支持多用户挂载
test:
mount //172.25.254.212/WESTOS /mnt -o credential=/root/smb_auth,mulitiuser
[westos@westos_student12 Desktop]$ ls/mnt
bash: ls/mnt: No such file or directory
##客户端其他用户不可读取
-
ntlmssp ##设定认证方式
test:
mount //172.25.254.212/WESTOS /mnt -o credential=/root/smb_auth,mulitiuser,sec=ntlmssp
-
其他用户查看挂载点
cifscreds add -u westos 172.25.254.212 ##客户端其他用户可通过认证进入
cifscreds clear -u westos 172.25.254.212 ##删除认证身份
9.NFS
net file system
- nfs基本信息:
nfs-utils ##安装包
nfs-server ##服务脚本
/etc/exports ##共享配置文件
nfs启用
服务端:
- dnf install nfs-utils -y ##安装软件
systemctl enable --now nfs-server ##开启服务
showmount -e 172.25.254.212 ##连接服务
firewall-cmd --permanent --add-service=rpc-bind ##火墙开启rpc-bind设置
firewall-cmd --permanent --remove-service=mountd ##删除mountd服务火墙设置
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload ##添加nfs服务
firewall-cmd --permanent --add-service=mountd
##添加mountd服务
nfs配置
- vim /etc/exports
/westos *(ro) ##编辑共享配置文件,文件只读
exportfs -rv ##加载
- test:
客户端:
showmount -e 172.25.254.212 ##连接服务
mount 172.25.254.212:/westos /media ##挂载
nfs配置参数
-
anonuid=1000,anongid ##指定用户身份
sync ##更改生成后同步数据到服务器
async ##实时同步数据到服务器
rw ##读写
ro ##只读
no_root_squash ##root用户挂载不转换身份,创建文件所有人为root
-
test:
vim /etc/exports
为文件添加权限
/westos *(rw,sync)
10.nfs+autofs
自动挂载卸载
客户端:
- dnf install autofs -y ##安装软件autofs
systemctl enable --now autofs.service ##启动服务
/net ##文件已存在
vim /etc/autofs.conf ##主配置文件
timeout 5 ##默认等待时长
systemctl restart autofs.service
autofs+samba
autofs:在客户端实现自动挂载卸载的软件
samba,nfs挂载策略
-
配置方式:
vim /etc/auto.master ##主策略文件 一个文件不能写两个一样的挂载点
/media /etc/auto.samba ##最终挂载点子策略文件及挂载上层目录
-
vim /etc/auto.samba ##挂载策略文件,多个挂载编写多行即可
samba -fstype=cifs,username=westos,password=lee :\\172.25.254.212/WESTOS ##samba挂载策略编写
nfs 172.25.254.212:/westos ##nfs挂载策略
systemctl restart autofs.service ##重启服务
-
test:
cd /media
cd nfs
df ##察看是否挂载
cd samba
df ###察看是否挂载
cd …
df ##查看卸载情况
11.iscsi
服务端:
- fdisk /dev/vdb ##添加硬盘:
n p ##划分设备
udevadm settle ##同步数据表
共享设备使用权
- dnf install targetcli -y ##安装共享插件
systemctl enable --now target.service ##开启服务
- targetcli ##进入target设定
/backstores/block create westos_storge /dev/vdb1 ##target共享
/iscsi create iqn.2021-02.org.westos:storage ##建立共享链接 年 月 域名反写 共享名
/iscsi/iqn.2021-02.org.westos:storage/tpg1/luns create /backstores/block/westos_storge ##关联共享与设备
/iscsi/iqn.2021-02.org.westos:storage/tpg1/acls create iqn.2021-02.org.westos:westoskey ##设定密码
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload ##火墙设定,添加端口
systemctl restart iscsid ##重启服务
客户端:使用共享
- dnf install iscsi-initiator-utils.x86_64 -y ##安装客户端软件
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2021-02.org.westos:westoskey ##编辑密码文件,更改为自身密码
iscsiadm -m discovery -t st -p 172.25.254.212 ##查看共享设备(无法查看,可能服务端防火墙未设置允许其通过)
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.212 -l ##认正共享设备 -T 目标设备名称 -t 设备类型 -p 设备所在ip -l 登陆设备
systemctl restart iscsid ##重启服务
fdisk -l ##查看
n p ##创建
udevadm settle ##保存创建表
mkfs.xfs /dev/sdb1 ##格式化设备,在本机格式化及使用
mount /dev/sdb1 /mnt ##挂载
systemctl enable --now iscsid ##服务开机自启
删除:
客户端:
- umount /mnt ##卸载
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.212 -u ##删除连接(重启会再度连接)
systemctl restart iscsi ##重启
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.212 -u
u ##删除连接
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.212 -o delete ##删除设备
tree /var/lib/iscsi/ ##查看是否删除
服务端:
- targetcli
/iscsi delete iqn.2021-02.org.westos:storage ##删除设备
clearconfig confirm=true ##删除所有设定,可help查看帮助
systemctl restart iscsid ##重启查看已删除完成
targetcli
ls