{"id":2767,"date":"2017-10-11T13:17:57","date_gmt":"2017-10-11T05:17:57","guid":{"rendered":"http:\/\/cn.hostease.com\/xueyuan\/?p=2767"},"modified":"2017-10-11T13:17:57","modified_gmt":"2017-10-11T05:17:57","slug":"centos-7-x-vsftpd%e7%9a%84%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/cn.hostease.com\/xueyuan\/hemanual\/centos-7-x-vsftpd%e7%9a%84%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae\/","title":{"rendered":"CentOS 7.x vsftpd\u7684\u5b89\u88c5\u914d\u7f6e"},"content":{"rendered":"<h3 id=\"vsftpd\u5b89\u88c5\">vsftpd\u5b89\u88c5<\/h3>\n<p>yum\u5b89\u88c5vsftpd<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs cmake has-numbering\">yum -y <span class=\"hljs-keyword\">install<\/span> vsftpd<\/code><\/pre>\n<p>\u68c0\u67e5\u662f\u5426\u5b89\u88c5<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs 1c has-numbering\"> rpm -qa<span class=\"hljs-string\">|grep vsftpd<\/span><\/code><\/pre>\n<p>\u521b\u5efaftp\u7528\u6237\u7684\u76ee\u5f55<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs perl has-numbering\"><span class=\"hljs-keyword\">mkdir<\/span> \/ftphome<\/code><\/pre>\n<p>\u521b\u5efa\u865a\u62df\u7528\u6237\u53ef\u4ee5\u4f7f\u7528ftp\u4e0d\u80fd\u767b\u9646\u7cfb\u7edf<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs lasso has-numbering\">usadd ftpuser <span class=\"hljs-attribute\">-d<\/span> \/ftpfile <span class=\"hljs-attribute\">-s<\/span> \/sbin\/nolog\r\npasswd ftpuser\r\n<span class=\"hljs-comment\">\/\/\u8f93\u5165\u5bc6\u7801<\/span><\/code><\/pre>\n<p>\u4fee\u6539ftphome\u6743\u9650\u5e76\u6dfb\u52a0\u7528\u6237\u914d\u7f6e\u6587\u4ef6\u6700\u540e\u9700\u8981\u5c06\u914d\u6587\u4ef6\u5f15\u7528\u5230ftp\u914d\u7f6e\u4e2d<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs ruby has-numbering\">chown -<span class=\"hljs-constant\">R<\/span> ftpuser.ftpuser \/ftphome\r\nvim chroot_list <span class=\"hljs-symbol\">:wq<\/span>\u4fdd\u5b58\u9000\u51fa<\/code><\/pre>\n<p>\u4fee\u6539selinux<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs fix has-numbering\"><span class=\"hljs-attribute\">vim \/etc\/selinux\/config \u4fee\u6539 SELINUX<\/span>=<span class=\"hljs-string\">disable <\/span><\/code><\/pre>\n<p>\u914d\u7f6evsftpd.conf<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs avrasm has-numbering\">vim \/etc\/vsftpd\/vsftpd<span class=\"hljs-preprocessor\">.conf<\/span> <\/code><\/pre>\n<pre class=\"prettyprint\"><code class=\"hljs makefile has-numbering\"><span class=\"hljs-constant\">local_root<\/span>=\/ftphome \r\n<span class=\"hljs-comment\">#chroot_local_user=YES <\/span>\r\n<span class=\"hljs-constant\">anon_root<\/span>=\/ftphome\r\n<span class=\"hljs-constant\">use_localtime<\/span>=YES\r\n\r\n<span class=\"hljs-comment\">#\u533f\u540d<\/span>\r\n<span class=\"hljs-comment\">#anonymous_enable=YES<\/span>\r\n<span class=\"hljs-constant\">anonymous_enable<\/span>=NO\r\n<span class=\"hljs-constant\">local_enable<\/span>=YES\r\n<span class=\"hljs-comment\"># Uncomment this to enable any form of FTP write command.<\/span>\r\n<span class=\"hljs-constant\">write_enable<\/span>=YES\r\n<span class=\"hljs-comment\"># Default umask for local users is 077. You may wish to change this to 022,<\/span>\r\n<span class=\"hljs-comment\"># if your users expect that (022 is used by most other ftpd's)<\/span>\r\n<span class=\"hljs-constant\">local_umask<\/span>=022\r\n<span class=\"hljs-comment\">#anon_upload_enable=YES<\/span>\r\n<span class=\"hljs-comment\">#anon_mkdir_write_enable=YES<\/span>\r\n<span class=\"hljs-constant\">dirmessage_enable<\/span>=YES\r\n<span class=\"hljs-constant\">xferlog_enable<\/span>=YES\r\n<span class=\"hljs-constant\">connect_from_port_20<\/span>=YES\r\n<span class=\"hljs-comment\">#chown_uploads=YES<\/span>\r\n<span class=\"hljs-comment\">#chown_username=whoever<\/span>\r\n<span class=\"hljs-constant\">xferlog_std_format<\/span>=YES\r\n<span class=\"hljs-comment\">#xferlog_file=\/var\/log\/xferlog<\/span>\r\n<span class=\"hljs-constant\">xferlog_std_format<\/span>=YES\r\n<span class=\"hljs-comment\">#ascii_upload_enable=YES<\/span>\r\n<span class=\"hljs-comment\">#ascii_download_enable=YES<\/span>\r\n<span class=\"hljs-constant\">ftpd_banner<\/span>=Welcome to FTP Server\r\n<span class=\"hljs-constant\">chroot_local_user<\/span>=NO\r\n<span class=\"hljs-constant\">chroot_list_enable<\/span>=YES\r\n<span class=\"hljs-constant\">chroot_list_file<\/span>=\/etc\/vsftpd\/chroot_list\r\n<span class=\"hljs-constant\">listen<\/span>=YES\r\n<span class=\"hljs-comment\">#listen_ipv6=YES<\/span>\r\n<span class=\"hljs-constant\">pam_service_name<\/span>=vsftpd\r\n<span class=\"hljs-constant\">userlist_enable<\/span>=YES\r\n<span class=\"hljs-constant\">tcp_wrappers<\/span>=YES\r\n<span class=\"hljs-comment\">#pasv_enable=YES<\/span>\r\n<span class=\"hljs-constant\">pasv_min_port<\/span>=61001\r\n<span class=\"hljs-constant\">pasv_max_port<\/span>=62000\r\n<span class=\"hljs-constant\">allow_writeable_chroot<\/span>=YES<\/code><\/pre>\n<p>\u6dfb\u52a0ftp\u5f00\u673a\u81ea\u542f<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs avrasm has-numbering\">systemctl enable vsftpd<span class=\"hljs-preprocessor\">.service<\/span><\/code><\/pre>\n<p>\u5b89\u88c5ftp\u5ba2\u6237\u7aef\u68c0\u9a8c<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs livecodeserver has-numbering\">yum -y install <span class=\"hljs-keyword\">ftp<\/span><\/code><\/pre>\n<h3 id=\"\u914d\u7f6efirewall\u9632\u706b\u5899\">\u914d\u7f6efirewall\u9632\u706b\u5899<\/h3>\n<p>firewall\u5e38\u7528\u547d\u4ee4<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs lasso has-numbering\"><span class=\"hljs-number\">1<\/span>\u3001\u91cd\u542f\u3001\u5173\u95ed\u3001\u5f00\u542ffirewalld<span class=\"hljs-built_in\">.<\/span>service\u670d\u52a1\r\nservice firewalld restart \u91cd\u542f\r\nservice firewalld start \u5f00\u542f\r\nservice firewalld stop \u5173\u95ed\r\n<span class=\"hljs-number\">2<\/span>\u3001\u67e5\u770bfirewall\u670d\u52a1\u72b6\u6001\r\nsystemctl status firewall\r\n<span class=\"hljs-number\">3<\/span>\u3001\u67e5\u770bfirewall\u7684\u72b6\u6001\r\nfirewall<span class=\"hljs-attribute\">-cmd<\/span> <span class=\"hljs-subst\">--<\/span>state\r\n<span class=\"hljs-number\">4<\/span>\u3001\u67e5\u770b\u9632\u706b\u5899\u89c4\u5219\r\nfirewall<span class=\"hljs-attribute\">-cmd<\/span> <span class=\"hljs-subst\">--<\/span><span class=\"hljs-built_in\">list<\/span><span class=\"hljs-attribute\">-all<\/span> <\/code><\/pre>\n<p>\u914d\u7f6e\u9632\u706b\u5899\u89c4\u5219\uff08\u4e24\u79cd\u65b9\u5f0f\uff09\u00a0 \u4ee4\u540d\u65b9\u5f0f<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs lasso has-numbering\"> vim \/etc\/firewalld\/zones\/<span class=\"hljs-keyword\">public<\/span><span class=\"hljs-built_in\">.<\/span><span class=\"hljs-built_in\">xml<\/span><\/code><\/pre>\n<pre class=\"prettyprint\"><code class=\"hljs xml has-numbering\"> <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">rule<\/span> <span class=\"hljs-attribute\">family<\/span>=<span class=\"hljs-value\">\"ipv4\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">port<\/span> <span class=\"hljs-attribute\">protocol<\/span>=<span class=\"hljs-value\">\"tcp\"<\/span> <span class=\"hljs-attribute\">port<\/span>=<span class=\"hljs-value\">\"61001-62000\"<\/span>\/&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">accept<\/span>\/&gt;<\/span>\r\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-title\">rule<\/span>&gt;<\/span>\r\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">rule<\/span> <span class=\"hljs-attribute\">family<\/span>=<span class=\"hljs-value\">\"ipv4\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">port<\/span> <span class=\"hljs-attribute\">protocol<\/span>=<span class=\"hljs-value\">\"tcp\"<\/span> <span class=\"hljs-attribute\">port<\/span>=<span class=\"hljs-value\">\"21\"<\/span>\/&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">accept<\/span>\/&gt;<\/span>\r\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-title\">rule<\/span>&gt;<\/span>\r\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">rule<\/span> <span class=\"hljs-attribute\">family<\/span>=<span class=\"hljs-value\">\"ipv4\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">port<\/span> <span class=\"hljs-attribute\">protocol<\/span>=<span class=\"hljs-value\">\"tcp\"<\/span> <span class=\"hljs-attribute\">port<\/span>=<span class=\"hljs-value\">\"20\"<\/span>\/&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-title\">accept<\/span>\/&gt;<\/span>\r\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-title\">rule<\/span>&gt;<\/span><\/code><\/pre>\n<p>\u56fe\u5f62\u65b9\u5f0f<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs lasso has-numbering\">yum <span class=\"hljs-attribute\">-y<\/span> install firewall<span class=\"hljs-attribute\">-config<\/span>\r\n<span class=\"hljs-comment\">\/\/\u5b89\u88c5\u6210\u529f\u540e\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u5728\u5f39\u51fa\u754c\u9762\u8fdb\u884c\u914d\u7f6e<\/span>\r\nfirewall<span class=\"hljs-attribute\">-config<\/span><\/code><\/pre>\n<p>\u719f\u6089iptables\u7684\u53ef\u4ee5\u6309\u7167\u4e0b\u9762\u7684\u65b9\u5f0f\u914d\u7f6e\u00a0 \u7531\u4e8ecentos7 \u81ea\u5e26\u7684\u662ffirewall\u6ca1\u6709iptables\u6211\u4eec\u8981\u7981\u7528firewall\u5b89\u88c5\u914d\u7f6e\u914d\u7f6eiptables\u00a0 \u7981\u7528firewall<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs avrasm has-numbering\">systemctl stop firewalld<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u505c\u6b62firewall<\/span>\r\nsystemctl disable firewalld<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u7981\u6b62firewall\u5f00\u673a\u542f\u52a8<\/span><\/code><\/pre>\n<p>\u5b89\u88c5iptables<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs vala has-numbering\"><span class=\"hljs-preprocessor\">#\u5148\u68c0\u67e5\u662f\u5426\u5b89\u88c5\u4e86iptables<\/span>\r\nservice iptables status\r\n<span class=\"hljs-preprocessor\">#\u5b89\u88c5iptables<\/span>\r\nyum install -y iptables\r\n<span class=\"hljs-preprocessor\">#\u5347\u7ea7iptables<\/span>\r\nyum update iptables \r\n<span class=\"hljs-preprocessor\">#\u5b89\u88c5iptables-services<\/span>\r\nyum install iptables-services <\/code><\/pre>\n<p>\u914d\u7f6eiptables<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs  has-numbering\">vim \/etc\/sysconfig\/iptables<\/code><\/pre>\n<pre class=\"prettyprint\"><code class=\"hljs lasso has-numbering\"><span class=\"hljs-attribute\">-A<\/span> INPUT  <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>dport <span class=\"hljs-number\">61001<\/span>:<span class=\"hljs-number\">62000<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT  \r\n<span class=\"hljs-attribute\">-A<\/span> OUTPUT <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>sport <span class=\"hljs-number\">61001<\/span>:<span class=\"hljs-number\">62000<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT \r\n<span class=\"hljs-attribute\">-A<\/span> INPUT  <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>dport <span class=\"hljs-number\">20<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT   \r\n<span class=\"hljs-attribute\">-A<\/span> OUTPUT <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>sport <span class=\"hljs-number\">20<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT\r\n<span class=\"hljs-attribute\">-A<\/span> INPUT  <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>dport <span class=\"hljs-number\">21<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT\r\n<span class=\"hljs-attribute\">-A<\/span> OUTPUT <span class=\"hljs-attribute\">-p<\/span> TCP <span class=\"hljs-subst\">--<\/span>sport <span class=\"hljs-number\">21<\/span> <span class=\"hljs-attribute\">-j<\/span> ACCEPT<\/code><\/pre>\n<p>\u4fee\u6539iptable\u5f00\u673a\u542f\u52a8<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs avrasm has-numbering\">systemctl enable iptables<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#iptables\u5f00\u673a\u542f\u52a8<\/span><\/code><\/pre>\n<p>\u91cd\u65b0\u542f\u52a8\u673a\u5668\uff08\u4fee\u6539\u4e86selinux\u91cd\u65b0\u542f\u52a8\u8ba9\u914d\u7f6e\u751f\u6548\uff09<\/p>\n<pre class=\"prettyprint\"><code class=\"hljs avrasm has-numbering\">\u5e38\u7528\u547d\u4ee4\r\nsystemctl stop firewalld<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u505c\u6b62firewall<\/span>\r\nsystemctl disable firewalld<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u7981\u6b62firewall\u5f00\u673a\u542f\u52a8<\/span>\r\nsystemctl stop iptables<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u505c\u6b62iptables<\/span>\r\nsystemctl disable iptables<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u7981\u6b62iptables\u5f00\u673a\u542f\u52a8<\/span>\r\nsystemctl restart vsftpd<span class=\"hljs-preprocessor\">.service<\/span> <span class=\"hljs-preprocessor\">#\u91cd\u65b0\u542f\u52a8ftp\u670d\u52a1<\/span><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>vsftpd\u5b89\u88c5 yum\u5b89\u88c5vsftpd yum -y install vsftpd \u68c0\u67e5\u662f\u5426\u5b89\u88c5 rpm &#8211; &#8230; <a title=\"CentOS 7.x vsftpd\u7684\u5b89\u88c5\u914d\u7f6e\" class=\"read-more\" href=\"https:\/\/cn.hostease.com\/xueyuan\/hemanual\/centos-7-x-vsftpd%e7%9a%84%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae\/\" aria-label=\"\u9605\u8bfb CentOS 7.x vsftpd\u7684\u5b89\u88c5\u914d\u7f6e\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,49,5],"tags":[786,124],"class_list":["post-2767","post","type-post","status-publish","format-standard","hentry","category-hemanual","category-linux","category-jishu","tag-centos-7-x","tag-vsftpd"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/comments?post=2767"}],"version-history":[{"count":1,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2767\/revisions"}],"predecessor-version":[{"id":2768,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/posts\/2767\/revisions\/2768"}],"wp:attachment":[{"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/media?parent=2767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/categories?post=2767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cn.hostease.com\/xueyuan\/wp-json\/wp\/v2\/tags?post=2767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}