Linux搭建FTP服務,實現只上傳,不下載
阿新 • • 發佈:2018-12-04
筆者最近收到一個需求,搭建Linux上的Ftp服務,但是隻能上傳,不能下載,且使用者不能跳開Ftp,通過Sftp來獲得檔案。大致看了些網上分享。通過配置,完成這個“奇葩”需求。
- 首先跳開Ftp,使用Sftp那麼可以通過設定虛擬賬戶來實現。
- 其次Ftp上只上傳,不下載,那麼通過配置Ftp服務來實現。
作業系統Redhat6.8,安裝vsftp包。通過rpm命令:(這裡通過掛載了iso,進入包目錄)
# rpm -ivh vsftpd-xxxxx
安裝db4
# rpm -ivh db4-xxxxx
也可以通過Yum命令,道理是一樣的。
安裝完成後,首先配置vsftpd.conf.進入/etc/vsftpd
# vim vsftpd.conf
這裡刪除了#註釋的內容,故可以在檔案末尾直接新增下列配置。
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_std_format=YES
download_enable=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
ftpd_banner=Welcome to blah FTP service .
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
virtual_use_local_privs=NO
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf
新建虛擬賬戶,同樣在/etc/vsftpd目錄下新建logins.txt檔案(檔名隨意)
編輯:
第一行使用者名稱:ftpcs
第二行:密碼XXX
多個使用者依次新增。(奇數行為使用者,偶數行為密碼)
檔案新增完成後:
# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_logins.db
為了安全性,這個時候logins.txt檔案可以移除。
賦予許可權
# chmod 600 /etc/vsftpd/logins.db
放置虛擬使用者:
# vim /etc/vsftpd/chroot_list
在這邊新增上面的虛擬使用者,只有使用者沒有密碼。
新建系統使用者,這裡筆者新建了ftpuser,指定到/home/ftpsite目錄,同時在ftpsite目錄下新建虛擬使用者對應的ftp目錄。
# useradd -d /home/ftpsite -s /sbin/nologin ftpuser
# mkdir /home/ftpsite/ftpcs
# chmod 700 /home/ftpsite/
# chown -R ftpuser:ftpuser /home/ftpsite
還是當前目錄新建:
# mkdir vsftpd_user_conf
進入該目錄,新建對應虛擬使用者的檔案:
# vi ftpcs
新增內容
local_root=/home/ftpsite/ftpcs
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
配置pam.d
# vim /etc/pam.d/vsftpd
加入下面內容,其他行全部註釋:
(64位系統:)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
完成重啟,測試ftpcs賬戶。
# service vsftpd restart
這個時候虛擬賬戶ftp登入,只能停留在當前目錄,只可上傳檔案,不能下載,刪除。
測試比較匆忙,歡迎補充。