经常使用选项linux
须要操做在服务端上vim
[root@axiang-02 ~]# vim /etc/exports 再加入一行 /tmp 10.1.1.9(rw,sync,no_root_squash) //这里不限制root用户 [root@axiang-02 ~]# exportfs -arv exporting 10.1.1.9:/tmp exporting 10.1.1.0/24:/home/nfstestdir
客户端windows
[root@axiang-03 ~]# showmount -e 10.1.1.8 Export list for 10.1.1.8: /home/nfstestdir 10.1.1.0/24 /tmp 10.1.1.9 [root@axiang-03 ~]# mount -t nfs 10.1.1.8:/tmp/ /mnt [root@axiang-03 ~]# vim /mnt/1 [root@axiang-03 ~]# ls -l !$ ls -l /mnt/1 -rw-r--r-- 1 root root 25 8月 23 16:15 /mnt/1
客户端文件属主属组nobodycentos
问题:客户端挂载共享目录后,无论是root用户仍是普通用户,建立新文件时属主、属组为nobody。安全
解决方法1:因为NFS 4版本会有该问题。客户端挂载时加上 -o nfsvers=3 指定使用版本3模式便可服务器
[root@axiang-03 ~]# mount -t nfs -o nfsvers=3 10.1.1.8:/tmp/ /mnt
解决方法2:客户端和服务端vim /etc/idmapd.conf,把“#Domain = local.domain.edu” 改成 “Domain = xxx.com” (这里的xxx.com,随意定义吧),而后再重启rpcidmapd服务。CentOS7为重启rpcbind服务网络
[root@ax-01 ~]# yum install -y vsftpd
建立使用服务的真实用户session
[root@ax-01 ~]# useradd -s /sbin/nologin virftp //不准直接登录Linux系统 [root@ax-01 ~]# chown -R virftp:virftp /home/virftp //真实用户可用范围
建立虚拟用户和用户密码单dom
[root@ax-01 ~]# vim /etc/vsftpd/vsftpd_login aaa axianglinux bbb axiang-linux [root@ax-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login [root@ax-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db //生成二进制文件 [root@ax-01 ~]# ls /etc/vsftpd/ ftpusers vsftpd.conf vsftpd_login user_list vsftpd_conf_migrate.sh vsftpd_login.db
-vsftpd_login为用户定义文件。奇数行用户名偶数行密码。不能添加注释ssh
配置虚拟用户aaa
[root@ax-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf [root@ax-01 ~]# cd !$ cd /etc/vsftpd/vsftpd_user_conf [root@ax-01 vsftpd_user_conf]# vim aaa // 文件名须要与vsftpd_login文件用户名一致 local_root=/home/virftp/aaa # 定义虚拟用户家目录,该目录用于读写文件 # 虚拟用户在真实用户可用范围内找到本身的目录使用 anonymous_enable=NO # 是否容许匿名登录 write_enable=YES # 是否容许写 local_umask=022 # 定义umask anon_upload_enable=NO # 是否容许上传 anon_mkdir_write_enable=NO idle_session_timeout=600 # 超时时间 600秒 data_connection_timeout=120 # 数据传输超时时间120秒 max_clients=10 # 最多连接用户 [root@ax-01 vsftpd_user_conf]# mkdir /home/virftp/aaa [root@ax-01 vsftpd_user_conf]# touch /home/virftp/aaa/axiang.txt
定义ftp用户认证库文件 寻找的用户库文件,从而判断用户登录合法
[root@ax-01 ~]# 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 # 定义密码库文件路径,比对用户名密码
修改vfstpd主配置文件
[root@ax-01 ~]# 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
启动服务
[root@ax-01 ~]# systemctl start vsftpd [root@ax-01 ~]# netstat -lntp
测试
[root@ax-01 ~]# yum install -y lftp [root@ax-01 ~]# lftp aaa@127.0.0.1 Password: lftp aaa@127.0.0.1:~> ls -rw-r--r-- 1 1003 1003 0 Aug 24 02:29 axiang.txt lftp aaa@127.0.0.1:/> get axiang.txt //下载到当前目录下 lftp aaa@127.0.0.1:/> quit [root@ax-01 ~]# ls -lt total 2050440 -rw-r--r-- 1 root root 33300 Aug 24 14:47 aaa.png -rw-r--r-- 1 root root 0 Aug 24 10:29 axiang.txt