sudo apt-get install vsftpd
# vsftp(Very Secure FTP)是一種在Unix/Linux中非常安全且快速穩定的FTP服務器
安裝完畢後或許會自動生成一個帳戶”ftp”,/home下也會增加一個文件夾。
如果沒有生成這個用戶的話可以手動來,生成了就不用了:
sudo useradd -m ftp
sudo passwd ftp
有”ftp”帳戶後還要更改權限
sudo chmod 777 /home/ftp
在這個目錄下我建立一個文件夾專門保存需要共享的內容
2.配置文件
通過sudo gedit /etc/vsftpd.conf修改。
配置文件比較簡單,如下
#獨立模式啓動
listen=YES
#同時允許4客戶端連入,每個IP最多5個進程
max_clients=200
max_per_ip=4
#不允許匿名用戶訪問,允許本地(系統)用戶登錄
anonymous_enable=NO
local_enable=YES
write_enable=NO
#是否採用端口20進行數據傳輸
connect_from_port_20=YES
#生成日誌
xferlog_enable=YES
#指定登錄轉向目錄
local_root=/home/ftp/ftp
這樣,在同局域網的電腦上,用我的IP地址,用帳號”ftp”和對應密碼就可以登錄了,密碼是第一步裏面passwd那句指定的。
就這樣就結束了,請大家拍磚
對了,更改配置後不要忘了重啓ftp服務
sudo /etc/init.d/vsftpd restart
此外還有開啓關閉服務的命令
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
anonymous_enable=yes (允許匿名登陸)
dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
local_umask=022 (FTP上本地的文件權限,默認是077)
connect_form_port_20=yes (啓用FTP數據端口的數據連接)*
xferlog_enable=yes (激活上傳和下傳的日誌)
xferlog_std_format=yes (使用標準的日誌格式)
ftpd_banner=XXXXX (歡迎信息)
pam_service_name=vsftpd (驗證方式)*
listen=yes (獨立的VSFTPD服務器)*
功能:只能連接FTP服務器,不能上傳和下傳
注:其中所有和日誌歡迎信息相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項
開啓匿名FTP服務器上傳權限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (開放上傳權限)
Anon_mkdir_write_enable=yes (可創建目錄的同時可以在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的權限)
Anon_other_write_enable=yes (匿名帳號可以有刪除的權限)
開啓匿名服務器下傳的權限
Anon_world_readable_only=no
注:要注意文件夾的屬性,匿名帳戶是其它(other)用戶要開啓它的讀寫執行的權限
(R)讀-----下傳 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改文件)
功能:可以用本地帳戶登陸vsftpd服務器,有下載上傳的權限
注:在禁止匿名登陸的信息後匿名服務器照樣可以登陸但不可以上傳下傳
用戶登陸限制進其它的目錄,只能進它的主目錄
設置所有的本地用戶都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設置指定用戶執行chroot
Chroot_list_enable=yes (文件中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中加帳號即可
限制本地用戶訪問FTP
Userlist_enable=yes (用userlistlai 來限制用戶訪問)
Userlist_deny=no (名單中的人不允許訪問)
Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)
注:開啓userlist_enable=yes匿名帳號不能登陸
安全選項
Idle_session_timeout=600(秒) (用戶會話空閒後10分鐘)
Data_connection_timeout=120(秒) (將數據連接空閒2分鐘斷)
Accept_timeout=60(秒) (將客戶端空閒1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又重新連接)
Local_max_rate=50000(bite) (本地用戶傳輸率50K)
Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
Pasv_min_port=50000 (將客戶端的數據連接端口改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大連接數)
Max_per_ip=4 (每IP的最大連接數)
Listen_port=5555 (從5555端口進行數據連接)
查看誰登陸了FTP,並殺死它的進程
ps –xf |grep ftp
kill 進程號
配置的時候注意文件權限的問題,開啓匿名和本地後,關鍵是文件權限的設置,爲了給不同的用戶分配不同的權限,可以生成一個組,例如ftpuser,然後賦予它何時的權限例如755,chroot()設置可以使得本地用戶限制在登錄時的目錄,這對於安全很重要,可以這是local_root指定本地用戶登錄時的目錄,負責爲/home下相應目錄。