Linux学习笔记-RH135之文件共享系统samba、nfs和iscsi
文件共享系统samba、nfs和iscsi
- 1、samba的多用户挂载
- 2、autofs+samba
- 3、NFS(Net File System)
- 4、autofs+nfs
- 5、iscsi
1、samba的多用户挂载
如果root用户使用自己的samba账号登陆后挂载到mnt,westos用户不用通过用户验证也可以看到共享的目录,这样显然是不合适的。还有命令中直接输入了账户和密码,mount查看或者history查看可以看到用户名和密码,很不安全。所以想独立使用samba账号,隐藏账户和密码,samba的多用户挂载。
首先dnf install cifs-utils -y
安装cifs-utils插件,创建存放root自己的samba用户名和密码的文件/root/smbpass
,chmod 600 /root/smbpass
只有root自己可以查看该文件,其他用户不能查看。挂载时用到credentials=/root/smbpass
这个参数,表示指定认证文件,不用直接输入用户和密码了,可以读取放密码的文件了。解决了隐藏账户和密码的问题
挂载时用到multiuser
这个参数,表示支持多用户,即没有通过认证的用户不能访问samba服务,现在root用户挂载好,westos就无法查看挂载了。
假如westos也有自己的独立账号呢?挂载时多加sec=ntlmssp
这个参数,表示指定认证方式,现在westos也可以用自己的samba账号登陆。刚开始切换过去被拒绝,westos用户用自己的samba账号认证cifscreds add -u westos 172.25.254.88
,输入正确密码后,就可以访问samba服务了。如果显示已经登陆了,记录的是之前的错密码,就cifscreds clearall
清空之前的缓存,重新认证。
2、autofs+samba
之前使用的这种挂载方法mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.88/xixi /mnt
只要挂载上,不论我们是否进行数据读写,都一直占用资源,这样不好,我们想对数据交互时,再挂载。首先在客户端安装autofs服务,编辑/etc/autofs.conf
主配置文件,默认是300秒,设定3秒后就失效
假如最终想挂载到/westos/samba
,不用提前创建/westos/samba
,编辑/etc/auto.master
主策略文件,添加最终挂载点的上层目录和自动子策略文件
编辑/etc/auto.samba
子策略文件,添加最终挂载点,挂载参数和挂载资源,samba -fstype=cifs,credentials=/root/smbpass,sec=ntlmssp,multiuser ://172.25.254.88/xixi
,systemctl restart autofs
重启autofs服务。
测试:重启autofs后,westos目录会自动被建立,但是没东西,可以看到现在没挂载,cd /westos/samba
进入子目录,看到共享文件了,df一查,自动挂载了。cd出来,等三秒,df挂载资源自动卸载。
以上的最终挂载点是三级目录,如果是直接挂载到/westos
这样的二级目录挂载,主策略文件不能写/
,要写/-
,并且子策略文件中要写绝对路径,不能写相对路经。如果samba验证延迟时,是解析的问题。
3、NFS(Net File System)
nfs也是用来共享文件的系统,比samba更安全,为什么呢?看下图,火墙允许了nfs,还不行,我们还需要允许rpc-bind,他的作用是随机分配端口,不是固定端口,这样更安全。还不够,还要允许mountd,他相当于nfs的大内总管,拿着分配的端口找mountd,他同意了,才能真正访问nfs。两边都安装nfs-utils
在服务端:
systemctl start nfs-server
开启nfs服务
firewall-cmd --permanent --add-service=rpc-bind
,firewall-cmd --permanent --add-service=mountd
,firewall-cmd --permanent --add-service=nfs
,firewall-cmd --reload
火墙允许
编辑 /etc/exports
文件,添加共享目录,共享给谁(共享参数),下图表示共享/westos
目录给所有人,权力是只读。exportfs -rv
刷新/etc/exports
文件。
在客户端:
showmount -e 172.25.254.88
就会显示所有共享的目录和策略,mount 172.25.254.88:/westos /mnt/
成功挂载
####nfs配置参数####
ro
只读
rw
读写,现在建立文件,用户是nobody
anonuid=1000
指定建立文件的用户身份(如果客户端和服务端的1000指的不是一个用户名,那么会不一致)
anongid=1001
指定建立文件的用户组(如果客户端和服务端的1001指的不是一个用户组,那么会不一致)
sync
更改生成后同步数据到服务器
async
时时同步数据到服务器
no_root_squash
以root用户挂载,不转换身份
4、autofs+nfs
和autofs+samba类似,首先在客户端安装autofs服务,编辑/etc/autofs.conf
主配置文件,设定3秒后就失效了,编辑/etc/auto.master
主策略文件
编辑/etc/auto.nfs
子策略文件,systemctl restart autofs
重启autofs服务。测试:重启autofs后,westos目录会自动被建立,
cd /westos/nfs
,df一查,自动挂载了,cd出来,等三秒,df挂载资源自动卸载。
如果共享目录里有五个子目录subdir1,subdir2,subdir3,subdir4,subdir5
想分别挂载到/westos/subdir1,/westos/subdir2,/westos/subdir3,/westos/subdir4,/westos/subdir5
里,怎么办?最直接就是在/etc/auto.nfs
子策略文件都写一遍
有更简单的方法吗?编辑/etc/auto.nfs
子策略文件如下,现在就算有1万个子目录也不怕。一条命令就搞定
5、iscsi
前面学的都是设备先mkfs.xfs做了文件系统,再共享文件系统,客户端mount挂载到一个设备上才能读写,我们能不能直接把一个设备的读写权限共享出来呢?
服务端(创一个新的硬盘vdb):
fdisk /dev/vdb
创建分区,dnf install targetcli -y
安装targetcli,开启target。正常是编写配置文件,但是这个的配置文件是json语言写的,难度大,所以借助管理命令targetcli
,建立内部共享名称,建立外部共享名称,关联内部和外部共享名称,建立访问控制的密钥。并且火墙允许iscsi端口。firewalld-cmd --add-port=3260/tcp
,重启火墙firewalld-cmd --reload
。
客户端:
dnf install iscsi-initiator-utils.x86_64 -y
安装服务,编辑配置文件 /etc/iscsi/initiatorname.iscsi
目的是给密码,systemctl restart iscsid
重启服务。iscsiadm -m discovery -t st -p 172.25.254.88
读取88主机的iscsi,iscsiadm -m node -T iqn.2021-06.org.westos:disk1 -p 172.25.254.88 -l
登陆设备,现在就成功使用该设备了。
测试:
fdisk -l
可以查看到/dev/sda
,mkfs.xfs /dev/sda
做系统,mount /dev/sda /mnt
挂载就可以使用了
客户端卸载时:
iscsiadm -m node -T iqn.2021-06.org.westos:disk1 -p 172.25.254.88 -u
临时登出,iscsiadm -m node -T iqn.2021-06.org.westos:disk1 -p 172.25.254.88 -o delete
删除设备
服务端删除:清除缓存,共享就取消了
Linux学习笔记-RH135之文件共享系统samba、nfs和iscsi相关推荐
- Linux学习笔记---初次编译Uboot系统
在初次编译Uboot系统时,是按照正点原子开发指南操作的,但是开发指南上讲得不是很详细,又看了一遍视频教程才搞清楚完整步骤,为了方便学习,就将详细步骤记录下来,以便以后参考. Uboot初次编译 1. ...
- linux学习笔记十四:安装SAMBA(Server Message Block)
NFS:仅用于Linux之间 CIFS:仅用于Windows之间 SAMBA:可用于Linux与Windows之间,基于NetBIOS协议(用于LAN内部,不能跨路由),没有IP地址的概念,根据 Ne ...
- linux学习笔记 第七篇 (samba(一))(iscsi)
alias: alias xie='vim'(退出再登陆不可用) alias vim .bashrc(只有root用户可用:用户级变量) alias xie='vim' source .bashrc ...
- Linux学习笔记-RH135之Apache的管理及优化
Apache的管理及优化 1.Apache的作用 2.Apache的启用 3.Apache的基本配置 4.Apache的访问控制 (1)基于ip的黑名单 (2)基于ip的白名单 (3)基于用户的访问控 ...
- linux学习笔记-RH135(六):网络文件系统
网络文件系统 一.samba服务 1.samba基本信息 2.samba的安装与启用 3.samba用户的建立 4.samba用户访问家目录 6.samba访问控制 7.samba的常用配置参数 8. ...
- 20155303狄惟佳预备作业三Linux学习笔记
20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...
- Linux学习笔记---使用tftp命令下载文件
向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...
- LINUX学习笔记—SAMBA使用篇 smb 文件共享--学习篇
LINUX学习笔记-SAMBA使用篇 smb 文件共享 (转) Linux学习笔记-Samba使用篇 前言:半个月前开始安装.学习redhat LINUX7.0.作为一个Linux新手,不可避免的遇上 ...
- Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从
Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...
最新文章
- redis序列化_实例讲解Springboot以Template方式整合Redis及序列化问题
- Coin Slider
- java export命令_Linux 命令详解(一)export 命令
- python 星号*使用方法
- 腾讯AI Lab刘霁谈机器学习,异步计算和去中心化是两大杀器
- python字母大小写排序_Python中sorted()排序与字母大小写的问题
- php怎么获取用户所在地址,php获取客户端ip及获取ip所在地址
- opipe--一款基于java的自定义“命令”管道
- html中播放的语法是什么,css语法是什么?
- 取色工具ColorPix
- Windows安装TortoiseSVN
- PHP 实现301转向代码
- 即时通信和实时通信的区别
- 我是一只可可爱爱的小粽子
- 怎样把软件从计算机移到桌面上,怎么样才能将旧电脑的重要软件移动到新电脑上?...
- 身份证号码的严格校验(非正则)
- Week15 实验 B - ZJM 的本领 CodeForces - 499A
- 算法训练一(贪心、二分)(含解题思路)(上)
- 移动端布局 - rem布局
- scrapy shell 调试报错TypeError: module.__init__() takes at most 2 arguments (3 g iven)