上集说到NFS服务端配置,这篇开始讲解客户端操作。

1 NFS 客户端挂载

yum install -y nfs-utils
showmount -e 192.168.226.129//该ip为NFS服务端ip
Linux学习总结(四十八)NFS服务配置 下篇
mount -t nfs 192.168.226.129:/home/nfstestdir /mnt/
df -h
Linux学习总结(四十八)NFS服务配置 下篇
touch /mnt/test.txt
ls -l /mnt/test.txt
Linux学习总结(四十八)NFS服务配置 下篇
可以看到文件的属主和属组都为mysql ,对应uid,gid为1000,因为我们NFS服务端配置是这样的
/home/nfsdir 192.168.226.130(rw,sync,all_squash,anonuid=1000,anongid=1000)
括号内含义依次为:读写,同步,限定所有使用nfs服务的用户为普通用户,定义被限定用户的uid,gid为1000

2 exportfs命令

NFS 不能随意重启,需将客服端的挂载先卸下来,如此操作甚是麻烦,效率太低。那么当我们在服务端增加共享目录时,如何让它快速生效呢?我们可以借助exportfs命令,让NFS配置文件/etc/exports
重新加载。
exportfs 命令用法比较简单。
exportfs -arv 重新加载配置文件,更新服务
-a 表示全部目录(挂载或卸载)
-r 重新挂载
-v 显示共享目录
-u 卸载某一个目录 // 例如 exportfs -uv 192.168.226.130:/home/nfsdir
在服务端编辑配置文件,再添加一个共享目录
vi /etc/exports
/mnt/testdir 192.168.226.0/24(rw,sync,no_root_squash)
mkdir /mnt/testdir
chmod 777 /mnt/testdir
保存退出
exportfs -arv
Linux学习总结(四十八)NFS服务配置 下篇
在客户端挂载该共享目录
mount -t nfs 192.168.226.129:/mnt/testdir /media/
df -h |egrep 'mnt|media'
Linux学习总结(四十八)NFS服务配置 下篇
创建一个文件看下它的权限
touch /media/test.txt
ll /media/test.txt
Linux学习总结(四十八)NFS服务配置 下篇
最后一个小bug
在centos 6 中,客户端文件属主,属组为nobody
解决办法:
客户端挂载时,指定nfs版本,-o nfsvers=3
先卸载 umount /mnt/ 再指定版本挂载
mount -t nfs -o nfsvers=3 192.168.226.129:/mnt/testdir /mnt/

3 FTP 介绍

FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

4 vsftpd搭建ftp服务

centos上自带vsftpd
yum install -y vsftpd // 安装vsftpd 服务端
useradd -s /sbin/nologin virftp // vsftpd可以支持使用系统账户登录,为了安全考虑,我们创建一个虚拟账户
创建用户密码文件
vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
testuser1
lvlinux
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   // 指定umask
anon_upload_enable=NO  // 不容许匿名账号上传文件
anon_mkdir_write_enable=NO  //不容许匿名账号可写
idle_session_timeout=600
data_connection_timeout=120
max_clients=10

创建目录,指定属主属组
mkdir /home/virftp/testuser1
touch /home/virftp/testuser1/.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

编辑全局配置文件
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

测试
systemctl start vsftpd //启动vsftpd服务
yum install -y lftp //安装客户端软件
lftp ftpuser1@127.0.0.1
执行命令ls,看是否正常输出
若不正常查看日志/var/log/messages和/var/log/secure