今天一公司合作家伙說(shuō)要傳文件給我們這,就一文本文件非要求俺給他開(kāi)個(gè)ftp,都沒(méi)則了,只能給開(kāi)個(gè),從來(lái)沒(méi)開(kāi)過(guò),在網(wǎng)絡(luò)上搜索了下linux下開(kāi)ftp可以用自帶的vsftp也可以用軟件建一個(gè),而且聽(tīng)說(shuō)vsftp也挺不錯(cuò),就按網(wǎng)絡(luò)教程一步步來(lái)了,這里主要是總結(jié)下自己的做法,畢竟不是每個(gè)人在要急用時(shí)候還去看一些文章的詳解。
1.先用這幾個(gè)命令看看是不是vsftpd安裝正常
#service
vsftpd start 啟動(dòng)
#service vsftpd stop 停止
#service vsftpd restart 重啟
2.以上沒(méi)有問(wèn)題的話編輯vsftpd的配置文件
[root@localhost /]# vi
/etc/vsftpd/vsftpd.conf //這個(gè)文件的具體內(nèi)容解釋可以看下面“參考文章”第一個(gè)鏈接
3.anonymous_enable=YES 改成NO #禁止匿名訪問(wèn)
4.在 vsftpd.conf
中找到 chroot_list_file=/etc/vsftpd.chroot_list把注釋去掉然后建立
/etc/vsftpd.chroot_list文件,在文件中輸入linux系統(tǒng)中的一個(gè)或多個(gè)用戶名(一行一個(gè))。
注:這個(gè)用戶名是linux系統(tǒng)中root用戶添加的。
[root@localhost
/]# useradd -s /sbin/nologin
//這樣限制用戶不能使用ssh登錄
5.更改ftp端口仍然在vsftpd.conf文件中:
tcp_wrappers=YES
listen_port=2121
//自定義端口號(hào),記得不要與已有端口沖突
local_root=/server/apache/htdocs
//設(shè)定用戶explorer連接ftp時(shí)候顯示的目錄
保存退出編輯。
6.
#service vsftpd
restart 重啟.然后一個(gè)利用系統(tǒng)已有用戶名登錄的ftp就開(kāi)通了,
注:#service vsftpd start
命令只是在linux開(kāi)啟后手動(dòng)開(kāi)啟vsftpd的命令,如果linux重啟,還要使用該命令重新啟動(dòng)。
要想開(kāi)機(jī)啟動(dòng)vsftp服務(wù):執(zhí)行chkconfig
--level 35 vsftpd on
(網(wǎng)絡(luò)查詢的未實(shí)踐過(guò))
后記:
如果有時(shí)間研究就多看看建立虛擬用戶那部分,虛擬用戶相比系統(tǒng)用戶也許會(huì)更安全些,也稍微復(fù)雜些。
引用建立虛擬用戶:
=====================================================
[root@server root]# useradd vuser #新建一個(gè)虛擬登陸指定的號(hào)!
[root@server
root]# vi users.txt #虛擬號(hào)范本一行用戶名下一行密碼
[root@server root]# db_load -T -t hash
-f users.txt /etc/vsftpd.login.db #把users.txt的內(nèi)容加為虛擬用戶的帳號(hào)和密碼
[root@server
root]# chmod 600 /etc/vsftpd.login.db #為了安全修改里面的內(nèi)容
[root@server root]# vi
/etc/pam.d/ftp #修改里面的內(nèi)容,使之與下面的相同
[root@server root]# more
/etc/pam.d/ftp
#%PAM-1.0
#auth required
/lib/security/pam_listfile.so item=user sense=allow file
=/etc/ftpusers
onerr=succeed
#auth required /lib/security/pam_pwdb.so shadow
nullok
#auth required /lib/security/pam_shells.so
#account
required /lib/security/pam_pwdb.so
#session required
/lib/security/pam_pwdb.so
auth required pam_userdb.so
db=/etc/vsftpd.login
account required pam_userdb.so
db=/etc/vsftpd.login
再次修改/etc/vsftpd.conf,使其內(nèi)容與anonymous有關(guān)的全部禁用,還有剛才的chroot也被列為禁用,如果想用的話保證虛擬號(hào)能常的前提下再另行測(cè)試,并在最后加入二句話:
guest_enable=YES
guest_username=vuser 接下來(lái)就是重啟vsftpd
[root@server root]# killall -HUP vsftpd #!
[root@server
root]# ftp localhost #測(cè)試
Connected to server.redhat.org.cn.
220 Welcome
to linfeng's ftp server.
530 Please login with USER and PASS.
530 Please
login with USER and PASS.
KERBEROS_V4 rejected as an authentication
type
Name (localhost:root): tom #虛擬號(hào)
331 Please specify the
password.
Password: #虛擬號(hào)tom的密碼
230 Login successful. #成功
Remote
system type is UNIX.
Using binary mode to transfer files.
ftp>
ls
227 Entering Passive Mode (127,0,0,1,136,56)
150 Here comes the
directory listing.
226 Transfer done (but failed to open directory).
#怎么會(huì)禁止了呢?想一下上面的,,呵呵,這就是因?yàn)関user用戶的權(quán)限啊,只需"chmod o+r
/home/vuser"那可瀏覽,但不可上傳,因?yàn)闆](méi)有"w"位
=====================================
網(wǎng)絡(luò)參考文章:
http://www.bianceng.cn/OS/Linux/200706/3020.htm
http://www.shineblog.com/user2/24790/archives/2005/175940.shtml
這兩篇都比較詳細(xì)。