安裝:
yum install -y vsftpd
/etc/vsftpd/vsftpd.conf //主配置檔案,核心配置檔案/etc/vsftpd/ftpusers //黑名單,這個裡面的使用者不允許訪問ftp伺服器
/etc/vsftpd/user_list //白名單,允許訪問ftp伺服器的使用者列表
啟動服務
systemctl enable vsftpd.service //設定開機自啟動systemctl start vsftpd.service //啟動ftp服務
netstat -antup | grep ftp //檢視ftp服務埠
匿名ftp的基本配置
使用匿名ftp,使用者無需輸入使用者名稱密碼即可登入ftp伺服器,vsftpd安裝後預設開啟了匿名ftp的功能,使用者無需額外配置即可使用匿名登入ftp伺服器。
匿名ftp的配置在/etc/vsftpd/vsftpd.conf中設定。
anonymous_enable=yes //預設即為yes
匿名ftp的其他設定
出於安全方面的考慮,vsftpd在預設情況下不允許使用者通過匿名ftp上傳檔案,建立目錄等更改操作,但是可以修改vsftpd.conf配置檔案的選項,可以賦予匿名ftp更多的許可權。
允許匿名ftp上傳檔案。
修改/etc/vsftpd/vsftpd.conf
write_enable=yes
anon_upload_enable=yes
chmod o+w /var/ftp/pub/ #更改/var/ftp/pub目錄的許可權
systemctl restart vsftpd.service #
重啟ftp服務
配置本地使用者登入
本地使用者登入就是指使用linux作業系統中的使用者賬號和密碼登入ftp伺服器,vsftp安裝後默只支援匿名ftp登入,使用者如果試圖使用linux作業系統中的賬號登入伺服器,將會被vsftpd拒絕
1.建立ftptest用
useradd ftptest #建立ftptest使用者
passwd ftptest #
修改ftptest使用者密碼
2.修改/etc/vsftpd/vsftpd.conf
anonymous enable=nolocal_enable=yes
另外簡單介紹下vsftpd.conf的配置檔案引數說明。
使用者登陸控制
引數說明
anonymous_enable=yes
接受匿名使用者
no_anon_password=yes
匿名使用者login時不詢問口令
anon_root=(none)
匿名使用者主目錄
local_enable=yes
接受本地使用者
local_root=(none)
本地使用者主目錄
使用者許可權控制
引數說明
write_enable=yes
可以上傳(全域性控制)
local_umask=022
本地使用者上傳檔案的umask
file_open_mode=0666
上傳檔案的許可權配合umask使用
anon_upload_enable=no
匿名使用者可以上傳
anon_mkdir_write_enable=no
匿名使用者可以建目錄
anon_other_write_enable=no
匿名使用者修改刪除
chown_username=lightwiter
匿名上傳檔案所屬使用者名稱
配置vsftpd環境
執行下邊的命令,一行一行來。
#sed -i "s/anonymous_enable=yes/anonymous_enable=no/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#anon_upload_enable=yes/anon_upload_enable=no/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#anon_mkdir_write_enable=yes/anon_mkdir_write_enable=yes/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#chown_uploads=yes/chown_uploads=no/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#async_abor_enable=yes/async_abor_enable=yes/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#ascii_upload_enable=yes/ascii_upload_enable=yes/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#ascii_download_enable=yes/ascii_download_enable=yes/g" '/etc/vsftpd/vsftpd.conf'
#sed -i "s/#ftpd_banner=welcome to blah ftp service./ftpd_banner=welcome to ftp service./g" '/etc/vsftpd/vsftpd.conf'
#echo -e "use_localtime=yes\nlisten_port=21\nchroot_local_user=yes\nidle_session_timeout=300
#\ndata_connection_timeout=1\nguest_enable=yes\nguest_username=fuser
#\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=yes
#\allow_writeable_chroot=yes
#\npasv_min_port=40000\npasv_max_port=41000
#\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf
建立ftp使用者
建立使用者fuser,一些寫教程登入終端是/bin/false,我卡這半天,具體可以搜它和nologin的區別
#useradd fuser -d /wwwroot -s /sbin/nologin
#chown fuser.fuser /wwwroot -r
#passwd fuser
重啟vsftp服務
systemctl restart vsftpd.service
注意,這裡是centos的關於vsftp重啟,以前的命令在這不管用!如果開了防火牆,記得把相應的埠新增進去,本場環境中涉及21,40000-41000
可能會用到的:
徹底刪除使用者:#userdel -rf fuser //強制刪除使用者及相關目錄檔案
變更使用者屬性:#usermod -s /sbin/nologin fuser
檢視當前服務:#netstat -lntp
我的可執行配置(/etc/vsftpd/vsftpd.conf):
anonymous_enable=nolocal_enable=yes
write_enable=yes
local_umask=022
#anon_upload_enable=yes
#anon_mkdir_write_enable=yes
dirmessage_enable=yes
xferlog_enable=yes
connect_from_port_20=yes
#chown_uploads=yes
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=yes
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
async_abor_enable=yes
ascii_upload_enable=yes
ascii_download_enable=yes
#ftpd_banner=welcome to blah ftp service
#deny_email_enable=yes
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=yes
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=yes?listen=yes
#listen_ipv6=yes
pam_service_name=vsftpd
userlist_enable=yes
local_root=/usr/share/nginx/html
chroot_local_user=yes
allow_writeable_chroot=yes
可能性二:
匿名使用者的目錄(/var/ftp/pub)沒有寫許可權,需要將其設定為具有寫許可權。
首先轉到/var/ftp
然後在終端中輸入:chmod 777 pub。
FTP在CentOS上安裝與使用
安裝 yum install y vsftpd etc vsftpd vsftpd.conf 主配置檔案,核心配置檔案 etc vsftpd ftpusers 黑名單,這個裡面的使用者不允許訪問ftp伺服器 etc vsftpd user list 白名單,允許訪問ftp伺服器的使用者列表 啟動服務...
在Cent OS上安裝Bugzilla
這幾天一直在折騰bugzilla,原以為應該挺簡單的,卻也是一波三折。下面是 的過程 在 var www html目錄中建立乙個symbolic link ln s var local bugzilla bugzilla 為httpd的使用者分配該資料夾的訪問許可權 chown apache.apa...
在CentOS上安裝Git
centos的yum源中沒有git,只能自己編譯安裝,現在記錄下編譯安裝的內容,留給自己備忘。確保已安裝了依賴的包 30 你的目錄可能不是這個 autoconf configure make sudo make install 檢查下安裝的版本,大功告成 git version 通過ssh 進行認證...