13-4 14-15 NFS exportfs 客戶端bug FTP vsftp

14.4 exportfs命令

  • exprotfs能夠網絡廣播nfs下的磁盤操做

經常使用選項linux

  • -a 所有掛載或者所有卸載
  • -r 從新掛載
  • -u 卸載某一個目錄
  • -v 顯示共享目錄

須要操做在服務端上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

  • exportfs -arv 不用重啓nfs服務就能夠生效

客戶端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

14.5 NFS客戶端問題

客戶端文件屬主屬組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服務網絡

15.1 FTP介紹

  • FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
  • FTP的主要做用就是讓用戶鏈接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,而後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。
    • 比lrzsz好用
  • 小公司用的多,大企業不用FTP,由於不安全

15.2 - 15.3 使用vsftpd搭建ftp服務

  • centos上自帶vsftpd 安裝
[root@ax-01 ~]# yum install -y vsftpd
  • vsftpd可使用系統級別用戶登錄系統。經過ftp登錄系統而不是ssh。進入用戶家目錄。不安全
  • 建議設置虛擬用戶。即便有用戶名密碼也沒法登錄Linux系統

建立使用服務的真實用戶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
  • vfstpd核心配置文件
  • virftp用戶雖然不用於登錄Linux系統,可是能夠做爲訪客名去使用服務(guest_username=virftp)

啓動服務

[root@ax-01 ~]# systemctl start vsftpd
[root@ax-01 ~]# netstat -lntp

  • 21 ftp 22 sshd 23 telnet

測試

[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
  • 若不正常查看日誌/var/log/messages和/var/log/secure
  • windows下安裝filezilla客戶端軟件,進行測試
相關文章
相關標籤/搜索