經常使用選項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