今天由於需求搭建了ftp服務,這裡需要注意的是centOS和linux下的redhat 是有不同之處的,親身做過、研究過,把一些學習之處說一說,如有錯誤,請大家指教;
首先,搭建vsftpd 服務:安裝包即可
rpm -ivh /var/ftp/CentOS/vsftpd-2.0.5-12.el5.x86_64.rpm (包的預設路徑是在/media/cdrom/CentOS/ 下),安裝即可
因為是建虛擬使用者,直接就奔主題去了。。呵呵
1.先vi 一個文字文件,奇數行是使用者名稱,偶數行是密碼,這點大家切記
文檔名字任意起,我這邊寫成了lonin.txt ,lonin裡面寫的就是咱們虛擬賬戶的名字和密碼。,
frank
coolbar1!.0
sanguo
sanguo
2.虛擬使用者需要一個資料庫的轉換,依賴於包db4,db4-utils,db4-devel
db4-devel-4.3.29-9.fc6
db4-4.3.29-9.fc6
db4-utils-4.3.29-9.fc6
3.將咱們建的文檔轉變成資料庫的形式。,,這一點很重要
db_load -T -t hash -f lonin.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db 這樣做事禁止其他使用者查看資料庫裡面的使用者,安全性很重要
4.添加pam認證。需要安裝包
pam-devel-0.99.6.2-4.el5
pam-0.99.6.2-4.el5
pam_pkcs11-0.5.3-23
同時也要編輯/etc/pam.d/vsftpd
[root@localhost ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
這兩行放在檔案頭部,而且參數與linux redhat是不同的,
此後,要建立虛擬帳號,useradd -d /home/ftpsite/ vritual
這時需要注意的是,此時你的虛擬帳號上傳的目錄必須在home/ftpsite下。否側會提示你密碼不正確或者是500OPS錯誤
這樣就ok了。。。下面要做的就是對vsftpd.conf的編輯了
對於檔案的編輯,我就不在這解釋原因了。。
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/user_conf
virtual_use_local_privs=YES
之後咱們要在/etc/vsftpd/user_conf 編輯虛擬賬戶的許可權
那我的虛擬使用者frank
local_root=/home/ftpsite/SanGuo
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
這樣用frank使用者登入即可
[root@localhost user_conf]# ftp 192.168.2.46
Connected to 192.168.2.46.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.2.46:root): frank
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
這樣就OK了、、、如果大家有什麼疑問的,或者沒有做出來效果的,可以加QQ群:140704742
謝謝
from: http://www.linuxdiyf.com/viewarticle.php?id=203796