{"id":1055,"date":"2010-01-29T17:05:00","date_gmt":"2010-01-29T09:05:00","guid":{"rendered":"\/?p=1055"},"modified":"2010-01-29T17:05:00","modified_gmt":"2010-01-29T17:05:00","slug":"1055","status":"publish","type":"post","link":"https:\/\/blog.vimge.com\/archives\/linux\/1055.html","title":{"rendered":"\u5e38\u7528CentOS vsftpd\u5b89\u88c5\u8bbe\u7f6e\u8bb2\u89e3"},"content":{"rendered":"

CentOS vsftpd\u8fd8\u662f\u6bd4\u8f83\u5e38\u7528\u7684\uff0c\u4e8e\u662f\u6211\u7814\u7a76\u4e86\u4e00\u4e0bCentOS vsftpd\uff0c\u5728\u8fd9\u91cc\u62ff\u51fa\u6765\u548c\u5927\u5bb6\u5206\u4eab\u4e00\u4e0b\uff0c\u5e0c\u671b\u5bf9\u5927\u5bb6\u6709\u7528\u3002\u8fd9\u91cc\u8bb2\u89e3\u4ecb\u7ecdcentos vsftpd\u7684\u8bbe\u7f6e\u3002CentOS Linux\u4e0eRHEL\u4ea7\u54c1\u6709\u7740\u4e25\u683c\u7684\u7248\u672c\u5bf9\u5e94\u5173\u7cfb\uff0c\u4f8b\u5982\u4f7f\u7528RHEL 4\u6e90\u4ee3\u7801\u91cd\u65b0\u7f16\u8bd1\u53d1\u5e03\u7684\u662fCentOS Linux 4.0\uff0c\u4e0eRHEL 5\u5bf9\u5e94\u7684\u662fCentOS Linux 5.0\u3002<\/p>\n

\u672c\u5730\u7528\u6237\u7ecf\u8fc7\u8bbe\u7f6e\u540e\u53ef\u4ee5\u8fdb\u884cftp\u8bbf\u95ee\u3002\u800c\u533f\u540d\u7528\u6237\u7684\u8bbf\u95ee\u7ecf\u8fc7\u4e86\u8f6c\u6362\uff0c\u5728\u7cfb\u7edf\u4e2d\u3002\u533f\u540d\u7528\u6237\u7684\u7528\u6237\u540d\u4e3aftp, \u7cfb\u7edf\u5c06\u5176\u5c5e\u6027\u8bbe\u7f6e\u4e3a \u6839\u76ee\u5f55 \/var\/ftp\/, \u7981\u6b62\u63a7\u5236\u53f0\u767b\u9646\uff0c\u4e5f\u5c31\u662f\uff0c\u8be5\u7528\u6237\u53ea\u80fd\u8fdb\u884cftp\u8bbf\u95ee\u3002CentOS vsftpd \u7684\u6267\u884c\u7a0b\u5e8f\u4e3a \/etc\/vsftpd\uff0c\u4fee\u6539 \/etc\/vsftpd\/vsftpd.conf\u6587\u4ef6\u4e2d\u7684listen\u8981\u8bbe\u7f6e\u4e3aYES.<\/p>\n

CentOS vsftpd\u6709\u4e24\u79cd\u5f00\u673a\u81ea\u542f\u52a8\u6a21\u5f0f: inet\u6a21\u5f0f\u548cstandalone\u6a21\u5f0f\uff0c\u63a8\u8350\u4f7f\u7528standalone\u6a21\u5f0f\u3002
\u5728CentOS\u4e2d\u5df2\u96c6\u6210\u4e86CentOS vsftpd\u8f6f\u4ef6\u3002CentOS vsftpd\u662f\u4e00\u4e2a\u5b89\u5168\u9ad8\u6548\u7684FTP\u670d\u52a1\u8f6f\u4ef6\uff0c\u5f97\u5230\u4e86\u5e7f\u6cdb\u7684\u5e94\u7528\u3002

\u672c\u6587\u4ecb\u7ecd\u4e24\u79cd\u5e38\u89c1\u5b89\u88c5\u5f62\u5f0f\u4ee5\u53ca\u4e24\u79cd\u5b89\u88c5\u65b9\u5f0f\u7684\u914d\u7f6e
1.rpm\u5305\u5f62\u5f0f\u5b89\u88c5
<\/font><\/strong>2.\u7f16\u8bd1\u5b89\u88c5<\/strong><\/p>\n

1.rpm\u5305\u5f62\u5f0f\u5b89\u88c5<\/font><\/strong><\/p>\n

\u4e00\u3001CentOS vsftpd\u5b89\u88c5<\/p>\n

\u5728\u670d\u52a1\u4e2d\u67e5\u770b\u662f\u5426\u5df2\u5b89\u88c5VSFTPD\u670d\u52a1\u3002\u5982\u6ca1\u6709\uff0c\u4e0b\u8f7d\u5e76\u5b89\u88c5\uff1a

<\/strong>rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm<\/p>\n

\u4e8c\u3001\u8bbe\u7f6eCentOS vsftpd\u81ea\u542f\u52a8<\/p>\n

chkconfig –level 35 vsftpd on<\/p>\n

\u4e09\u3001CentOS vsftpd\u914d\u7f6e<\/p>\n

1 \u6253\u5f00 \/etc\/vsftpd\/vsftpd.conf\u6587\u4ef6\u3002\u5c06anonymous_enable=YES\uff0c\u6539\u4e3aanonymous_enable=NO
2 \u6253\u5f00 \/etc\/vsftpd\/vsftpd.conf\u6587\u4ef6\u3002\u6dfb\u52a0user_config_dir=\/etc\/vsftpd\/virtual\uff0c\u5e76\u5efa\u7acbvirtual\u76ee\u5f55\u3002\u5728\u6b64\u76ee\u5f55\u4e2d\u5efa\u7acb\u4ee5\u7528\u6237\u540d\u4e3a\u6587\u4ef6\u540d\u7684\u6587\u4ef6\uff0c\u5e76\u5199\u5165\uff1alocal_root=[\u76ee\u5f55]\uff0c\u8fd9\u4e2a\u76ee\u5f55\u5373\u662fFTP\u8fde\u63a5\u65f6\u7684\u4e3b\u76ee\u5f55\u3002
3 \u9650\u5b9a\u7528\u6237\u53ea\u5728\u81ea\u5df1\u76ee\u5f55\uff1a\u4fee\u6539vsftpd.conf\u6587\u4ef6\uff0c\u53d6\u6d88\u6ce8\u91ca\uff1a
chroot_list_enable=YES
chroot_list_file=\/etc\/vsftpd\/chroot_list
\u5728\/etc\/vsftpd\/\u76ee\u5f55\u4e0b\u6dfb\u52a0\u6587\u4ef6chroot_list\uff0c\u52a0\u5165\u4f5c\u4e3aFTP\u7528\u6237\u7684\u672c\u5730\u7528\u6237\u540d\u3002
4 \u89e3\u51b3\u7528\u6237\u65e0\u6cd5\u8fdb\u5165\u76ee\u5f55\u95ee\u9898\uff1a
\u6253\u5f00\u7ec8\u7aef\uff0c\u8f93\u5165\uff1asetsebool -P ftpd_disable_trans 1
\u7136\u540e\u91cd\u542fFTP\u670d\u52a1\uff1aservice vsftpd restart<\/p>\n

\u56db\u3001\u6743\u9650\uff1a<\/p>\n

\u5047\u8bbe\u662f\/var\/www\/html
\u8fd9\u4e2a\u76ee\u5f55\u7684\u6743\u9650\u5e94\u8be5\u662f770\uff0cowner\u662froot\uff0cgroup\u662fftp
chmod 770 \/var\/www\/html
chown root:ftp \/var\/www\/html<\/p>\n

2.\u7f16\u8bd1\u5b89\u88c5<\/strong><\/p>\n

vsftpd-2.0.1.tar.gz\u5b89\u88c5\u7b14\u8bb0
1.\u5b89\u88c5
tar xzvf vsftpd-2.0.1.tar.gz
cd vsftpd-2.0.1
make
make install<\/p>\n

2.\u5b89\u88c5\u914d\u7f6e\u6587\u4ef6
#cp vsftpd.conf \/etc\/;
#cp RedHat\/vsftpd.pam \/etc\/pam.d\/ftp<\/p>\n

3.\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\/etc\/vsftpd.conf
\u6dfb\u52a0\uff1alisten=YES<\/p>\n

4.\u542f\u52a8\u670d\u52a1\u5668
#\/usr\/local\/sbin\/vsftpd &
mkdir \/var\/ftp
chmod og-w \/var\/ftp<\/p>\n

5.\u82e5\u6253\u7b97\u4ec5\u542f\u7528\/etc\/ftpusers\u6587\u4ef6\u4e2d\u51fa\u73b0\u7684\u7528\u6237\u7684\u8bdd\uff0c\u5219\u8981\u4fee\u6539\/etc\/pam.d\/ftp\u4e2d\u7684deny\u4e3aallow;\u5426\u5219\uff0c\u5219\u51fa\u73b0\u5728\u6587\u4ef6\u4e2d\u7684\u7528\u6237\u4e3a\u7981\u6b62\u767b\u5f55\u670d\u52a1\u5668\u7684\u7528\u6237\u3002<\/p>\n

6 \u901a\u8fc7pam\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u6dfb\u52a0\u865a\u62df\u7528\u6237
(1)\u5728\/etc\/pam.d\/\u76ee\u5f55\u4e2d\u521b\u5efa\u4e00\u4e2a\u6216\u8005\u4fee\u6539\u73b0\u6709\u6587\u4ef6ftp\uff08\u82e5\u4fee\u6539\uff0c\u5219\u5fc5\u987a\u5148\u6ce8\u91ca\u6389\u539f\u6765\u7684\u53ef\u7528\u9879\uff09
[root@VSFTP root]# touch \/etc\/pam.d\/ftp
(2)\u5728\/etc\/pam.d\/ftp\u91cc\u9762\u52a0\u4e0a\u5982\u4e0b\u7684\u4e24\u884c
auth required (\/lib\/security\/)pam_userdb.so db=\/etc\/vsftpd_login
account required (\/lib\/security\/)pam_userdb.so db=\/etc\/vsftpd_login<\/p>\n

\u6ce8\uff1a\u62ec\u53f7\u5185\u7684\u8def\u5f84\u53ef\u4ee5\u6ca1\u6709\u3002
(3)\u521b\u5efa\u4e00\u7cfb\u7edf\u7684\u7528\u6237\u540d\u7528\u5bc6\u7801\u7684\u6587\u4ef6login.txt
[root@VSFTP root]# vi login.txt<\/p>\n

  \u5728login.txt\u6587\u4ef6\u4e2d\uff0c\u8f93\u5165\u5982\u4e0b\u7684\u5185\u5bb9\u3002\u4e0b\u9762\u662f\u6211\u6dfb\u52a0\u7684FTP\u7684\u865a\u62df\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u5176\u4e2dtom\u4e3a\u7528\u6237\u540d\uff0c123\u662f\u5bc6\u7801\uff1bjerry\u4e3a\u7528\u6237\u540d\uff0c123\u662f\u5bc6\u7801\uff1b\u5176\u5185\u5bb9\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5b9a\u5236\u3002
tom
123
jerry
123
(4)\u521b\u5efa\u4e00\u4e2a\u771f\u5b9e\u7684\u7528\u6237\u540dvuser\uff0c\u5176\u76ee\u5f55\u53ef\u4ee5\u6839\u636e\u9700\u8981\u6765\u5b9a,\u4e5f\u53ef\u4ee5\u6309\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6765\u6dfb\u52a0\u3002
[root@VSFTP root]# useradd vuser
(5)\u6539\u53d8\u5176\u76ee\u5f55\/home\/vuser\u7684\u6743\u9650\uff0c\u4ee5\u4f7f\u5f97\u5176\u5b83\u7528\u6237\uff08\u5982tom\uff09\u767b\u5f55\u65f6\u80fd\u67e5\u770b\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u3002
[root@VSFTP root]#chmod o+r \/home\/vuser
(6)\u901a\u8fc7db_load\u6765\u521b\u5efa\u865a\u62df\u7528\u6237\u7684\u5e93\u6587\u4ef6\uff0c\u6b64\u65f6\u8981\u7528\u5230\u7684\u539f\u6587\u4ef6\u662f\u5f00\u59cb\u65f6\u521b\u5efa\u7684login.txt
[root@VSFTP root]# db_load -T -t hash -f login.txt \/etc\/vsftpd_login.db
(7)\u66f4\u6539vsftpd.conf\u6587\u4ef6\uff0c\u52a0\u5165\u5982\u4e0b\u7684\u51e0\u884c:
(pam_service_name=ftp)
guest_enable=YES
guest_username=vuser
(anon_world_readable_only=NO)<\/p>\n

\u6ce8\uff1a\u90a3\u4e9b\u6709\u5173\u533f\u540d\u7684\u9009\u9879\u6700\u597d\u5168\u90e8\u7f6e\u4e3aNO<\/p>\n

(8)\u91cd\u542fvsFTPd\u670d\u52a1\u5668:\/usr\/local\/sbin\/vsftpd &<\/p>\n

7 \u628a\u7cfb\u7edf\u9ed8\u8ba4\u7528standalone\u542f\u52a8\u6539\u4e3a\u7528xinetd\u542f\u52a8
(1)\u5728\/etc\/xinetd.d\/\u76ee\u5f55\u4e2d\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6vsftpd
[root@VSFTP root]# touch \/etc\/xinetd.d\/vsftpd
\/etc\/xinetd.d\/vsftpd\u5185\u5bb9\u5982\u4e0b\uff1a
service ftp
{
socket_type = stream
wait = no
user = root
server = \/usr\/sbin\/vsftpd
# server_args =
# log_on_success += DURATION USERID<\/p>\n

# log_on_failure += USERID
nice = 10
disable = no
}
(2)\u590d\u5236vsftpd.conf\u5230\/etc\/\u76ee\u5f55\u4e0b\uff0c\u56e0\u4e3axinetd\u5bf9vsFTPd\u914d\u5236\u6587\u4ef6\u5e94\u8be5\u5728\/etc\u76ee\u5f55\u4e0b\uff0c\u6240\u4ee5\u6211\u4eec\u5c31\u5fc5\u987b\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230\/etc\u76ee\u5f55\u4e0b\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u7cfb\u7edf\u4e2dlocal\u7528\u6237\u65e0\u6cd5\u767b\u5165\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u4e0d\u590d\u5236\u8fd9\u4e2a\u6587\u4ef6\u4f1a\u51fa\u73b0ftp\u975e\u533f\u540d\u7528\u6237\u65e0\u6cd5\u8bbf\u95ee\uff0c\u53ea\u80fd\u7528\u533f\u540d\u7528\u6237\u8bbf\u95ee\u3002
[root@VSFTP root]# cp \/etc\/vsftpd\/vsftpd.conf \/etc\/vsftpd.conf
(3)\u66f4\u6539\u914d\u5236\u6587\u4ef6\/etc\/vsftpd.conf\uff0c\u628a\u5982\u4e0b\u7684\u9879\u6ce8\u6389\uff1a\u4e5f\u5c31\u662f\u628a
listen=YES
\u6539\u4e3a
#listen=YES
\u6216\u8005\u662f\u628a\u8fd9\u884c\u5220\u9664\u4e5f\u884c\u3002
(4)\u628a\/etc\/init.d\/vsftpd\u8fd9\u4e2a\u6587\u4ef6\u5220\u9664\u3002\u5176\u5b9e\u6700\u597d\u7684\u5907\u4efd\u5230\u522b\u5904\uff0c\u56e0\u4e3a\u6211\u4eec\u6709\u65f6\u5b9e\u9a8c\u6765\u5b9e\u9a8c\u53bb\uff0c\u53ef\u80fd\u8fd8\u4f1a\u8f6c\u5230standalone\u6a21\u5f0f\u542f\u52a8\u3002\u6211\u5c31\u76f4\u63a5\u79fb\u52a8\u5230\u522b\u7684\u76ee\u5f55\uff0c\u6bd4\u5982\u662f\/root\u4e0b\u9762\u7684backup\u76ee\u5f55\u3002<\/p>\n

[root@VSFTP root]#mkdir \/root\/backup
[root@VSFTP root]# mv \/etc\/init.d\/vsftpd \/root\/backup
(5)\u8fd0\u884cntsysv\uff0c\u628avsftpd\u7684\u670d\u52a1\u53d6\u6d88
[root@VSFTP root]#ntsysv
[ ] vsftpd
(6)\u91cd\u542fxinetd\u670d\u52a1
[root@VSFTP root]# service xinetd restart<\/p>\n

\u5907\u6ce8\uff1a
<\/strong><\/font>1.\u5c06vsftpd\u6dfb\u52a0\u4e3axinetd\u542f\u52a8\u7684\u8bdd\u53ef\u80fd\u5b58\u5728\u542f\u52a8\u540e\u4e0d\u80fd\u8fde\u63a5\uff0c\u53ef\u80fd\u662f\u56e0iptables\u5f15\u8d77\u7684\uff0c\u5173\u95ediptables\u8bd5\u8bd5\u770b
2.vsftpd\u968f\u7cfb\u7edf\u542f\u52a8\u65b9\u6cd5\uff1a
  2.1 \u901a\u8fc7rc.local\u542f\u52a8\uff1a vsftpd.conf \u6dfb\u52a0listen=YES,\/etc\/rc.d\/rc.local \u6dfb\u52a0 \/usr\/local\/sbin\/vsftpd &
  2.2 \u901a\u8fc7xinetd\u542f\u52a8\uff1a\u6ce8\u91ca\u6389vsftpd.conf\u7684listen=YES, \u6dfb\u52a0\u4ee5\u4e0b\u6587\u4ef6<\/p>\n

\/etc\/xinetd.d\/vsftpd\u5185\u5bb9\u5982\u4e0b\uff1a
service ftp
{
socket_type = stream
wait = no
user = root
server = \/usr\/sbin\/vsftpd
# server_args =
# log_on_success += DURATION USERID<\/font><\/strong><\/p>\n

# log_on_failure += USERID
nice = 10
disable = no
}<\/font><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"

CentOS vsftpd\u8fd8\u662f\u6bd4\u8f83\u5e38\u7528\u7684\uff0c\u4e8e\u662f\u6211\u7814\u7a76\u4e86\u4e00\u4e0bCentOS vsftpd\uff0c\u5728\u8fd9\u91cc\u62ff\u51fa\u6765\u548c\u5927\u5bb6\u5206\u4eab\u4e00\u4e0b\uff0c\u5e0c\u671b\u5bf9\u5927\u5bb6\u6709\u7528\u3002\u8fd9\u91cc\u8bb2\u89e3\u4ecb\u7ecdcentos vsftpd\u7684\u8bbe\u7f6e\u3002CentOS Linux\u4e0eRHEL\u4ea7\u54c1\u6709\u7740\u4e25\u683c\u7684\u7248\u672c\u5bf9\u5e94\u5173\u7cfb\uff0c\u4f8b\u5982\u4f7f\u7528RHEL 4\u6e90\u4ee3\u7801\u91cd\u65b0\u7f16\u8bd1\u53d1\u5e03\u7684\u662fCentOS Linux 4.0\uff0c\u4e0eRHEL 5\u5bf9\u5e94\u7684\u662fCentOS Linux 5.0\u3002<\/p>\n

\u672c\u5730\u7528\u6237\u7ecf\u8fc7\u8bbe\u7f6e\u540e\u53ef\u4ee5\u8fdb\u884cftp\u8bbf\u95ee\u3002\u800c\u533f\u540d\u7528\u6237\u7684\u8bbf\u95ee\u7ecf\u8fc7\u4e86\u8f6c\u6362\uff0c\u5728\u7cfb\u7edf\u4e2d\u3002\u533f\u540d\u7528\u6237\u7684\u7528\u6237\u540d\u4e3aftp, \u7cfb\u7edf\u5c06\u5176\u5c5e\u6027\u8bbe\u7f6e\u4e3a \u6839\u76ee\u5f55 \/var\/ftp\/, \u7981\u6b62\u63a7\u5236\u53f0\u767b\u9646\uff0c\u4e5f\u5c31\u662f\uff0c\u8be5\u7528\u6237\u53ea\u80fd\u8fdb\u884cftp\u8bbf\u95ee\u3002CentOS vsftpd \u7684\u6267\u884c\u7a0b\u5e8f\u4e3a \/etc\/<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/posts\/1055"}],"collection":[{"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/comments?post=1055"}],"version-history":[{"count":0,"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/posts\/1055\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/media?parent=1055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/categories?post=1055"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.vimge.com\/wp-json\/wp\/v2\/tags?post=1055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}