14.4 exprtfs命令
1、exportfs命令常用选项
若要在服务器机器上停掉或重启nfs服务,此时其他机器均挂载着其共享目录且可能在进行读写,那么停掉或重启nfs服务会导致其他机器读写进程挂起,故重启nfs服务之前需要将其他机器上挂载的该共享目录卸载
- -a #全部挂载或者全部卸载
- -r #重新挂载
- -u #卸载某一个目录
- -v #显示共享目录
2、nfs服务端操作
- vim /etc/exports #编辑exports文件,增加如下内容,共享/tmp目录
- exportfs -arv #不用重启nfs服务,配置文件就会生效
3、nfs客户端操作
- mkdir /testdir
- mount -t nfs -onolock 192.168.133.130:/tmp /testdir
- touch /testdir/test.txt
- ls -l !$
- -oremount,nfsvers=3 #重新挂载,并指定nfs为3版本
- NFS 4版本会有问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
- 解决方案一:客户端挂载时加上选项“-o nfsvers=3” 指定nfs为3版本,不想卸载可加选项“-oremount,nfsvers=3” 重新挂载
- 解决方案二:客户端和服务端都需要编辑文件/etc/idmapd.conf,把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (xxx.com随意定义),然后再重启rpcidmapd服务(systemctl restart rpc)
15.1 FTP介绍
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
- FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
- 小公司用的多,大企业不用FTP,因为不安全
1、搭建FTP服务
- yum install -y vsftpd #CentOS上默认自带vsftpd安装包
- useradd -s /sbin/nologin virftp #创建一个虚拟用户,映射成系统中一个普通用户
- vim /etc/vsftpd/vsftpd_login #编辑虚拟用户的密码文件,定义用户名和密码,该文件为自定义的,内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
testuser1
passwd-1
testuser2
passwd-2
- 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 #创建第1个用户的配置文件,配置文件名须与用户名保持一致,并对应,加入如下内容
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 #空闲会话超时时间600s
data_connection_timeout=120 #数据传输超时时间120s
max_clients=10 #最大客户端数为10个
- mkdir /home/virftp/testuser1 #创建虚拟用户的家目录
- touch /home/virftp/testuser1/test.txt #创建测试文件
- chown -R virftp:virftp /home/virftp #更改虚拟用户家目录的所属主和所属组为virftp
- vim /etc/pam.d/vsftpd #编辑用于认证文件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 #指定账户存储形式是文件的形式,并指定文件路径
- vim /etc/vsftpd/vsftpd.conf #编辑vsftpd的主配置文件,作如下修改
将“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
- systemctl start vsftpd #启动vsftpd服务,其监听端口为21,命令netstat -lntp可查看到
2、测试ftp
- yum install -y lftp #linux机器上安装ftp客户端,也可按“Ctrl+Alt+F”组合键下载Xftp
- lftp testuser1@127.0.0.1 #使用已定义的用户登录测试
- 执行命令ls,看是否正常输出,正常时可看到上面配置步骤里创建的,若不正常需要查看日志/var/log/messages和/var/log/secure
- 输入“?”可查看支持的命令,例如执行命令:get test.txt,可将文件下载到当前目录下,命令quit退出
- windows下安装filezilla客户端软件,进行测试