vsftpd-Note

FTP在實踐中使用的比較多。今天實踐一下VSFTPD的部署。php

#1 centos7 Vsftpd ###1.1 安裝vsftpd yum install -y vsftpd ###1.2 配置ftp vi /etc/vsftpd/vsftpd.confubuntu

anonymous_enable=NO  
chroot_local_user=YES

#最後添加以下行解決沒法登錄的問題
allow_writeable_chroot=YES

###1.3 啓動/從新啓動ftp systemctl start vsftpd.service (原service start vsftpd)
systemctl restart vsftpd.service (原service restart vsftpd)centos

###1.4 設置開機啓動ftp systemctl enable vsftpd.service (原chkconfig vsftpd on)瀏覽器

###1.5 創建ftp帳戶 useradd -d /www/ftp -s /sbin/nologin ftpadmin /www/ftp 爲ftp目錄bash

###1.6 修改密碼 passwd ftpadmin服務器

###1.7 設置帳戶權限 chown -R ftpadmin.ftpadmin /www/ftpsession

若是系統啓用了防火牆和SELinux,那麼還要作如下配置。 ####1.8 防火牆添加FTP服務: firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload ####1.9 設置SELinux: getsebool -a | grep ftp
setsebool -P ftpd_full_access onapp

###1.10 使用filezilla來訪問下FTP,測試FTP CURD操做。 ftpadmin/paswordless

#2 ubuntu14.04 vsftpd ###2.1 完全卸載vsftpd sudo apt-get --purge remove vsftpd測試

###2.2 安裝vsftpd sudo apt-get install vsftpd

###2.3 備份配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bk

###2.4 檢查是否已啓動 netstat -antl

###2.5 配置 vi /etc/vsftpd.conf

anonymous_enable=NO
local_enable=YES 
write_enable=YES

#最後添加以下行解決沒法登錄的問題
allow_writeable_chroot=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users

###2.6 創建ftp帳戶 sudo useradd -d /ftp -s /bin/bash ftpuser /ftp 爲ftp目錄

###2.7 修改密碼 passwd ftpuser

###2.8 設置帳戶權限 chown -R ftpuser.ftpuser /ftp

###2.9 重啓服務 sudo service vsftpd restart

###2.10 使用filezilla來訪問下FTP,測試FTP CURD操做。 ftpuser/pasword

#3 好的實踐 ###3.1 ftp服務器: (1)、匿名用戶可登陸瀏覽,但不能下載
(2)、設置4個不一樣等級的用戶使用此ftp服務器(虛擬用戶),分別以下
用戶名:ftpmain 路徑/home/vsftpd 管理用戶,可對ftp服務器的全部文件進行任何操做
用戶名:down 路徑/home/vsftpd/down 下載用戶,只可下載此目錄下的文件
用戶名:upload 路徑/home/vstfpd/upload 上傳用戶,在此目錄下可上傳下載刪除等操做
用戶名:test 路徑/home/vsftpd/test 測試目錄

###3.2 vsftpd日誌解決方案 代表FTP服務器記錄上傳下載的狀況
xferlog_enable=YES 代表將記錄的上傳下載狀況寫在xferlog_file所指定的文件中,即xferlog_file選項指定的文件中 xferlog_std_format=YES
xferlog_file=/var/log/xferlog

###3.3 啓用雙份日誌。在用xferlog文件記錄服務器上傳下載狀況的同時,

vsftpd_log_file所指定的文件,即/var/log/vsftpd.log也將用來記錄服務器的傳輸狀況

dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

###3.4 修改歡迎信息

sudo vi /etc/vsftpd.conf 末尾添加行
dirmessage_enable=YES
而後到ftp根目錄設置.message內容
cd /ftp
sudo vi .message
輸入:Welcome to ftp server ,enjoy it !
sudo service vsftpd restart

###3.5 超時設置 idle_session_timeout=600 #空閒鏈接超時
data_connection_timeout=120 #數據傳輸超時
ACCEPT_TIMEOUT=60 #PAVS請求超時
connect_timeout=60 #PROT模式鏈接超時

###3.6 容許匿名上傳

write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES

###3.7 一些命令 sudo cat /etc/hosts 查看本地host
ftp localhost ftp登錄本地
anonymous_enable=YES 匿名訪問
finger ftp 查看ftp的根目錄能夠用這個命令
more /etc/passwd | grep ftp 查看ftp默認的根目錄
gedit /etc/passwd ,把其中的ftp項修改爲本身須要的. vi打開文件,/爲查找命令 修改ftp默認的根目錄
pgrep vsftpd 或者列出全部進程 ps -d 查看vsftpd是否啓動
sudo chown root:root ftp , ftp爲目錄 賦予那個組

###3.8 權限模式 7 5 5
用戶 組 任何人
r+w+x r+x r+x
4+2+1 4+0+1 4+0+1 = 755

權限模式是由用戶,文件組及其餘全部人各組數值分別相加得出的。從上面的圖表中應該能看出個大概。

Read 4 - 容許讀文件  
Write 2 - 容許寫/修改文件  
eXecute1 - 讀/寫/刪除/修改/目錄

權限模式實例
模式 字符表示 說明
0477 -r--rwxrwx 全部者僅可讀(4),其餘及組可讀寫執行(7)
0677 -rw-rwxrwx 全部者僅可讀寫(6),其餘及組可讀寫執行(7)
0444 -r--r--r-- 全部均僅可讀(4)
0666 -rw-rw-rw- 全部均僅可讀寫(6)
0400 -r-------- 全部者僅可讀(4),組及其餘無任何權限(0)
0600 -rw------- 全部者僅可讀寫(6),組及其餘無任何權限(0)
0470 -r--rwx--- 全部者僅可讀,組可讀寫執行,其餘則無任何權限
0407 -r-----rwx 全部者僅可讀,其餘可讀寫執行,組則無任何權限
0670 -rw-rwx--- 全部者僅可讀寫,組可讀寫執行,其餘則無任何權限
0607 -rw----rwx 全部者僅可讀寫,其餘可讀寫執行,組則無任何權限

###3.8 其它

安裝完後不用作任何配置既可用匿名方式進行訪問,默認的ftp文件夾爲/srv/ftp
ftp://192.168.1.111/ ftp 在瀏覽器 訪問
開放重命名,刪除文件等權限,不開的話無法續傳。
anon_other_write_enable=YES

###3.9 cmds_allowed

cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,DELE,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,DELE,HELP,LIST,MODE,MDTM,MKD,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER
cmds_allowed=FEAT,REST,ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,DELE,RETR

# ABOR - abort a file transfer 取消文件傳輸
# CWD - change working directory 更改目錄
# DELE - delete a remote file 刪除文件
# LIST - list remote files 列目錄
# MDTM - return the modification time of a file 返回文件的更新時間
# MKD - make a remote directory 新建文件夾
# NLST - name list of remote directory
# PASS - send password
# PASV - enter passive mode
# PORT - open a data port 打開一個傳輸端口
# PWD - print working directory 顯示當前工做目錄
# QUIT - terminate the connection 退出
# RETR - retrieve a remote file 下載文件
# RMD - remove a remote directory
# RNFR - rename from
# RNTO - rename to
# SITE - site-specific commands
# SIZE - return the size of a file 返回文件大小
# STOR - store a file on the remote host 上傳文件
# TYPE - set transfer type
# USER - send username

# less common commands:

# ACCT* - send account information
# APPE - append to a remote file
# CDUP - CWD to the parent of the current directory
# HELP - return help on using the server
# MODE - set transfer mode
# NOOP - do nothing
# REIN* - reinitialize the connection
# STAT - return server status
# STOU - store a file uniquely
# STRU - set file transfer structure
# SYST - return system type

#4 引用及感謝 1.http://wiki.ubuntu.org.cn/Vsftpd
2.http://forum.ubuntu.org.cn/viewtopic.php?t=464142
3.http://pcvc.net/blog/2015/08/09/centos-7-installation-configuration-do-vsftpd-ftp-service/
4.http://www.baidu.com/link?url=Vkk0J001A2kX4yDj2X4nDkFc7_TndIoCPZzv5BvpiGv72oHnI53E9mQ7zBZbXTRNz0oMCQi1_gucQpmmxI3u0a&wd=&eqid=d5017af9000006a70000000256418716

2016-07-10 21:03:25 星期日

2017-02-14 Centos 6.5 vsftpd yum install -y vsftpd
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot_local_user=YES

userlist_deny=NO 文件尾添加此行
useradd -d /home/ftp -s /sbin/nologin ftpadmin
passwd ftpadmin
chown -R ftpadmin.ftpadmin /home/ftp
echo ftpadmin >> /etc/vsftpd/user_list
service vsftpd start

find / -name vsftpd
rpm -qa | grep vsftpd

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息