14.4 exportfs命令

重启nfs服务需要把所有挂载点卸载掉,如果一台机器有多个挂载点不能一一去卸载挂载点,用exportfs -arv命令 :

1. 编辑exports配置文件,添加一条新共享目录

[root@hao-01 ~]# vim /etc/exports

(no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大)

添加内容hao1服务端共享目录/tmp hao2客户端ip):

/tmp 192.168.223.128(rw,sync,no_root_squash)

2. 执行exportfs -arv命令(不用重启NFS服务,exports配置文件就可生效) :   

 [root@hao-01 ~]# exportfs -arv

3. 关闭hao1服务端防火墙

[root@hao-01 ~]# systemctl stop firewalld

[root@hao-01 ~]# setenforce 0

4. 关闭hao2客户端防火墙

[root@hao-02 ~]# systemctl stop firewalld

[root@hao-02 ~]# setenforce 0

5. hao2机器上,访问hao1服务端ip,查看hao1服务端共享目录ip段

[root@hao-02 ~]# showmount -e 192.168.223.142

6. hao1服务端共享的/tmp/目录,挂载hao2客户端/mnt/目录下 :

[root@hao-02 ~]# mount -t nfs 服务端ip:服务端共享目录   客户端挂载目录

[root@hao-02 ~]# mount -t nfs 192.168.223.142:/tmp/ /mnt/

7.hao2客户端/mnt/下,创建一个普通文件(1.txt) :

[此时客户端/mnt/(挂载点)是服务端共享目录(/tmp/目录)]

[root@hao-02 ~]# touch /mnt/1.txt

8. 查看/mnt/挂载点(hao1服务端共享目录)下的1.txt文件属主 属组

[root@hao-02 ~]# ls -l /mnt/1.txt

9. 查看hao1服务端共享目录(/tmp/目录)下的1.txt文件属主 属组 

[root@hao-01 ~]# ls -l /tmp/1.txt

10. 添加no_root_squash客户端挂载点(共享目录),就可以像在本地磁盘使用root用户一样,不受限制

(通常情况不限制root的情况多!)

{no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大}

14.5 NFS客户端问题

NFS 4/6版本会有该问题(客户端文件属主属组nobody)

1. Centos 7版本系统如果出现问题解决方案 :

客户端挂载服务端共享目录挂载点后,再重新挂载一次同时指定NFS版本为3

2. Centos 6可以这样解决 :

客户端服务端都需要修改如下配置文件内容 :

vim /etc/idmapd.conf

把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务。

15.1 FTP介绍

1. FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

2. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

3. 小公司用的多,大企业不用FTP,因为不安全

15.2 使用vsftpd搭建ftp(上)

1. 安装 vsftpd命令 :

[root@hao-01 ~]# yum install -y vsftpd

2. 创建 vsftpd用户(-s /sbin/nologin参数不让这个用户进入系统权限) :

[root@hao-01 ~]# useradd -s /sbin/nologin virftp

3. 创建vsftpd_login文件并添加内容(用户名,密码) :

[root@hao-01 ~]# vim /etc/vsftpd/vsftpd_login

添加内容:

hao

admin

hao2

admin

4. vsftpd_login文件,设置权限600

[root@hao-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login

5. 文本文件vsftpd_login转换成 二进制文件vsftpd_login.db

[root@hao-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

6. 创建虚拟用户配置文件目录

[root@hao-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf

7. 进入虚拟用户配置文件目录

[root@hao-01 ~]# cd /etc/vsftpd/vsftpd_user_conf

8. 创建虚拟用户名一致的虚拟用户文件 :

[root@hao-01 ~]# vim hao

添加内容:

local_root=/home/virftp/hao

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

解释:

local_root=/home/virftp/hao     虚拟用户夹目录

anonymous_enable=NO           是否允许匿名用户:NO

write_enable=YES                      是否可写:YES

local_umask=022                       创建的新文件或目录权限:022

anon_upload_enable=NO          是否允许匿名用户可上传:NO

anon_mkdir_write_enable=NO    是否允许匿名用户可以创建目录并且写:NO

idle_session_timeout=600         FTP超出多少秒重新登录:600

data_connection_timeout=120    数据传输的超出时间:120(秒)

max_clients=10                          客户端是多少:10

9. 创建虚拟用户hao的夹目录

[root@hao-01 vsftpd_user_conf]# mkdir /home/virftp/

[root@hao-01 vsftpd_user_conf]# mkdir /home/virftp/hao/

10. 创建一个普通文件到/home/virftp/hao/目录下 :

[root@hao-01 vsftpd_user_conf]# touch /home/virftp/hao/1.txt

11. 修改/home/virftp权限(virftp属主属组) :

[root@hao-01 vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

12. 修改virftp认证文件添加密码文件到这里 :

[root@hao-01 vsftpd_user_conf]# 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

13. 确定文件是否存在 ?(注意系统是64位还是32位)

[root@hao-01 vsftpd_user_conf]# ls /lib64/security/pam_userdb.so

14. 编辑vsftpd.conf主配置文件 更改添加内容 :

[root@hao-01 vsftpd_user_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

anonymous_enable=NO

anon_upload_enable=NO

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

15. 启动vsftpd服务 :

[root@hao-01 vsftpd_user_conf]# systemctl start vsftpd

16. 搜索vsftp进程是否启动 ?

[root@hao-01 vsftpd_user_conf]# ps aux |grep vsftp

17. 查看vsftp 监听端口(21端口)

[root@hao-01 vsftpd_user_conf]# netstat -lntp

15.3 使用vsftpd搭建ftp(下)

1. 安装lftp命令 :

[root@hao-01 ~]# yum install -y lftp

2. 使用lftp 远程连接hao虚拟用户@本地ip 

[root@hao-01 ~]# lftp hao@127.0.0.1

3. 执行命令ls,看是否正常输出 ?

lftp [email protected]:~> ls

若不正常:查看日志/var/log/messages/var/log/secure

4. Windows安装filezilla客户端软件,进行测试!!!

xshellftp协议连接登录:

下载XshellXftp插件:

快捷键:Ctrl + Alt + F