6月22日任务

14.4 exportfs命令
14.5 NFS客户端问题
15.1 FTP介绍

15.2/15.3 使用vsftpd搭建ftp


NFS服务不能随便重启,在重启前必须把正在远程读写的目录挂载卸掉


停止挂载出现busy情况 ①退出/mnt目录 再umount /mnt/

                                    ②懒汉模式  umount -l /mnt/


如果有几十台机器在挂载,可以通过exportfs命令简化


服务器端上exportfs -arv显示出共享目录,再到客户端上执行showmount命令,发现无需重启nfs服务,/tmp/文件夹也被共享出去了


在客户端上把服务器端的/tmp/挂载到/mnt/目录下mount -t  nfs 192.168.242.128:/tmp/  /mnt/被拒绝


发现是端口号超过1024,man exports定义中发现当端口号高于1024时会被认为非法,此时需要在服务器端的/etc/exports文件中加入insecure选项,并重启nfs服务:service nfs restart

参见: https://blog.csdn.net/kelvindream/article/details/53858214


还是拒绝,后面网上搜了加了一个规则no_subtree_check,网段开放到192.168.242.*如下图所示


无需重启nfs服务,再次服务器端执行exportfs -arv,客户端showmount -e 192.168.242.128:/tmp/  /mnt/


把服务器端/tmp/挂载到客户端/mnt/下:mount -t nfs 192.168.242.128:/tmp/  /mnt/

这时发现两者是同步的,客户端也可以读写/tmp/目录了(挂载于客户端的/mnt/目录下)


测试:

在客户端下的/mnt/创建一个新文件,同步成功,服务器端也有test.txt,在/etc/exports文件中加入 no_root_squash不限制root用户选项时:达到的效果是在客户端上创建的文件也是root用户主和组,通常情况下不限制


NFS客户端问题


如果出现上述问题,(客户端挂载后,不管是普通用户还是root用户,创建新用户时所属主和组都为nobody)解决办法

①在挂载选项中加入-o nfsvers=3如果已经挂载需要umount 再加上


②编辑 /etc/idmapd.conf找到Domain,把注释符#去掉,后面可以自定义,重启rpcidmapd服务,在CentOS7中没有该服务,重启rpcbind服务即可

FTP介绍


vsftpd搭建FTP


给ftp设置一个虚拟用户,映射成系统的一个普通用户(vsftpd服务支持系统用户)

①添加一个用户: useradd -s (指定shell) /sbin/nologin (处于安全,该用户不让登录系统)virftp(可以随意取)


②给虚拟用户定义用户名和密码:vim /etc/vsftpd/vsftpd_login(其中奇数行是用户名,偶数行是密码)


③更改密码文件权限:chmod 600  /etc/vsftpd/vsftpd_login


④把文本密码文件vsftpd_login转换成计算机可识别的二进制文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db



⑤创建虚拟用户配置文件所在的目录(自定义)mkdir /etc/vsftpd/vsftpd_user_conf ,进入目录并定义配置文件,和之前定义的用户名保持一致(如testuser1,testuser2)


⑥加入如下配置内容


local_root:定义虚拟用户的家目录


⑦创建虚拟用户的家目录:mkdir /home/virftp/testuser1; touch liut.txt


⑧修改权限:chown -R virftp:virftp /home/virftp


⑨定义密码文件位置:vim /etc/pam.d/vsftpd加上两行 (在登录ftp时认证用户名和密码的存放处)

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

查看 /lib64/security/pam_userdb.so 是否存在



⑩编辑vsftpd的主配置文件

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


最后启动vsftpd服务


监听端口ftp 21, ssh 22 telnet 23

测试:

在windows上安装filezilla client如下图,不要安装filezilla server(搭建服务用的)


输入Linux主机IP,用户名,密码,端口22,如下图建立连接成功


在linux上使用lftp测试:yum install -y lftp

lftp [email protected]结果报错


意思是需要到ftp虚拟用户配置文件中找到带有vim testuser1字样的行,删除(虚拟用户配置文件路径为/etc/vsftpd/vsftpd_user_conf/testuser1)


如上图所示,测试成功,“?”可查看所支持的命令

如何使用Xshell实现FTP功能

①sftp

如下图设置,并ssh选项中设置默认本地/远程传送路径



登录测试:默认root用户和密码


get测试成功


②在Xshell页面Ctrl Alt f 弹出需要安装xftp,下载安装,再输入root用户名和密码出现如下界面,连接建立成功


猜你喜欢

转载自blog.csdn.net/fuel91/article/details/80795754