ubuntu14.04 server ftp 服務安裝配置詳解

JohRoth 8年前發布 | 54K 次閱讀 FTP服務器

來自: http://blog.csdn.net/ubuntu64fan/article/details/50596122


ubuntu14.04 server ftp 服務安裝配置詳解

cheungmine

2016-01-27

http://wiki.ubuntu.com.cn/Vsftpd

0 安裝好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.txt

cab
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模式運行vsftpd

listen_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/cab
local_root=/home/vsftpd/cab

# vi /etc/vsftpd.d/sedan
local_root=/home/vsftpd/sedan

最后一個是特殊,可以上傳文件的用戶:

# vi /etc/vsftpd.d/limo
local_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

 本文由用戶 JohRoth 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!