ubuntu vsftpd

      在〈ubuntu vsftpd〉中尚無留言

安裝

sudo apt-get -y install vsftpd

啟動

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

設定

sudo vim /etc/vsftpd.conf

listen=NO # 阻止 vsftpd 在獨立模式下運行
listen_ipv6=YES # vsftpd 將監聽 ipv6 而不是 IPv4,你可以根據你的網絡情況設置
anonymous_enable=NO # 關閉匿名登錄
local_enable=YES # 允許本地用戶登錄
write_enable=YES # 啟用可以修改文件的 FTP 命令
local_umask=022 # 本地用戶創建文件的 umask 值
dirmessage_enable=YES # 當用戶第一次進入新目錄時顯示提示消息
xferlog_enable=YES # 一個存有詳細的上傳和下載信息的日誌文件
connect_from_port_20=YES # 在伺服器上針對 PORT 類型的連接使用埠 20(FTP 數據)
xferlog_std_format=YES # 保持標準日誌文件格式
chroot_local_user=YES #變更ftp目錄為根目錄, 防止跳脫ftp之外
allow_writeable_chroot=YES
pam_service_name=vsftpd # vsftpd 將使用的 PAM 驗證設備的名字
userlist_enable=YES # 允許 vsftpd 加載用戶名字列表
tcp_wrappers=YES # 打開 tcp 包裝器
utf8_filesystem=YES #防止中文亂碼

設定完後, 需重啟ftp
sudo systemctl restart vsftpd

新增帳號

sudo useradd -m -s /bin/bash shenny : 一定要加 -s, 否則無法登入
sudo passwd shenny

連線

在Windows下使用filezilla 連線, 即可登入

但登入後, 按上一層目錄, 就會離開使用者的家目錄, 甚至可達到根目錄, 這代誌可是非常的大條的, 所以要加入以下二條限制

chroot_local_user=YES
allow_writeable_chroot=YES

公用目錄

若需將公用的目錄顯示給每一個ftp的使用者, 使用軟連結是沒用的. 唯一的方法, 就是使用mount –bind

比如 /data/public為公用目錄, 則在每個使用者家目錄下, 作如下操作

mkdir public
sudo mount --bind /data/public public

中文亂碼

使用Windows的Filezilla連線時, ubuntu系統中的中文會出現亂碼, 在vsftpd.conf加入下面的設定, 即可解決
utf8_filesystem=YES

記得重新啟動vsftpd

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *