ubuntu14.04 server ftp 服務安裝配置詳解
來自: http://blog.csdn.net/ubuntu64fan/article/details/50596122
ubuntu14.04 server ftp 服務安裝配置詳解
cheungmine
2016-01-27
http://wiki.ubuntu.com.cn/Vsftpd0 安裝好vsftpd服務
vsftpd - Very Secure FTP Daemon
安裝
$ sudo apt-get install vsftpd關閉,啟動
$ sudo service vsftpd stop|start|restart實際目錄在: /srv/ftp/
訪問URL: ftp://yourhost
1 下載需要的軟件包
$ wget http://ftp.us.debian.org/debian/pool/main/d/db4.8/libdb4.8_4.8.30-2_amd64.deb $ wget http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/db4.8-util_4.8.30-11ubuntu1_amd64.deb
2 安裝軟件包
$ sudo dpkg -i libdb4.8_4.8.30-2_amd64.deb $ sudo dpkg -i db4.8-util_4.8.30-11ubuntu1_amd64.deb
3 創建虛擬用戶文件
$ vi ~/ftpvusers.txtcab 123456 sedan 234567 limo 345678
4 數據庫文件導入db
$ sudo mkdir /etc/vsftpd.d $ sudo rm -f /etc/vsftpd.d/vsftpd_login.db $ sudo db4.8_load -T -t hash -f ~/ftpvusers.txt /etc/vsftpd.d/vsftpd_login.db
將數據庫文件設置權限為600,并不需要被其他用戶讀,修改:
$ sudo chmod 600 /etc/vsftpd.d/vsftpd_login.db
5 創建鏈接
$ sudo ln -s /lib/x86_64-linux-gnu/security/pam_userdb.so /lib/security/pam_userdb.so
6 編輯PAM配置文件
$ sudo vi /etc/pam.d/vsftpd_login
auth required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login可見,/etc/vsftpd.d/vsftpd_login 指向了 /etc/vsftpd.d/vsftpd_login.db
ftp的虛擬用戶將采用PAM進行驗證,這是通過: /etc/vsftpd.conf 文件中的語句
pam_service_name=vsftpd
來啟用的,稍后我們要配置: /etc/vsftpd.conf,使其指向
pam_service_name=vsftpd_login
7 為虛擬用戶創建本地系統用戶
相當于就是虛擬用戶借用本地用戶的名去訪問ftp服務器. 就是把一個本地用戶和一個目錄進行綁定,也就是說這個用戶默認訪問的地方就是這個綁定的目錄.
新建一個系統用戶vsftpd,用戶主目錄為/home/vsftpd, 用戶登錄終端
設為/bin/false(即使之不能登錄系統)
#### 創建ftp讀寫訪問用戶目錄(vsftpd訪問權限) $ sudo mkdir -p /home/vsftpd/limo $ sudo useradd vsftpd -d /home/vsftpd -s /bin/false $ sudo chown -R vsftpd:vsftpd /home/vsftpd $ sudo chgrp -R vsftpd /home/vsftpd $ sudo chmod -R 700 /home/vsftpd創建ftp只讀訪問用戶目錄(root訪問權限)
$ sudo mkdir /home/vsftpd/{cab,sedan}</pre>
8 修改vsftpd配置文件
/etc/vsftpd.conf
先備份
cp /etc/vsftpd.conf /etc/vsftpd.conf.bac
vi /etc/vsftpd.conf
確保以下配置:
------------------------------------------------------------------------listen=YES #以standalone模式運行vsftpdlisten_ipv6=YES #注釋掉這個!! 解決錯誤: 500 OOPS: run two copies of vsftpd for IPv4 and IPv6
anonymous_enable=NO #禁止匿名訪問 dirmessage_enable=YES #顯示目錄下的message消息
xferlog_enable=YES #啟用日志 xferlog_file=/var/log/vsftpd.log #設定日志路徑 xferlog_std_format=YES #使用標準日志格式
chroot_local_user=YES #限定用戶在家目錄 guest_enable=YES #啟用虛擬用戶 guest_username=vsftpd #將虛擬用戶轉換成本地用戶vsftpd
user_config_dir=/etc/vsftpd.d #虛擬用戶的配置文件存放目錄 pam_service_name=vsftpd_login #指定認定文件=> /etc/pam.d/vsftpd_login
local_enable=YES secure_chroot_dir=/var/run/vsftpd/empty #此句必要!! allow_writeable_chroot=YES # 解決錯誤: 500 OOPS: vsftpd: refusing to run with writable root inside chroot</pre>------------------------------------------------------------------------
9 配置虛擬用戶配置文件
虛擬用戶的配置文件存放目錄在/etc/vsftpd.conf的user_config_dir指定,因此要在
/etc/vsftpd.d目錄下創建用戶配置文件:cab, sedan, limo
# vi /etc/vsftpd.d/cablocal_root=/home/vsftpd/cab
# vi /etc/vsftpd.d/sedanlocal_root=/home/vsftpd/sedan
最后一個是特殊,可以上傳文件的用戶:
# vi /etc/vsftpd.d/limolocal_root=/home/vsftpd/limo # 指定家目錄 write_enable=YES # 開啟全局上傳(寫)權限 anon_world_readable_only=NO # 關閉匿名用戶只讀(下載)權限 anon_upload_enable=YES # 開啟匿名用戶上傳權限 anon_mkdir_write_enable=YES # 開啟匿名用戶建目錄權限 anon_other_write_enable=YES # 開啟匿名用戶除上傳和建目錄之外的寫權限(如重命名,刪除等)
10 服務啟用與停止
$ sudo killall vsftpd $ sudo /usr/sbin/vsftpd /etc/vsftpd.conf & 或者 $ sudo service vsftpd stop $ sudo service vsftpd start|restart
瀏覽器訪問:
ftp://cab:123456@yourhost
ftp://sedan:234567@yourhost
ftp://limo:345678@yourhost
FTP命令行:
$ ftp cab:123456@yourhost
$ ftp sedan:234567@yourhost
$ ftp limo:345678@yourhost
FTP命令參考:
http://www.cnblogs.com/xmphoenix/archive/2011/03/11/1981831.html
當然也可以用lftp訪問。需要安裝lftp
LFTP命令參考:
http://blog.csdn.net/fjb2080/article/details/7758486