當我使用 pem 檔案連接 FTP 時,它連接正常,預設情況下,它顯示此目錄:/home/ubuntu
現在我正在嘗試將/home/ubuntu
目錄更改為/var/www/myApplication
.我是 Linux 新手,誰能告訴我需要使用哪些指令?
我怎麼才能看到預設的 ftp 路徑,而我的資料夾中沒有vsftpd
資料夾/檔案/etc
?
答案1
ftp 目錄預設為使用者HOME
目錄,因此實現目標的最簡單方法是建立一個新使用者並將其HOME
目錄設為/var/www/myApplication
:
usermod -d /var/www/myApplication/ exampleuser
如果你想限制您需要設定對此目錄的存取權限
chroot_local_user=YES
在你的vsftpd.conf
。然後使用以下命令重新啟動 vsftpd 服務:
service vsftpd restart
看Unix 和 Linux:如何僅在 Centos / Linux 安裝上建立具有特定 /dir/ 存取權限的 FTP 用戶
可能還有更簡單的方法,請參閱這裡:
若要變更 vsftpd 的預設登入目錄,請變更 ftp 使用者主目錄
/etc/passwd
:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
ftp 使用者 (userID=116) 主目錄變更為
/var/vsftpd
.這將允許預設/匿名/未知使用者登陸到特定位置(/var/vsftpd)。
答案2
我不太確定你是如何進行設定的,但你需要安裝vsftpd
.
腳步:
安裝
vsftpd
:sudo apt-get install vsftpd
備份
vsftpd.conf
:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
設定防火牆規則:
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp sudo ufw status
沒有防火牆,然後安裝:
sudo apt-get install ufw
- 使能夠:
sudo ufw enabe
建立一個使用者並將主目錄設為此
/var/www/ftp/myApplication
- 建立一個名為
ftp
如上所示的附加資料夾,以防您需要為其他使用者新增更多資料夾。 建立使用者:
sudo usermod -d /var/www/ftp/myApplication ftpuser
- 建立一個名為
設定其所有權,並確保使用以下命令刪除寫入權限
sudo chown nobody:nogroup /var/www/ftp sudo chmod a-w /var/www/ftp
將資料夾的所有權分配
myApplication
給用戶ftpuser
sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
安裝程式
/etc/vsftpd.conf
新增以下配置:# Allow anonymous FTP? (Disabled by default). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES write_enable=YES # Prevent the FTP-connected user from accessing any files or commands outside # the directory tree chroot_local_user=YES # Add a user_sub_token in order to insert the username in our local_root directory # path so our configuration will work for this user and any future users that might # be added user_sub_token=$USER local_root=/var/www/ftp # Set up the configuration so that access is given to a user only when they # are explicitly added to a list rather than by default userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
建立使用者並將其新增至 user_list:
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
重新啟動
daemon
以載入新配置:sudo systemctl restart vsftpd
來源: