CentOS安裝vsFTPd並限制使用者只允許訪問home目錄
1.yum安裝vsftpd:
2 iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3 iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
2 | touch /var/log/vsftpd.log # 建立vsftp的日誌檔案 |
2.設定每次開機時自動執行及手工啟動它:
可以檢視ftp埠是否在偵聽了!
3.配置檔案
配置/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陸FTP的使用者;
配置 /etc/vsftpd/vsftpd.conf
2 | anonymous_enable=NO #設定不允許匿名使用者訪問 |
3 | chroot_local_user=YES #把系統內所有的FTP使用者都限制在家目錄中 xferlog_file=/var/log/vsftpd.log 設定vsftpd的服務日誌儲存路徑。注意,該檔案預設不存在。必須要手動touch出來 |
4 | ascii_upload_enable=YES |
5 | ascii_download_enable=YES 設定支援ASCII模式的上傳和下載功能。 |
6 | pam_service_name=vsftpd PAM認證檔名。PAM將根據/etc/pam.d/vsftpd進行認證 |
4.設定FTP目錄
1 | #修改 /home/wwwroot 目錄屬性: |
2 | chmod -R 777 /home/wwwroot |
3 | #遞迴地給此目錄下所有檔案和子目錄的讀、寫、執行許可權 |
4 | chgrp -R ftp /home/wwwroot |
遞迴地把此目錄及該目錄下所有檔案和子目錄的組屬性設定成ftp組
5.增加FTP使用者
1 | adduser -d /home/wwwroot -g ftp -s /sbin/nologin 使用者名稱 |
2 | #增加使用者,組是FTP,目錄是/home/wwwroot |
5 | Changing password for user beinan. |
8 | passwd: all authentication tokens updated successfully. |
6.重啟FTP
2 | guest_enable=YES #設定啟用虛擬使用者功能。 |
3 | guest_username=ftp #指定虛擬使用者的宿主使用者。-CentOS中已經有內建的ftp使用者了 |
4 | user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬使用者個人vsftp的配置檔案存放路徑。存放虛擬使用者個性的配置檔案(配置檔名=虛擬使用者名稱) |
7.有時會出現上傳多個小檔案時卡住的情況,可以編輯/etc/vsftpd/vsftpd.conf如下:
1 | vi /etc/vsftpd/vsftpd.conf |
2 | connect_from_port_20=YES |
5 | data_connection_timeout=1 |
或者將檔案打包上傳到服務端再解壓來解決此問題。
8.修改已有使用者的FTP目錄
1 | usermod -d /home/www/abc.com abc |
注: /home/www/abc.com 為修改的目標資料夾 abc 為要修改目錄的使用者名稱
9.vsftpd的預設設定是所有目錄都可以被客戶進入,極為不安全,因此要限制使用者可以訪問目錄,限制使用者只能訪問自己家目錄,設定方法如下:
chroot_local_user=YES就行了。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list代替也行。
在vsftpd.conf最下面增加這一行,重啟ftp即可
本機可以測試:
01 | [root@hexuweb101 username]# ftp |
03 | Connected to 127.0.0.1 (127.0.0.1). |
05 | Name (127.0.0.1:root): username |
06 | 331 Please specify the password. |
09 | Remote system type is UNIX. |
10 | Using binary mode to transfer files. |
說明可以正常訪問了。 如果外部不能訪問就需要檢查Iptable設定了。
如果不能正常訪問,檢視是什麼問題:
1. 檢視配置:
2. 檢視登陸情況:
1 | tail -f /var/log/secure |
3. 檢視Iptables
在Iptables新增:
1 | vi /etc/sysconfig/iptables |
3 iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2100935/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫限制/允許某些IP訪問資料庫
- vsftpd允許root使用者登入FTP
- Linux防火牆Iptable設定只允許某ip訪問某埠Linux防火牆
- 管理(006):啟用只讀Oracle Home目錄Oracle
- mysql如何允許遠端訪問MySql
- Laravel API 允許跨域訪問LaravelAPI跨域
- Go Gin 允許跨域訪問Go跨域
- 限制web專案下某目錄的直接訪問Web
- 如何在RedHat Linux 6.8新增ftp使用者限制目錄和訪問ipRedhatLinuxFTP
- lavavel 只允許訪問 storage/App/public 裡的檔案,那儲存在 storage 下的其它目錄裡的檔案有什麼用APP
- 設定MYSQL允許用IP訪問MySql
- 【轉】允許遠端使用者登入訪問mysql的方法MySql
- linux 關閉只允許SSH登陸(允許使用者名稱、密碼登陸)Linux密碼
- vsftpd搭建ftp服務,並實現虛擬使用者訪問FTP
- centos5.5vsftpd安裝總結CentOSFTP
- centos/linux下的安裝vsftpdCentOSLinuxFTP
- [新增使用者]解決useradd 使用者後沒有新增使用者Home目錄的情況,Linux改變檔案或目錄的訪問許可權命令,linux修改使用者密碼,usermod的ysuum安裝包。飛Linux訪問許可權密碼
- mariadb配置允許遠端訪問方式
- 只允許指定使用者或組應用組策略
- Linux 許可權管理之目錄許可權限制Linux
- RAC安裝目錄許可權快速恢復
- PHP 設定多域名允許跨域訪問PHP跨域
- springboot配置CORS允許跨域訪問Spring BootCORS跨域
- Mysql設定允許外網訪問(圖文)MySql
- vmware安裝VMware Tools,並設定共享目錄
- CentOS 6.2圖形介面允許root使用者登入CentOS
- html只允許輸入的資料校驗,只允許輸入字母漢字數字等HTML
- 設定ssh只允許使用者從指定的ip登陸
- centos下apache安裝後無法訪問CentOSApache
- js控制只允許輸入數字JS
- 只允許一個程式執行winformORM
- centos普通許可權使用者安裝jenkinsCentOSJenkins
- ubuntu 安裝onethink沒有目錄許可權Ubuntu
- CentOS 6.X 上安裝配置 NFS 目錄共享CentOSNFS
- 怎樣設定才能允許外網訪問MySQLMySql
- 雲伺服器centos6.5調整home根目錄大小伺服器CentOS
- mysql 安裝目錄MySql
- 改變檔案或目錄的訪問許可權命令(轉)訪問許可權