龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

CentOS中vsftp安裝與配置

2015.09.10 | 885閱讀 | 0條評(píng)論 | 未命名

一般我們?cè)诎惭b完系統(tǒng)后都會(huì)自動(dòng)安裝了vsftp服務(wù)了,但是有時(shí)候還是得需要自己動(dòng)手的,比如這兩天就在給我朋友配置了一下,順手把過程記錄下來,以便需要的時(shí)候查閱或者給需要的朋友提供方便:)

1. 安裝
使用chkconfig --list來查看是否裝有vsftpd服務(wù);
使用yum命令直接安裝:yum -y install vsftpd
然后為它創(chuàng)建日志文件:touch /var/log/vsftpd.log
這樣簡(jiǎn)單的兩個(gè)命令就完成了vsftp的安裝,但是如果你現(xiàn)在想這樣ftp://your_ip來訪問的話,那還不行,為什么??很簡(jiǎn)單,權(quán)限的問題!
2. 啟動(dòng)與配置自啟動(dòng)
使用chkconfig --list來查看vsftpd服務(wù)啟動(dòng)項(xiàng)情況;
如果看到的是如下顯示的結(jié)果:
vsftpd??????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
服務(wù)全部都是off的,注意這里的off表示的是服務(wù)器啟動(dòng)的時(shí)候是否會(huì)自啟動(dòng)服務(wù),我們使用如下命令來配置其自啟動(dòng):
chkconfig --level 2345 vsftpd on #2345對(duì)應(yīng)的是上面對(duì)應(yīng)的0-6項(xiàng)
查看與管理ftp服務(wù):
啟動(dòng)ftp服務(wù):service vsftpd start
查看ftp服務(wù)狀態(tài):service vsftpd status
重啟ftp服務(wù):service vsftpd restart
關(guān)閉ftp服務(wù):service vsftpd stop
3. 配置vsftp服務(wù)
編輯/etc/vsftpd/vsftpd.conf文件,配置vsftp服務(wù):
#vi?/etc/vsftpd/vsftpd.conf
3.1 編輯修改如下項(xiàng)目:
anonymous_enable=NO #設(shè)定不允許匿名訪問
local_enable=YES #設(shè)定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項(xiàng)目設(shè)定為NO的情況下所有虛擬用戶將無法訪問。
chroot_list_enable=YES #使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log #設(shè)定vsftpd的服務(wù)日志保存路徑。注意,該文件默認(rèn)不存在。必須要手動(dòng)touch出來
ascii_upload_enable=YES #允許使用ASCII模式上傳
ascii_download_enable=YES #設(shè)定支持ASCII模式的上傳和下載功能。
pam_service_name=vsftpd #PAM認(rèn)證文件名。PAM將根據(jù)/etc/pam.d/vsftpd進(jìn)行認(rèn)證
以下這些是關(guān)于Vsftpd虛擬用戶支持的重要CentOS FTP服務(wù)配置項(xiàng)目。默認(rèn)vsftpd.conf中不包含這些設(shè)定項(xiàng)目,需要自己手動(dòng)添加RHEL/CentOS FTP服務(wù)配置。?
guest_enable=YES #設(shè)定啟用虛擬用戶功能。
guest_username=ftp #指定虛擬用戶的宿主用戶。centos 里面已經(jīng)有內(nèi)置的ftp用戶了(注:此用戶在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用戶)-RHEL/CentOS中已經(jīng)有內(nèi)置的ftp用戶了
user_config_dir=/etc/vsftpd/vuser_conf #設(shè)定虛擬用戶個(gè)人vsftp的RHEL/CentOS FTP服務(wù)文件存放路徑。存放虛擬用戶個(gè)性的CentOS FTP服務(wù)文件(配置文件名=虛擬用戶名)
3.2?創(chuàng)建chroot list,將ftp用戶加入其中:
touch /etc/vsftpd/chroot_list
echo ftp(#指定虛擬用戶的宿主用戶。見上)?>> /etc/vsftpd/chroot_list
3.3?進(jìn)行認(rèn)證:
首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個(gè)包。
yum install db4 db4-utils 或者 yum install db4*(*表示安裝所有含db4字符的安裝包)
然后,創(chuàng)建用戶密碼文本/etc/vsftpd/vuser_passwd.txt(①這五個(gè)地方的文件名要一樣)?,注意奇行是用戶名,偶行是密碼
ftpuser1
ftppass1
ftpuser2
ftppass2
接著,.生成虛擬用戶認(rèn)證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db(②、③這個(gè)地方的文件名要一樣)
編輯認(rèn)證文件/etc/pam.d/vsftpd
注釋掉/etc/pam.d/vsftpd中所有的內(nèi)容 反正已經(jīng)不要本地用戶的認(rèn)證了
特別注意 以下區(qū)別 32位系統(tǒng)增加以下兩句: auth??????required???? pam_userdb.so db=/etc/vsftpd/vuser_passwd(④這個(gè)地方的文件名要一樣) account???required???? pam_userdb.so db=/etc/vsftpd/vuser_passwd(⑤這個(gè)地方的文件名要一樣) 64位系統(tǒng)增加以下兩句: auth???required??? /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd(④這四個(gè)地方的文件名要一樣) account required??? /lib64/security/pam_userdb.sodb=/etc/vsftpd/vuser_passwd(⑤這四個(gè)地方的文件名要一樣) 查看系統(tǒng)支持位數(shù): getconf LONG_BIT
最后,創(chuàng)建虛擬用戶個(gè)性RHEL/CentOS FTP服務(wù)文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1
內(nèi)容如下:
local_root=/opt/var/ftp1 虛擬用戶的根目錄(根據(jù)實(shí)際修改)
write_enable=YES 可寫
anon_umask=022 掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
4. 為目錄附權(quán)限并重啟動(dòng)vsftp服務(wù):
mkdir /opt/var/ftp/ftpuser1(創(chuàng)建ftp儲(chǔ)存目錄)
chmod 777 /opt/var/ftp/ftpuser1
service vsftpd restart
5. 常見問題:
5.1?553 Could not create file
一般都是SELinux的問題,設(shè)置SELinux的一個(gè)值,重啟服務(wù)器即可。
setsebool -P ftpd_disable_trans 1
service vsftpd restart
5.2?500 OOPS: bad bool value in config file for: write_enable
注意你的CentOS FTP服務(wù)文件中保證每一行最后沒有任何空格,一般出錯(cuò)就是在多余的空格上。
5.3 虛擬用戶上傳后默認(rèn)權(quán)限為:600,用戶無法下載文件
在配置文件中添加或修改anon_umask項(xiàng)的值。如anon_umask=022或000
6. 使用命令添加ftp用戶(與3.3類似)
6.1 添加ftp用戶,命令格式:
#adduser -d /目錄路徑 -g ftp -s /sbin/nologin 用戶名
如使用:#adduser -d /opt/dongge -g ftp -s /sbin/nologin dongge
增加了一個(gè)名為dongge的用戶,它的目錄屬于/opt/dongge下面,屬于ftp用戶組。此用戶是不可以登陸我們終端服務(wù)器的。
6.2 添加密碼:
#passwd dongge
設(shè)置用戶名為FTPUSER的用戶在目錄下可以讀寫的權(quán)限
#chown -R dongge:ftp /opt/dongge/
6.3?目錄掛載:
如果我們想把/opt/dongge目錄掛到我們的ftp目錄下面,可以使用mount命令
#mount –-bind /opt/dongge /var/ftp/dongge
這樣我們就完成了添加用戶與掛載目錄的配置。
7. 支持http下載
編輯/etc/httpd/conf/httpd.conf文件:
#vi?/etc/httpd/conf/httpd.conf
添加如下代碼:
Alias /fileshare "/var/ftp/ftpuser1"
<Directory "/var/ftp/ftpuser1">
????Options Indexes MultiViews
????AllowOverride None
????Order allow,deny
????Allow from all
</Directory>
重啟httpd服務(wù),即可使用http://your_ip/fileshare來訪問并下載所需要文件:)
8. 偷懶vsftp的配置方法
完成步驟1,2,3.1后,直接將如下代碼添加到/etc/vsftpd/vsftpd.conf文件中:
write_enable=YES 可寫
anon_umask=022 掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重啟vsftpd服務(wù)即可 來源:http://blog.chinaunix.net/uid-7271021-id-3086186.html

贊 (

發(fā)表評(píng)論