今天一公司合作家伙說要傳文件給我們這,就一文本文件非要求俺給他開個ftp,都沒則了,只能給開個,從來沒開過,在網絡上搜索了下linux下開ftp可以用自帶的vsftp也可以用軟件建一個,而且聽說vsftp也挺不錯,就按網絡教程一步步來了,這里主要是總結下自己的做法,畢竟不是每個人在要急用時候還去看一些文章的詳解。
1.先用這幾個命令看看是不是vsftpd安裝正常
#service
vsftpd start 啟動
#service vsftpd stop 停止
#service vsftpd restart 重啟
2.以上沒有問題的話編輯vsftpd的配置文件
[root@localhost /]# vi
/etc/vsftpd/vsftpd.conf //這個文件的具體內容解釋可以看下面“參考文章”第一個鏈接
3.anonymous_enable=YES 改成NO #禁止匿名訪問
4.在 vsftpd.conf
中找到 chroot_list_file=/etc/vsftpd.chroot_list把注釋去掉然后建立
/etc/vsftpd.chroot_list文件,在文件中輸入linux系統中的一個或多個用戶名(一行一個)。
注:這個用戶名是linux系統中root用戶添加的。
[root@localhost
/]# useradd -s /sbin/nologin
//這樣限制用戶不能使用ssh登錄
5.更改ftp端口仍然在vsftpd.conf文件中:
tcp_wrappers=YES
listen_port=2121
//自定義端口號,記得不要與已有端口沖突
local_root=/server/apache/htdocs
//設定用戶explorer連接ftp時候顯示的目錄
保存退出編輯。
6.
#service vsftpd
restart 重啟.然后一個利用系統已有用戶名登錄的ftp就開通了,
注:#service vsftpd start
命令只是在linux開啟后手動開啟vsftpd的命令,如果linux重啟,還要使用該命令重新啟動。
要想開機啟動vsftp服務:執行chkconfig
--level 35 vsftpd on
(網絡查詢的未實踐過)
后記:
如果有時間研究就多看看建立虛擬用戶那部分,虛擬用戶相比系統用戶也許會更安全些,也稍微復雜些。
引用建立虛擬用戶:
=====================================================
[root@server root]# useradd vuser #新建一個虛擬登陸指定的號!
[root@server
root]# vi users.txt #虛擬號范本一行用戶名下一行密碼
[root@server root]# db_load -T -t hash
-f users.txt /etc/vsftpd.login.db #把users.txt的內容加為虛擬用戶的帳號和密碼
[root@server
root]# chmod 600 /etc/vsftpd.login.db #為了安全修改里面的內容
[root@server root]# vi
/etc/pam.d/ftp #修改里面的內容,使之與下面的相同
[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,使其內容與anonymous有關的全部禁用,還有剛才的chroot也被列為禁用,如果想用的話保證虛擬號能常的前提下再另行測試,并在最后加入二句話:
guest_enable=YES
guest_username=vuser 接下來就是重啟vsftpd
[root@server root]# killall -HUP vsftpd #!
[root@server
root]# ftp localhost #測試
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 #虛擬號
331 Please specify the
password.
Password: #虛擬號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).
#怎么會禁止了呢?想一下上面的,,呵呵,這就是因為vuser用戶的權限啊,只需"chmod o+r
/home/vuser"那可瀏覽,但不可上傳,因為沒有"w"位
=====================================
網絡參考文章:
http://www.bianceng.cn/OS/Linux/200706/3020.htm
http://www.shineblog.com/user2/24790/archives/2005/175940.shtml
這兩篇都比較詳細。