使用vsftpd軟件搭建一個ftp服務器,你須要知足這樣的需求:建立3個帳戶,user1, user2, user3 ,其中這三個用戶均可以訪問同一個目錄,可是user1可讀寫,但user2和user3只讀.
步驟以下:vim
1)創建虛擬帳戶服務器
useradd vsftp -s /sbin/nologinsession
2 ) 創建虛擬帳戶相關的文件rest
vim /etc/vsftpd/vsftpd_loginip
user1ci
userhash
user2it
userio
user3cli
user
保存
3 )修改權限,只容許root用戶操做
chmod 600 !$
4 )生成對應的庫文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5 ) 建立虛擬帳號對應的目錄,指定爲配置文件
vim user1
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user2
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user3
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
6 )建立目錄
mkdir /home/vsftp
7 ) 修改權限/home/vsftp的擁有者
chmod -R vsftp:vsftp /home/vsftp/
8)設置關於認證的文件
vim /etc/pam.d/vsftpd
添加
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //若是是64位系統,則改
爲/lib64/security/pam_userdb.so
前面的.db是認證模塊
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //若是是64位系統,則改成/lib64/security/pam_userdb.so
9)修改/etc/vsftpd.conf文件
vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=NO
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
【上面的配置主要是針對系統用戶的,因此對咱們的虛擬用戶映射用戶無效】
guest_enable=YES
guest_username=vsftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
啓動vsftpd服務
/etc/init.d/vsftpd start便可
關於遇到的錯誤:
1).
出現問題:
[root@ip5 vsftpd_user_conf]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: guest_enable
[FAILED]
總結:
出現此類狀況是:
由於你的guest_enable=YES
行後面有空格,之後要養成習慣,後面不要留空格,該換行換行
2) 訪問出現:
出現:
[Delaying before reconnect: 29] 或者:從新鏈接前延時:ss
解決方案
vim /etc/vsftpd/vsftpd.conf文件中的
local_user=YES
注意:
在搭建pure-ftpd服務器的時候,也會出現第二種狀況
當初出現問題的緣由是
使用
/usr/local/pureftpd/bin/pure-pw passwd 用戶名
修改密碼以後
沒有進行密碼庫的更新,用戶登錄會出現2)相似的問題,要進行庫文件的更新
/usr/local/pureftpd/bin/pure-pw mkdb
便可