Ubuntu Linux中vsFTP新增使用者
搭建好 vsFTP 後,發現只能用 ftp 或 anonymous 使用者才能訪問,就連root和自己的登入賬號都無法訪問。
這當然不爽!參考網上抄來抄去的方法,都說要裝 libdb3-util ,後面還有大堆的安裝和配置,懶得動。
終於發現了實踐一族:
多謝兩位!(如果嫌我後面說的簡陋,可以參考以上兩位的部落格。)
1. 搭好vsFTP後,/etc目錄下需要手動新增3個檔案,內容暫時為空:
vsftpd.user_list
ftpusers (這個檔案可能原來就有。不用手動加)
vsftpd.chroot_list (這裡我沒用上,不過先建著)
2. 按如下方式修改 vsftpd.conf 檔案:
vsftpd.conf
vim /etc/vsftpd.conf 執行這個就可以進入配置介面
listen=YES 獨立執行模式
anonymous_enable=NO/YES (允許匿名登陸嗎?=YES 可登陸 =NO 不可登陸)
no_anon_password=NO/YES (匿名登陸要密碼嗎?=YES 要 =NO 不要)
local_enable=YES/NO 本地使用者可登陸嗎? =YES 要 =NO 不要
write_enable=YES 本地使用者有寫許可權嗎?
local_umask=022 不要動,前面如果有#就去掉,什麼意思,不告訴你
connect_from_port_20=YES 埠設成20 ,不想要,自己在改: connect_from_port_205=YES
idle_session_timeout=600 監聽,多常時間,沒響應,VSFTPD 把你踢出伺服器
data_connection_timeout=600 連線伺服器後,資料多常時間不能傳入,斷開服務
chroot_list_enable=YES 這一行,和下面一行,密切相關
chroot_list_file=/etc/vsftpd.chroot_list 這一行,上一行設定YES才生效。意思是:加入到這個檔案內的使用者,只能訪問自己的目錄。其它目錄不能訪問.建立下面有說明.
secure_chroot_dir=/var/run/vsftpd 意思是:vsftpd 執行的目錄。
pam_service_name=vsftpd 加密(pam) 傳輸模式,這個目錄內的: /etc/pam.d/vsftpd
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key (KEY檔案,不要動)
如果其它的沒有。就自己,添加里面。(手動加入的呀。不要懶哦) :
use_localtime=YES
connect_timeout=60
accept_timeout=60
max_clients=8
max_per_ip=8
pasv_min_port=0,pasv_max_port=0
local_max_rate=0
tcp_wrappers=YES
nopriv_user=nobody
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
(這裡主要關注倒數第二句:userlist_deny=NO ,這樣一來只有vsftpd.user_list檔案中指定的使用者才能訪問)
3. 在 vsftpd.user_list 檔案中新增如下內容:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES(default), never allow users in this file,and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
ftp
4. 這時檢視一下 ftpusers 檔案中的內容,要把你想允許訪問的使用者刪掉或註釋掉。
5. 重啟服務:service vsftpd restart
6. 這時你就能用root使用者訪問了。
如果你想讓你登陸Linux的賬號也能訪問,只要把使用者名稱寫進 vsftpd.user_list 就行了。
(還是要確保 ftpusers 檔案中沒有這個使用者)。另外別忘了重啟服務。
7. 接下來要新增新使用者。
新增使用者:adduser iori
新增成功後,在 vsftpd.user_list 檔案中添上 iori
重啟服務後,就能訪問FTP了。
但這裡又遇到了一個問題:
如果我想新增一個ftp使用者,既只想讓他能夠訪問FTP,但不能讓他登陸系統。按如下命令建立:
adduser --shell /sbin/nologin ftpuser
可發現這個使用者按7中的操作後還是無法訪問FTP,報錯:
530 Login incorrect.
Login failed.
這個暫時沒解決。