1. 程式人生 > >exportfs命令、FTP介紹、FTP介紹、使用vsftpd搭建ftp服務

exportfs命令、FTP介紹、FTP介紹、使用vsftpd搭建ftp服務

proto AS main toc umask AD chmod 退出 登陸

exportfs命令

exportfs 命令用來管理當前NFS共享的文件系統列表
-a 全部掛載或者全部卸載
-r 重新掛載
-u 卸載某一個目錄
-v 顯示共享目錄
-f 在“新”模式下,刷新內核共享表之外的任何東西。 任何活動的客戶程序將在它們的下次請求中得到 mountd添加的新的共享條目。
-v 輸出詳細信息。當共享或者取消共享時,顯示在做什麽。 顯示當前共享列表的時候,同時顯示共享的選項。

可以使用:exportfs -arv 這樣不用重啟nfs服務,配置文件就會生效


NFS客戶端問題

客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組為nobody

有兩種解決的辦法
客戶端掛載時加上 -o nfsvers=3 指定nfsvers版本為3
mount -t nfs -o nfsvers=3 192.168.71.131:/home/nfstestdir /mnt/

客戶端和服務端都需要 把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨意定義),然後再重啟rpcbind服務


FTP介紹

  1. FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。

  2. FTP的主要作用就是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,然後把文件從遠程計算機復制到本地計算機,或把本地計算機的文件傳送到遠程計算機。

  3. 小公司用的多,大企業不用FTP,因為不安全

使用vsftpd搭建ftp服務

安裝vsftpd
yum install -y vsftpd

創建用戶virftp -s指定登陸的shell,nologin表示不能登陸系統
useradd -s /sbin/nologin virftp

編輯虛擬用戶的密碼文件
vim /etc/vsftpd/vsftpd_login

寫入以下內容,內容自定義即可,奇數行為用戶名,偶數行為密碼,多個用戶就寫多行,這裏用戶名為testuser1 ,密碼為testpasswd
testuser1
testpasswd

設置權限
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 testuser1

在文件在添加如下的內容

local_root=/home/virftp/testuser1
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

local_root=/home/virftp/testuser1 定義虛擬用戶的家目錄
anonymous_enable=NO 用來限制是否允許匿名賬號登錄(no表示不允許)
write_enable=YES 表示可寫
local_umask=022 umask值
anon_upload_enable=NO 表示是否允許匿名賬號上傳文件
anon_mkdir_write_enable=NO 表示是否允許匿名賬號可寫
idle_session_timeout=600 上傳完文件後超時多久斷開連接
data_connection_timeout=120 數據傳輸超時時間
max_clients=10 最大的客戶端

創建虛擬用戶的家目錄
mkdir /home/virftp/testuser1
touch /home/virftp/testuser1/lx.txt

變更權限
chown -R virftp:virftp /home/virftp

定義密碼文件
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

編輯vsftpd的主配置文件
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=YE

啟動服務
systemctl start vsftpd

FTP已經搭建完成,下面進行測試:
安裝lftp
yum install -y lftp

使用lftp登陸到ftp
lftp [email protected]
口令: #輸入密碼
lftp [email protected]:~> ls #可以看到之前創建的文件
-rw-r--r-- 1 1010 1010 0 Mar 27 14:57 lx.txt
上傳一個文件使用put 下載一個文件使用get 退出使用quit

exportfs命令、FTP介紹、FTP介紹、使用vsftpd搭建ftp服務