#实验环境
两台主机ab,ip分别为172.25.254.100和200,且配置好软件仓库,a主机作为服务器端需要加一块硬盘类型为SATA,大小为10G。
#samba服务简介
smb(server message block)sun公司
cifs(common Internet file system)miscrosoft
windows系统共享文件时用到的协议smb,linux系统用cifs。
服务启动脚本smb.service, 主配置目录/etc/samba, 主配置文件/etc/samba/smb.conf, 安全上下文smba_share_t , 端口139和445
#在windows中共享文件
在windows中文件夹右键属性进行共享,可以在win+r cmd输入\\本地ip 访问共享的文件夹, 在命令行net use可以查看访问记录,net use * /del可以删除访问记录。
在linux中,可以在客户端b主机dnf install samba-client -y
smbclient -L //本地windows ip然后输入密码就可以访问windows共享文件,也可直接smbclient -L //本地windows ip -U administrator然后输入密码访问
smbclient //本地windows ip/共享文件名 -U administrator 访问某一共享文件,进行ls查看等 *** 作
也可挂载访问mount //本地windows ip/共享文件名 /mnt/ -o username= administrator,password=... df可以查看挂载设备,此时可以对共享文件夹 *** 作,如touch 文件,会建立文件存储到windows主机的文件夹中,实现系统和存储分离。
#在linux中共享文件
a主机中
dnf install samba samba-common samba-client -y
b主机dnf install samba-client -y
也可在windows主机中win+r输入\\172.25.254.100访问,输入用户名和密码后,建立文件test.txt,k可以在服务器a主机中ls /home/lee/中查看,
也可在b主机客户端使用smbclient //172.25.254.100/lee -U lee登录后ls查看,登录后使用!ls可以查看当前客户端目录文件,ls查看的是服务器的目录文件,此时可以使用put和get file进行上传和下载文件,但文件只能为本地客户端文件。
#samba共享基本设置及常用参数
在a主机服务器端vim /etc/samba/smb.conf,共享westos目录
systemctl restart smb.service
在b主机客户端使用mount -o username=lee ,password=lee //172.25.254.100/westos /mnt/以lee用户身份登录挂载,此时lee用户登录不可写,若为westos用户登录可写,即可在westos目录中建立文件
其余参数
valid user = westos 指定访问用户,即只有westos可以访问
valid users = +westos | @westos 指定访问组,只有westos组中的用户可以访问
browseable =yes | no 指定共享目录是否隐藏,默认yes不隐藏,改为no隐藏,隐藏后在客户端b使用smbclient //172.25.254.100 -u lee登录访问时将看不到共享目录,但仍可以使用
admin users = westos 指定此用户登录samba共享时为超级用户身份,此时使用westos用户登录后所做的 *** 作均以root身份,如建立文件的所有者为root,但所属组仍为westos。
使用smbclient //172.25.254.100/westos -u lee登录访问共享目录westos时需要输入密码,如果不知道密码将访问失败,此时可以在a主机服务器端vim /etc/samba/smb.conf编辑配置文件,在全局global中写入map to guest = bad user,然后在配置文件最后面写入guest ok =yes。 systemctl restart smb.service 。此 *** 作的作用为允许匿名用户访问,此时就可直接登录访问共享目录
#samba的多用户挂载
在客户端如果用普通用户的挂载方式,没有用过用户验证的人也可以访问samba服务,不合理
在服务器端vim /etc/samba/smb.conf将guest ok =yes注释掉,不允许匿名用户登录访问
systemctl restart smb.service
在客户端dnf install cifs-utils -y
vim /root/smbauth
此时可以mount -o credentials=/root/smbauth //172.25.254.100/westos /mnt/ 挂载登录共享,不会暴露密码,安全。此种方法只是隐藏密码,未通过验证的用户仍可以访问共享服务,credentials=/root/smbauth参数意为指定认证文件。
umount /mnt
mount -o credentials=/root/smbauth,multiuser //172.25.254.100/westos /mnt/
加入multiuser参数,意为支持多用户认证。此时su - lee,ls /mnt查看共享目录文件将被拒绝,因为lee用户未通过认证
umount /mnt
mount -o credentials=/root/smbauth,multiuser,sec=ntlmssp //172.25.254.100/westos /mnt/
sec=ntlmssp参数意为指定认证类型
此时可以切换到lee用户,使用cifscreds add -u lee 172.25.254.100添加用户认证,正确输入密码后通过认证。若输错密码,再次添加时已经存在lee用户,可以使用cifscreds clearall清除,然后重新添加用户输入正确的密码通过认证。就可ls /mnt/查看挂载目录下的共享文件
#autofs
在客户端实现自动挂载卸载的软件,在我们需要使用时挂载,不用是下载,避免资源浪费
dnf install autofs -y
systemctl enable --now autofs.service
vim /etc/auto.master
systemctl restart autofs.service
vim /etc/autofs.conf
#samba的访问控制
vim /etc/samba/smb.conf
hosts deny = 172.25.254.100 把100主机加到黑名单中,此时100将不能登录访问共享文件,即smbclient //172.25.254.100/westos -U lee将失败
对应的hosts allow ip为白名单。
注:若将黑白名单写到共享文件中,则只对此共享文件生效效;若写到global全局中则对samba整体生效。
#nfs服务的安装及启用(net file system)
a主机服务器端
nfs配置文件其他参数
将权限改为rw可读写然后exportfs -rv
mount 172.25.254.100:/westos /mnt/
touch /mnt/file默认文件的拥有者和所属组都是nobody
在服务器端配置文件中
*(rw,anonuid=1000,anongid=1000)可以指定用户身份,此时新建文件的u和g均为wesots
*(rw,no_root_squash),此时使用root用户挂载后建立文件的ug均为root。
#nfs+autofs
vim /etc/auto.master
nfs /etc/auto.nfs
vim /etc/auto.nfs
westos -rw,vers=3 172.25.254.100:/westos
systemctl restart autofs.service
cd /nfs/westos将实现自动挂载
vim /etc/autofs.conf
#iscs网络存储设备构建
服务器端a
dnf install targetcli -y
在第二块磁盘上添加一个2g的分区
udevadm settle
客户端b
服务器a
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
客户端b
fdisk -l
然后就可对此磁盘进行分区fdisk /dev/sdb,格式化mkfs.xfs -K /dev/sdb1
,挂载到本地,存储在本地的数据其实放在服务器的磁盘中,实现存储分离。
#网络存储设备的挂载
vim /etc/fstab
这样会导致系统启动失败,需要在defaults后加上_netdev(defaults,_netdev)
#网络设备的停用及删除
客户端
vim /etc/fstab删除开机挂载行
tree /var/lib/iscsi查看树形结构
iscsiadm -m node -T iqn.2022-05.com.westos:storage1 -p 172.25.254.100 -u 这样删除后,数据还在,重启服务systemctl restart iscsi又会出现。
iscsiadm -m node -T iqn.2022-05.com.westos:storage1 -p 172.25.254.100 -o delete彻底删除
服务器端
targetcli
clearconfig confirm=Ture
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)