【NFS环境搭建】exportfs命令、NFS客户端问题、FTP介绍和使用vsftpd搭建ftp
一、exportfs命令
exportfs 命令用来管理当前NFS共享的文件系统列表
常用选项:
-a 全部挂载或者全部卸载
-r 重新挂载
-u 卸载某一个目录
-v 显示共享目录
以下操作在服务端上:
编辑文件并增加以下内容:
vim /etc/exports
/tmp/ 172.16.17.0/24(rw,sync,no_root_squash)
再执行一下以下这个命令,不用重启nfs服务,配置文件就会生效:
exportfs -arv
以下操作在客户端:
将服务端的/tmp/目录挂载到 客户端的/mnt/下:
mount -t nfs 172.16.17.71:/tmp/ /mnt/
然后在客户端上新建个nfs.txt文件:
vim /mnt/nfs.txt
可以对比看一下,客户端的/mnt/目录跟服务端的/tmp/目录都是一样的:
二、NFS客户端问题
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody(NFS 4版本会有该问题)
如何解决呢?这个就在客户端挂载时加上 -o nfsvers=3:
客户端和服务端都需要
vim /etc/idmapd.conf
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd(rpcbind)服务
三、FTP介绍
1、FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
2、 FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
3、小公司用的多,大企业不用FTP,因为不安全
四、使用vsftpd搭建ftp
centos上自带vsftpd,使用命令安装:yum install -y vsftpd
创建普通用户:
useradd -s /sbin/nologin virftp
虚拟用户的密码文件创建,定义用户名和密码,内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行:
vim /etc/vsftpd/vsftpd_login
testuser1
222222
赋予权限:
chmod 600 /etc/vsftpd/vsftpd_login
把文本的密码文件转换成计算机识别的二进制文件:
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
创建虚拟用户的配置文件所在的目录并进入到这个目录:
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
创建个新文件并加入如下内容
vim testuser1 :
local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
创建虚拟用户的家目录并创建amo.txt文件并更改权限:
mkdir /home/virftp/testuser1
touch /home/virftp/testuser1/amo.txt
chown -R virftp:virftp /home/virftp
在最前面加上,定义用户的密码文件在哪里:
vim /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
编辑vsftpd.conf文件:
vim /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
将#anon_upload_enable=YES 改为 anon_upload_enable=NO
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加如下内容:
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
启动vsftpd服务,查看进程和端口:
systemctl start vsftpd
ps aux|grep vsftp
netstat -lntp
测试ftp:
安装一个linux上的lftp客户端:
yum install lftp -y
使用命令并输入密码,执行命令ls,看是否正常输出,若不正常查看日志/var/log/messages和/var/log/secure:
lftp [email protected]
我们使用命令 get amo.txt 把它下载下来:
然后退出来查看当前路径,就可以看到这个amo.txt文件了:
windows下安装filezilla客户端软件,进行测试
再到linux端查看/home/virftp/testuser1/
结论:OK