14.4 exportfs命令
重启nfs服务需要把所有挂载点卸载掉,如果一台机器有多个挂载点,不能一一去卸载挂载点,用exportfs -arv命令:
1. 编辑exports配置文件,添加一条新的共享目录:
[root@hao-01 ~]# vim /etc/exports
{no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大}
添加内容(hao1服务端的共享目录,hao2客户端的ip):
/tmp 192.168.211.129(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. 访问hao1服务端的ip,查看服务端共享目录和ip段:
[root@hao-02 ~]# showmount -e 192.168.211.128
6. 把服务端共享的/tmp/目录,挂载到客户端的/mnt/目录下:
[root@hao-02 ~]# mount -t nfs 服务端ip:服务端共享目录 客户端挂载目录
[root@hao-02 ~]# mount -t nfs 192.168.211.128:/tmp/ /mnt/
7. 在客户端/mnt/创建一个普通文件(1.txt):
{此时客户端/mnt/(挂载点)是服务端共享目录(/tmp/目录)}
[root@hao-02 ~]# touch /mnt/1.txt
8. 查看/mnt/挂载点(服务端共享目录)下的1.txt文件属主 属组:
[root@hao-02 ~]# ls -l /mnt/1.txt
9. 查看服务端共享目录(/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 ~]# ls /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 hao@127.0.0.1:~> ls
若不正常:查看日志/var/log/messages和/var/log/secure
4. windows下安装filezilla客户端软件,进行测试!!!
xshell用ftp协议连接登录:
下载Xshell的Xftp插件:
快捷键:Ctrl + Alt + F