雲伺服器ESC 部署vsftpd 虛擬用戶 說明:雲伺服器部署和本地伺服器部署一樣,都需要開通指定的相應埠,只不過雲伺服器需要在安全組規則中打開相應的埠允許通過。 環境說明: 對應的用戶對應不同的密碼,對應不同的數據目錄,如下圖: 具體步驟 1) 安裝軟體 2) 創建相應的ftp數據目錄 3) ...
雲伺服器ESC 部署vsftpd 虛擬用戶
說明:雲伺服器部署和本地伺服器部署一樣,都需要開通指定的相應埠,只不過雲伺服器需要在安全組規則中打開相應的埠允許通過。
環境說明:
對應的用戶對應不同的密碼,對應不同的數據目錄,如下圖:
具體步驟
1) 安裝軟體
# yum -y install vsftpd
2) 創建相應的ftp數據目錄
# mkdir -p /opt/ftp/{come,out}
3) 創建一個用戶提供給虛擬用戶使用
# useradd -s /sbin/nologin virtual
4) 將ftp數據目錄設置成virtual用戶
# chown virtual. /opt/ftp/ -R # ll /opt/ftp/ total 8 drwxr-xr-x 2 virtual virtual 4096 Apr 17 12:07 come drwxr-xr-x 2 virtual virtual 4096 Apr 17 12:07 out
5) 創建虛擬帳號與密碼的文本文件(一行賬號,一行密碼, 註意不要有多餘的空格)
# vim /etc/vsftpd/logins.txt
ftpComeSsbq
ftp_come_#@UkieO9
ftpOutSsbq
ftp_out_#@45oUkie
6) 將創建好的密碼文件txt格式轉換db格式
# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
7) 定義db文件的許可權
# chmod 600 /etc/vsftpd/login.db
8) 定義pam認證文件(註意:db=/etc/vsftpd/login 文件就是上面生成的login.db文件;省略尾碼.db)
# vim /etc/pam.d/ftp auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
9) 配置vsftpd主配置文件 (guest_username=virtual 對應上面創建的用戶)
# vim /etc/vsftpd/vsftpd.conf #禁止匿名登錄FTP伺服器 anonymous_enable=NO #允許本地用戶登錄FTP伺服器 local_enable=YES #可以上傳(全局控制) write_enable=NO #匿名用戶可以上傳 anon_upload_enable=NO #匿名用戶可以建目錄 anon_mkdir_write_enable=NO #匿名用戶修改刪除 anon_other_write_enable=NO #全部用戶被限制在主目錄 chroot_local_user=YES #將所有用戶看成虛擬用戶guest guest_enable=YES #指定虛擬用戶,也就是將guest用戶映射到virtual用戶 guest_username=virtual #指定為獨立服務 listen=YES #指定監聽的埠 listen_port=21 #開啟被動模式 pasv_enable=YES #FTP伺服器公網IP pasv_address=<FTP伺服器公網IP> #設置被動模式下,建立數據傳輸可使用port範圍的最小值 pasv_min_port=10000 #設置被動模式下,建立數據傳輸可使用port範圍的最大值 pasv_max_port=10088 #是否允許匿名用戶下載全局可讀的文件 anon_world_readable_only=NO #指定虛擬用戶配置文件的路徑 user_config_dir=/etc/vsftpd/user_conf
10) 創建上面配置文件中指定的子配置文件目錄 user_conf
# mkdir /etc/vsftpd/user_conf
11) 定義 ftpComeSsbq 用戶的配置文件
# vim /etc/vsftpd/user_conf/ftpComeSsbq write_enable=YES anon_world_readable_only=no anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/opt/ftp/come
12) 定義 ftpOutSsbq 用戶的配置文件
# vim /etc/vsftpd/user_conf/ftpOutSsbq write_enable=YES anon_world_readable_only=no anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/opt/ftp/out
13) 啟動vsftpd
# service vsftpd start
14) 測試
- 使用 lftp 測試,格式為:lftp 用戶名:密碼@ftp地址:傳送埠(預設21埠,如果是21埠則可以不用添加)
[root@srt_aliyun_39 ~]# lftp ftpComeSsbq:ftp_come_#@[email protected] lftp [email protected]:~> pwd ftp://ftpComeSsbq:ftp_come_#%[email protected] lftp [email protected]:~> mkdir test mkdir ok, `test' created lftp [email protected]:/> ls drwx------ 2 506 506 4096 Apr 17 05:32 test lftp ftpComeSsbq@120.79.xx.xx:/> rm -rf test/ rm ok, `test/' removed
- 使用 windows 文件夾測試 格式:ftp:ftp地址 (說明:打開ftp被動模式,控制面板 > 網路和Internet )
- 瀏覽器測試:ftp://ftp地址
至此就完成了 ftp 虛擬用戶的部署。