linux學習第五十二篇: exportfs命令,NFS客戶端問題,FTP介紹,使用vsftpd搭建ftp服務

exportfs命令

  • 常用選項
    -a 全部掛載或者全部卸載

  • -r 重新掛載

  • -u 卸載某一個目錄

  • -v 顯示共享目錄

  • 以下操作在服務端上
    vim /etc/exports
    增加
    /tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

  • 不用重啓nfs服務,執行這條命令配置文件就會生效:
    exportfs -arv
    這裏寫圖片描述

  • 掛載的時候用這條命令可以重新掛載並指定nfsvers=3,指定版本爲3:
    mount -t nfs -oremount,nfsvers=3 192.168.118.133:/home/nfstestdir /mnt/

NFS客戶端問題

  • NFS 4版本會有該問題

  • 客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組爲nobody我們可以掛載時加上 -o nfsvers=3
    客戶端掛載時加上 -o nfsvers=3
    mount -t nfs -o nfsvers=3 192.168.118.133:/home/nfstestdir /mnt/

  • 客戶端和服務端都需要
    vim /etc/idmapd.conf
    把“#Domain = local.domain.edu” 改爲 “Domain = xxx.com” (這裏的xxx.com,隨意定義吧),然後再重啓rpcbind服務

FTP介紹

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

使用vsftpd搭建ftp服務

  • centos上自帶vsftpd

  • 安裝vsftp:
    yum install -y vsftpd

  • 創建一個普通用戶,爲了以這個用戶的身份來傳文件,/sbin/nologin是使這個用戶不能登錄,保證安全:
    useradd -s /sbin/nologin virftp

  • 創建虛擬用戶和密碼的文件:
    vim /etc/vsftpd/vsftpd_login
    內容如下,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行:
    tuser1
    123123

  • 更改密碼文件權限,提高安全性:
    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 tuser1
    加入如下內容

local_root=/home/virftp/tuser1 //虛擬用戶的家目錄
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
  • 創建用戶目錄:
    mkdir /home/virftp/tuser1

  • 創建一個待會測試的文件:
    touch /home/virftp/tuser1/aming.txt

  • 更改所有者和屬組:
    chown -R virftp:virftp /home/virftp

  • 定義密碼文件,這是一個認證文件,登錄ftp需要一個認證的過程:
    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
  • Centos7爲64系統,所有庫文件路徑爲/lib64/security/pam_userdb.so(32位系統的庫文件路徑爲/lib/security/pam_userdb.so)
    這裏寫圖片描述

  • 修改vsftp最主要的配置文件
    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
    vsftp監聽的端口是21
    這裏寫圖片描述

測試ftp

  • 安裝lftp客戶端軟件:
    yum install -y lftp

  • 連接ftp:
    lftp [email protected]
    出現530的原因就是輸入的用戶和密碼錯誤
    這裏寫圖片描述
    500的原因就是你給用戶配置的配置文件名稱跟用戶名不一致
    這裏寫圖片描述

  • windows下安裝filezilla客戶端軟件,進行測試

發佈了79 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章