exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp
exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp
是江山 发表于5个月前
exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp
  • 发表于 5个月前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

exportfs命令

参数说明如下。

  1. -a:全部挂载(或卸载)/etc/exports文件内的设定。
  2. -r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。
  3. -u:卸载某一目录。
  4. -v:在export时将共享的目录显示在屏幕上。

NFS共享的常用参数:

  1. ro 只读访问
  2. rw 读写访问
  3. sync 所有数据在请求时写入共享
  4. async NFS在写入数据前可以相应请求
  5. secure NFS通过1024以下的安全TCP/IP端口发送
  6. insecure NFS通过1024以上的端口发送
  7. wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
  8. no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
  9. hide 在NFS共享目录中不共享其子目录
  10. no_hide 共享NFS目录的子目录
  11. subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
  12. no_subtree_check 和上面相对,不检查父目录权限
  13. all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
  14. no_all_squash 保留共享文件的UID和GID(默认)
  15. root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
  16. no_root_squash root用户具有根目录的完全管理访问权限
  17. anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
  18. anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

NFS客户端问题

客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、数组为nobody。

在客户端进行挂载时加上选项-o nfsvers=3

monunt -t nfs -o nfsvers=3 192.168.1.2:/tmp/ /mnt/
如果目录已经挂载,而又不想卸载,执行如下命令:
monunt -t nfs -o remount,nfsvers=3 192.168.1.2:/tmp/ /mnt/

客户端和服务端都需要

[root@adailinux ~]# vim /etc/idmapd.conf
把该配置文件中的“Domain = local.domain.com”改为“Domain = xxx.com”(此处xxx.com自定义),然后重启rpcidmapd服务(在centos7中直接重启rpcbind服务)。

FTP介绍

ftp 命令使用文件传输协议(File Transfer Protocol, FTP)在本地主机和远程主机之间或者在两个远程主机之间进行文件传输。 FTP 协议允许数据在不同文件系统的主机之间传输。尽管这个协议在传输数据上提供了高适应性,但是它并没有尝试去保留一个特定文件系统上的文件属性(例如一个文件的保护模式或者修改次数)。而且 FTP 协议很少对一个文件系统的整体结构作假定,也不提供这样的功能,比如递归的拷贝子目录。在使用 ftp 命令时,需要注意 FTP 协议的这些特性。当需要保留文件属性或者需要递归的拷贝子目录时,可以使用 rcp/scp 等命令。

使用vsftpd搭建ftp

安装vsftpd包

yum  install -y vsftpd db4-utils
##db4-utils是用来生成密码库文件

建立系统账号

useradd  -s  /sbin/nologin  virftp

创建虚拟账户登录文件

##创建虚拟账户登录信息文件
vim  /etc/vsftpd/vsftpd_login
#写入以下内容
test1
123456
test2
123456
#修改文件权限
chmod  600  /etc/vsftpd/vsftpd_login
#生成密码库文件
db_load -T -t  hash -f /etc/vsftpd/vsftpd_login   /etc/vsftpd/vsftpd_login.db
##奇数行为用户名,偶数行为密码。主要行尾空格
##应为vsftpd使用的密码文件不是明文的,需要生成对应库文件

创建配置文件存放目录

mkdir /etc/vsftpd/vsftpd_user_conf
cd   /etc/vsftpd/vsftpd_user_conf
#创建用户配置文件
vim  test1
#写入以下内容
local_root=/home/virftp/test1
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
#test2配置文件与test1大致一样,修改local_root即可
local_root指定虚拟用户家目录
anonymous_enable是否允许匿名用户登录
write_enable是否允许创建
local_umask创建后的文件umask
anon_upload_enable是否允许匿名用户上传
anon_mkdir_write_enable匿名用户是否可写
idle_session_timeout链接超时时间
data_connection_timeout文件传输超时时间
max_clients最大链接数
配置文件的名称应该与密码文件中的用户名一致

###创建认证文件

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

修改全局配置文件/etc/vsftpd/vsftpd.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
#再增加如下内容
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
修改后启动vsftpd服务:systemctl start vsftpd

###创建测试文件

mkdir /home/virftp/testuser1
touch /home/virftp/testuser1/test.txt
chown -R virftp:virftp /home/virftp
```
共有 人打赏支持
粉丝 4
博文 44
码字总数 24060
×
是江山
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: