最近在做网络有关的工作,空闲时整理了一下常见的文件共享服务使用,参考了不少文章。
其实归根结底,操作都是类似的。
分为服务端和客户端,其中在服务端进行主要配置,客户端直接进行挂载或者访问。
服务端一般执行操作 | 客户端一般执行操作 |
---|---|
1. 安装软件包 | 1. 安装软件包 |
2. 编辑配置文件 | 2. 编辑配置文件(挂载点,账号信息等配置) |
3. 注册用户/允许匿名访问 | 3. 挂载访问或者直接访问 |
4. 开启服务 | |
5. 防火墙放行 |
1. NFS服务
1.1 预置条件:
准备两台主机A和B
- A:90.90.16.12
- B:90.90.15.249
- 两台主机都安装了net-tools和nmap-ncat软件包
1.2 配置步骤
服务端执行以下操作:
-
安装软件包:
- 主机A和B都执行
yum install nfs-utils
命令安装nfs软件 - 主机A执行
mkdir -p /share/nfs_share
命令创建共享文件夹
- 主机A和B都执行
-
配置文件
- 主机A执行
vi /etc/exports
命令配置导出目录,其中内容为/share/nfs_share 90.90.15.249 (rw,sync),含义为将/share/nfs_share目录共享给90.90.15.249主机,权限为读写和同步
- 主机A执行
-
启动服务
- 主机A执行
systemctl start nfs
命令启动nfs服务 - 主机A执行
systemctl status nfs
命令查看nfs服务是否开启.
- 主机A执行
-
开放防火墙
- 主机A执行
firewall-cmd --add-service=nfs
,firewall-cmd --add-service=mountd
和firewall-cmd --add-service=rpc-bind
命令在防火墙中添加nfs相关服务 - 主机A执行
vim /share/nfs_share/file1
命令输入create file1 from 90.90.16.12文字在共享目录中添加file1文件。
- 主机A执行
客户端
客户端直接挂载远程目录,之后直接访问即可
- 主机B执行
showmount -e 90.90.16.12
命令查看主机A的共享目录 - 主机B执行
mkdir -p /share/nfs_database/
创建nfs共享文件挂载目录,
执行mount -t nfs 90.90.16.12:/share/nfs_share /share/nfs_database
命令将主机A的nfs_share目录共享到主机B的nfs_database目录下。 - 通过
cat /share/nfs_database/file1
命令可看到被共享的文件file1
1.3 后处理步骤
主机B(客户端)行为:
- 主机B执行
umount /share/nfs_database/
命令取消挂载 - 主机B执行
rm -rf /share/nfs_database
命令删除共享文件挂载点 - 主机B执行
yum remove nfs
命令卸载nfs软件包
主机A(服务端)行为:
- 主机A执行
systemctl stop nfs
命令关闭nfs服务 - 主机A执行
firewall-cmd --remove-service=nfs
,firewall-cmd --remove-service=mountd
和firewall-cmd --remove-service=rpc-bind
命令从防火墙中移除nfs相关服务 - 主机A和B执行
yum remove nfs
命令卸载nfs软件包 - 主机A执行
rm -rf /share/nfs_share
命令删除共享文件夹
2. FTP服务
2.1 预置条件
准备两台主机A和B
- B:90.90.16.12
- A:90.90.15.249
- 两台主机都安装了net-tools和nmap-ncat软件包
2.2 配置步骤
服务端
- 安装软件包
- 主机A执行
yum install vsftpd
命令安装vsftpd软件
- 主机A执行
- 启动服务
- 主机A执行
systemctl start vsftpd
命令启动vsftpd服务 - 主机A执行
netstat -tunlp | grep 21
命令查看通信端口21是否开启.
- 主机A执行
- 创建用户
- 主机A执行
useradd ftpuser
命令创建一个账户,主机A执行passwd ftpuser
命令给ftpuser用户设置密码ftpuser。这是由于vsftpd默认不开放匿名用户
- 主机A执行
- 开放防火墙
- 主机A执行
firewall-cmd --add-service=ftp
命令在防火墙中添加ftp服务
- 主机A执行
客户端
- 安装软件包
- 主机B执行
yum install ftp
命令安装ftp软件
- 主机B执行
- 直接连接
- 主机B执行
ftp 90.90.15.249
命令连接主机A的ftp服务器,输入账号ftpuser和密码ftpuser即可连接。
- 主机B执行
2.3 后处理步骤
主机B(客户端):
- 主机B执行
yum remove ftp
命令卸载ftp软件包
主机A(服务端):
- 主机A执行
systemctl stop vsftpd
命令关闭vsftpd服务 - 主机A执行
firewall-cmd --remove-service=ftp
命令从防火墙中移除ftp服务 - 主机A执行
userdel ftpuser
命令删除ftpuser账户 - 主机A执行
yum remove vsftpd
命令卸载vsftpd软件包
3. SMB服务
3.1 预置条件
准备两台主机A和B
- Linux主机A的ip地址:90.90.15.249
- Linux主机B的ip地址:90.90.16.12
- Windows主机C的ip地址:10.81.18.229
- 两台主机都安装了net-tools和nmap-ncat软件包
3.2 配置步骤
服务端
- 安装软件包
- 主机A执行
yum install samba
命令安装samba软件
- 主机A执行
- 创建用户
- 主机A执行
useradd -s /sbin/nologin smbuser
命令创建一个专门访问samba服务的账号 - 主机A执行
mkdir -p /share/smb_share
命令创建一个共享目录,
执行chown -R smbuser.smbuser /share/smb_share/
命令将共享目录归属设置为samba用户 - 主机A执行
smbpasswd -a smbuser
命令将smbuser用户添加到samba服务的用户数据库,设置密码为smbuser后,
- 主机A执行
- 编辑服务端配置文件
- 主机A执行
vim /etc/samba/smb.conf
命令编辑配置,在最后追加:
其中[smbuser]表示用户smbuser的配置[smbuser] # 共享路径 path = /share/smb_share # 是否只读 read only = no # 是否匿名 guest ok = yes
- 主机A执行
- 启动服务
- 主机A执行
systemctl restart smb
和systemctl restart nmb
命令重启smb服务
- 主机A执行
- 开放防火墙
- 主机A执行
firewall-cmd --add-service=samba
命令在防火墙中添加samba服务 - 主机A执行
vim /share/smb_share/file1
命令写入 create file1 from 90.90.15.249
- 主机A执行
客户端
- 安装软件包
- 主机B执行
yum install samba-client
命令安装文件共享软件包
- 主机B执行
- 直接访问共享目录
- 主机B执行
smbclient //90.90.15.249/smbuser -U smbuser
输入密码smbuser进入共享目录,执行ls
命令可以看到主机A共享的文件file1 - 主机C使用组合键windows+R打开运行窗口,输入\90.90.16.12,输入用户名smbuser和密码smbuser,即可访问远程共享目录,有预期结果2.
- 主机B执行
3.3 后处理步骤
主机B(客户端)
- 主机B执行
yum remove samba-client
命令卸载软件包
主机A(服务端)
- 主机A执行
firewall-cmd --remove-service=samba
关闭防火墙的samba服务。 - 执行
systemctl stop smb
和systemctl stop nmb
命令关闭samba服务。 - 执行
vim /etc/samba/smb.conf
命令删除[smbuser]下的配置信息。 - 执行
rm -rf /share/smb_share/
命令删除共享文件夹。 - 执行
smbpasswd -x smbuser
命令删除samba数据库中的用户。 - 执行
userdel smbuser
删除smbuser用户。 - 执行
yum remove samba
命令卸载软件包。
4. CIFS服务
4.1 预置条件
准备两台主机A和B
- Linux主机A的ip地址:90.90.15.249
- Linux主机B的ip地址:90.90.16.12
- Windows主机C的ip地址:10.81.18.229
- 两台主机都安装了net-tools和nmap-ncat软件包
4.2 配置步骤
服务端
- 安装软件包
- 主机A执行
yum install samba
命令安装samba软件
- 主机A执行
- 创建账户
- 主机A执行
useradd -s /sbin/nologin cifsuser
命令创建一个专门访问samba服务的账号 - 主机A执行
mkdir /share/cifs_share
命令创建一个共享目录,执行chown -R cifsuser.cifsuser /share/cifs_share/
命令将共享目录归属设置为samba用户 - 主机A执行
smbpasswd -a cifsuser
命令将cifsuser用户添加到samba服务的用户数据库,设置密码为cifsuser.
- 主机A执行
- 服务端配置
- 主机A执行
vim /etc/samba/smb.conf
命令编辑配置,在最后追加:
其中[cifsuser]表示用户cifsuser的配置[cifsuser] path = /opt/cifs_share read only = no guest ok = yes
- 主机A执行
- 启动服务
- 主机A执行
systemctl restart smb
和systemctl restart nmb
命令重启smb服务
- 主机A执行
- 开放防护墙
- 主机A执行
firewall-cmd --add-service=samba
命令在防火墙中添加samba服务 - 主机A执行
vim /share/cifs_share/file1
命令,输入create file1 from 90.90.15.249保存退出。
- 主机A执行
客户端
- 安装软件包
- 主机B执行
yum install cifs-utils
命令安装文件共享软件包
- 主机B执行
- 配置登录账户信息和挂载点
- 主机B执行
touch /root/cifsauth.smb
命令创建共享资源账户设置,执行vim /root/cifsauth.smb
命令将samba服务的用户名,密码和共享域写入cifsauth.smb文件
执行username=cifsuser password=cifsuser domain=SAMBA
chmod 600 /root/cifsauth.smb
命令设置文件权限 - 主机B执行
mkdir -p /share/cifs_database
命令创建samba服务共享资源目录,执行vim /etc/fstab
命令写入挂载信息:
执行//90.90.15.249/cifsuser /share/cifs_database cifs credentials=/root/cifsauth.smb 0 0
mount -a
命令挂载
- 主机B执行
- 访问共享资源
- 主机B执行
cat /share/cifs_database/file1
命令即可查看共享资源file1,即可查看共享的文件file1 - 主机C使用组合键windows+R打开运行窗口,输入\90.90.15.249,输入用户名cifsuser和密码cifsuser,即可访问远程共享目录
- 主机B执行
4.3 后处理步骤
- 主机B执行
vim /etc/fstab
命令打开文件,删除挂载配置信息,
执行umount /share/cifs_database
命令取消挂载 - 主机B执行
rm -rf /share/cifs_database
命令删除共享工作区,
执行rm /root/cifsauth.smb
命令删除共享账户设置,
执行yum remove cifs-utils
命令卸载软件包 - 主机A执行
firewall-cmd --remove-service=samba
关闭防火墙的samba服务。
执行systemctl stop smb
和systemctl stop nmb
命令关闭samba服务。
执行vim /etc/samba/smb.conf
命令删除[cifsuser]下的配置信息。
执行rm -rf /share/cifs_share/
命令删除共享文件夹。
执行smbpasswd -x cifsuser
命令删除samba数据库中的用户。
执行userdel cifsuser
删除用户。
执行yum remove cifs-utils
命令卸载软件包。
参考资料:
- chatgpt
- NFS服务安装和配置:https://zhuanlan.zhihu.com/p/399726898
- NFS服务安装和卸载:https://blog.csdn.net/CancerKing/article/details/128587749
- Linux安装和配置NFS:https://www.htype.top/2021/827715975980/
- 显示NFS服务器共享信息的showmount命令:https://www.linuxcool.com/showmount
- SMB和CIFS的区别:https://www.cnblogs.com/jinanxiaolaohu/p/10550061.html
- samba服务器搭建和配置:https://www.cnblogs.com/wzgwzg/p/15558926.html
- smbclient安装和使用:https://blog.csdn.net/qq_34516733/article/details/123047806
- smbclient命令详解:https://blog.csdn.net/yexiangCSDN/article/details/82867469