轉載:沐心_
位址:http://bbs.csdn.net/topics/392186116
----------------------------------------------------------
目标:安裝 vsftpd 服務
為了安裝友善 全程使用root模式
一、步驟----------------------------------------------
1、切換root使用者模式 (已在root模式下的請忽略)
sudo -i
#然後提示你輸入目前使用者密碼,輸入密碼後回車後如果密碼正确控制台就變成 [email protected]***:/# 了。
2、更新軟體源
apt-get update
3、安裝 vsftpd
apt-get install vsftpd
#安裝完成後vsftpd會建立一個使用者組和一個使用者,據說匿名使用者會使用使用cat /etc/group 可以檢視使用者組 cat /etc/passwd 可以檢視使用者以及使用者的預設目錄
#vsftpd預設建立的使用者 ftp 預設目錄是 /srv/ftp 指令行是false
4.0、了操作友善我們給FTP建立自定義FTP目錄和使用者組
4.1、建立FTP目錄 /home/ftp 當然你也可以建立到其它目錄
mkdir /home/ftp
4.2、建立FTP使用者組 ftp-g 這個你們也可以用其它組名
groupadd ftp-g
4.3、設定FTP目錄讀寫權限(注:使用者登陸的根目錄如果權限設定的太大會導緻無法登陸,根目錄下的子目錄可以給很大的權限)
chmod 755 /home/ftp
4.4、設定檔案夾歸屬 root 以及 我們建立的 FTP使用者組
chown root:ftp-g /home/ftp
5.0、設定FTP使用者目錄以及添加FTP使用者
5.1、為使用者ftp_a 建立目錄 a并設定權限
mkdir /home/ftp/a
chmod 755 /home/ftp/a
5.2、添加使用者 ftp_a 并設定歸屬使用者組為 ftp-g 以及設定預設目錄(FTP登陸目錄) -s /sbin/nologin 禁止使用者登陸控制台
useradd -g ftp-g -d /home/ftp/a -s /sbin/nologin ftp_a
5.3、給新使用者 ftp_a 設定密碼(無密碼不能登陸)
passwd ftp_a
#然後按照提示輸入兩遍密碼 比如我們設定為 123456798
6、給FTP開放外網端口(預設:tcp端口 21)
ufw allow 21/tcp
7、啟動FTP服務
/etc/init.d/vsftpd start
8、使用我們建立的使用者連結FTP伺服器進行檔案上傳下載下傳測試
二、問題----------------------------------------------
問題1 、使用者登陸提示 530 login incorrect解決方法
打開 /etc/vsftpd.conf
将 pam_service_name=vsftpd 改成 pam_service_name=ftp 然後儲存
重新開機vsftpd服務再登陸即可
/etc/init.d/vsftpd restart
問題2、上傳檔案 550報錯
修改 /etc/vsftpd.conf
取消 write_enable=YES 的注釋
儲存 重新開機vsftpd服務即可
問題3、使用者登陸FTP後可以通路上級目錄
修改 /etc/vsftpd.conf 檔案 去掉下面 選項 的注釋 即可阻止使用者通路上級目錄chroot_local_user=YES 儲存重新開機服務即可
問題4、修改預設端口修改 /etc/vsftpd.conf 檔案
注釋掉 #connect_from_port_20=YES
添加listen_port=你想要的端口
儲存重新開機服務
記得防火牆要開端口