⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0410vsftpd.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		<li>此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。</li>
		</span></ul>

		由于具有这样的特点,所以 vsftpd 会变的比较安全一些咯!底下就开始来谈如何设定吧!<br /><br />
	</div>

	<hr /><a NAME="server_pkg"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">所需要的套件以及套件结构</span><br />
	<div class=block2>
		vsftpd 所需要的套件只有一个,那就是 vsftpd 啊!^_^!如果你的 CentOS 没有安装,
		请利用 yum install vsftpd 来安装他吧!套件很小,下载连同安装不需要几秒钟就搞定了!
		而事实上整个套件提供的设定档也少的令人高兴!简单易用就是 vsftpd 的特色啊! ^_^!
		这些设定资料比较重要的有∶<br />
		<ul>
		<li><span class=text_import1>/etc/vsftpd/vsftpd.conf</span><br />
		严格来说,整个 vsftpd 的设定档就只有这个档案!这个档案的设定是以 
		<a href="../linux_basic/0320bash.php#variable">bash 的变数设定</a>相同的方式来处理的,
		也就是『<span class=text_import2>参数=设定值</span>』来设定的,注意,
		<span class=text_import2>等号两边不能有空白喔</span>!至于详细的 vsftpd.conf 可以使用
		『 man 5 vsftpd.conf 』来详查。</li><br />

		<li><span class=text_import1>/etc/pam.d/vsftpd</span><br />
		这个是 vsftpd 使用 PAM 模组时的相关设定档。主要用来作为身份认证之用,还有一些使用者身份的抵挡功能,
		也是透过这个档案来达成的。你可以察看一下该档案∶<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>cat /etc/pam.d/vsftpd</span>
#%PAM-1.0
<span class=term_write>auth     required  pam_listfile.so item=user sense=deny 
file=/etc/vsftpd.ftpusers onerr=succeed</span>
auth     required  pam_stack.so service=system-auth
auth     required  pam_shells.so
account  required  pam_stack.so service=system-auth
session  required  pam_stack.so service=system-auth
</pre></td></tr></table>

		上面的特殊字体为同一行,那个 file 后面接的档案是『限制使用者无法使用 vsftpd 』之意,
		也就是说,其实你的限制档案不见得要使用系统预设值,也可以在这个档案里面进行修改啦! ^_^</li><br />

		<li><span class=text_import1>/etc/vsftpd.ftpusers</span><br />
		与上一个档案有关系,也就是 PAM 模组 (/etc/pam.d/vsftpd_ 所指定的那个无法登入的使用者设定档啊!
		这个档案的设定很简单,你只要将『不想让他登入的帐号』写入这个档案即可。一行一个帐号,看起来像这样∶<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>cat /etc/vsftpd.ftpusers</span>
# Users that are not allowed to login via ftp
root
bin
daemon
<span class=term_say>....底下省略....</span>
</pre></td></tr></table>

		瞧见没有?绝大部分的系统帐号都在这个档案内喔,也就是说,系统帐号预设是没有办法使用 vsftpd 的啦!
		如果你还想要让某些使用者无法登入,写在这里是最快的!</li><br />

		<li><span class=text_import1>/etc/vsftpd.user_list</span><br />
		这个档案是否能够生效与 vsftpd.conf 内的两个参数有关,分别是『 userlist_enable, userlist_deny 』。
		如果说 /etc/vsftpd.ftpusers 是 PAM 模组的抵挡设定项目,那么这个 /etc/vsftpd.user_list 
		则是 vsftpd 自订的抵挡项目。事实上这个档案与 /etc/vsftpd.ftpusers 几乎一模一样,
		在预设的情况下,你可以将不希望可登入 vsftpd 的帐号写入这里。不过这个档案的功能会依据 vsftpd.conf 设定档内的
		userlist_deny={YES/NO} 而不同,这得要特别留意喔!</li><br />

		<li><span class=text_import1>/etc/vsftpd.chroot_list</span><br />
		这个档案预设是不存在的,所以你必须要手动自行建立。这个档案的主要功能是可以将某些帐号的使用者 chroot
		在他们的家目录下!但这个档案要生效与 vsftpd.conf 内的『 chroot_list_enable, chroot_list_file 』两个参数有关。
		如果你想要将某些实体用户限制在他们的家目录下而不许到其他目录去,可以启动这个设定项目喔!</li><br />

		<li><span class=text_import1>/usr/sbin/vsftpd</span><br />
		这就是 vsftpd 的主要执行档咯!不要怀疑, vsftpd 只有这一个执行档而已啊!</li><br />

		<li><span class=text_import1>/var/ftp/</span><br />
		这个是 vsftpd 的预设匿名者登入的根目录喔!<br />
		</ul>

		大致上就只有这几个档案需要注意而已,而且每个档案的设定又都很简单!真是不错啊!<br /><br />
	</div>

	<hr /><a NAME="server_vsftpd.conf"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">vsftpd.conf 设定值说明</span><br />
	<div class=block2>
		事实上,/etc/vsftpd/vsftpd.conf 本身就是一个挺详细的设定档,且使用『 man 5 vsftpd.conf 』则可以得到完整的参数说明。
		不过我们这里依旧先将 vsftpd.conf 内的常用参数给他写出来,希望对您有帮助∶<br /><br />

		<hr /><li><span class=text_import1>与主机较相关的设定值</span></li>
		<ul>
		<li><span class=text_import2>connect_from_port_20=YES (NO)</span><br />
		记得在前一小节提到的主动式连线使用的 FTP 伺服器的埠号吗?这就是 ftp-data 的埠号;</li><br />
		<li><span class=text_import2>listen_port=21</span><br />
		vsftpd 使用的命令通道之埠号,如果您想要使用非正规的埠号,在这个设定项目修改吧!
		不过你必须要知道,这个设定值仅适合以 stand alone 的方式来启动喔!(对于 super daemon 无效)</li><br />
		<li><span class=text_import2>dirmessage_enable=YES (NO)</span><br />
		当使用者进入某个目录时,会显示该目录需要注意的内容,显示的档案预设是 
		.message ,你可以使用底下的设定项目来修订!</li><br />
		<li><span class=text_import2>message_file=.message</span><br />
		当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息!</li><br />
		<li><span class=text_import1>listen=YES (NO)</span><br />
		若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的!</li><br />
		<li><span class=text_import2>pasv_enable=YES (NO)</span><br />
		启动被动式连线模式(passive mode),一定要设定为 YES 的啦!</li><br />
		<li><span class=text_import1>use_localtime=YES (NO)</span><br />
		是否使用本地时间?vsftpd 预设使用 GMT 时间(格林威治),所以会比台湾晚 8 小时,建议设定为 YES 吧!</li><br />
		<li><span class=text_import1>write_enable=YES (NO)</span><br />
		如果你允许使用者上传资料时,就要启动这个设定值;</li><br />
		<li><span class=text_import2>connect_timeout=60</span><br />
		单位是秒,在资料连接的主动式连线模式下,我们发出的连接讯号在 60 秒内得不到用户端的回应,则不等待并强制断线咯。</li><br />
		<li><span class=text_import2>accept_timeout=60</span><br />
		当使用者以被动式 PASV 来进行资料传输时,如果主机启用 passive port 并等待 client 超过 60 秒而无回应,
		那么就给他强制断线!这个设定值与 connect_timeout 类似,不过一个是管理主动连线,一个管理被动连线。</li><br />
		<li><span class=text_import2>data_connection_timeout=300</span><br />
		如果伺服器与用户端的资料连线已经成功建立 (不论主动还是被动连线),但是可能由于线路问题导致
		300 秒内还是无法顺利的完成资料的传送,那用户端的连线就会被我们的 vsftpd 强制剔除!</li><br />
		<li><span class=text_import2>idle_session_timeout=300</span><br />
		如果使用者在 300 秒内都没有命令动作,强制离线!</li><br />
		<li><span class=text_import2>max_clients=0</span><br />
		如果 vsftpd 是以 stand alone 方式启动的,那么这个设定项目可以设定同一时间,最多有多少 
		client 可以同时连上 vsftpd 哩!?</li><br />
		<li><span class=text_import2>max_per_ip=0</span><br />
		与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少连线?</li><br />
		<li><span class=text_import2>pasv_max_port=0, pasv_max_port=0</span><br />
		上面两个是与 passive mode 使用的 port number 有关,如果您想要使用 65400 到 
		65410 这 11 个 port 来进行被动式连线模式的连接,可以这样设定 pasv_max_port=65410 以及 pasv_min_port=65400。
		如果是 0 的话,表示随机取用而不限制。</li><br />
		<li><span class=text_import2>ftpd_banner=一些文字说明</span><br />
		当使用者连线进入到 vsftpd 时,在 FTP 用户端软体上头会显示的说明文字。不过,这个设定值资料比较少啦!
		建议你可以使用底下的设定值来取代这个项目;</li><br />
		<li><span class=text_import2>banner_file=/path/file</span><br />
		这个项目可以指定某个纯文字档作为使用者登入 vsftpd 伺服器时所显示的欢迎字眼。</li><br />
		</ul>

		<hr /><li><span class=text_import1>与实体用户较相关的设定值</span></li>
		<ul>
		<li><span class=text_import2>guest_enable=YES (NO)</span><br />
		若这个值设定为 YES 时,那么任何非 anonymous 登入的帐号,均会被假设成为 guest (访客) 喔!
		至于访客在 vsftpd 当中,预设会取得 ftp 这个使用者的相关权限。但可以透过 guest_username 来修改。</li><br />
		<li><span class=text_import2>guest_username=ftp</span><br />
		在 guest_enable=YES 时才会生效,指定访客的身份而已。</li><br />
		<li><span class=text_import2>local_enable=YES (NO)</span><br />
		这个设定值必须要为 YES 时,在 /etc/passwd 内的帐号才能以实体用户的方式登入我们的 vsftpd 主机喔!</li><br />
		<li><span class=text_import2>local_max_rate=0</span><br />
		实体用户的传输速度限制,单位为 bytes/second, 0 为不限制。</li><br />
		<li><span class=text_import2>chroot_local_user=YES (NO)</span><br />
		将使用者限制在自己的家目录之内(chroot)!这个设定在 vsftpd 当中预设是 NO,因为有底下两个设定项目的辅助喔!
		所以不需要启动他! 
		<li><span class=text_import2>chroot_list_enable=YES (NO)</span><br />
		是否启用将某些实体用户限制在他们的家目录内?预设是 NO ,不过,如果您想要让某些使用者无法离开他们的家目录时,
		可以考虑将这个设定为 YES ,并且规划下个设定值</li><br />
		<li><span class=text_import2>chroot_list_file=/etc/vsftpd.chroot_list</span><br />
		如果 chroot_list_enable=YES 那么就可以设定这个项目了!
		他里面可以规定那一个实体用户会被限制在自己的家目录内而无法离开!(chroot)
		一行一个帐号即可!</li><br />
		<li><span class=text_import2>userlist_enable=YES (NO)</span><br />
		是否藉助 vsftpd 的抵挡机制来处理某些不受欢迎的帐号,与底下的设定有关;</li><br />
		<li><span class=text_import2>userlist_deny=YES (NO)</span><br />
		当 userlist_enable=YES 时才会生效的设定,若此设定值为 YES 时,则当使用者帐号被列入到某个档案时,
		在该档案内的使用者将无法登入 vsftpd 伺服器!该档案档名与下列设定项目有关。
		<li><span class=text_import2>userlist_file=/etc/vsftpd.user_list</span><br />
		若上面 userlist_deny=YES 时,则这个档案就有用处了!在这个档案内的帐号都无法使用 vsftpd 喔!</li><br />
		</ul>

		<hr /><li><span class=text_import1>匿名者登入的设定值</span></li>
		<ul>
		<li><span class=text_import2>anonymous_enable=YES (NO)</span><br />
		设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有相关设定都需要将这个设定为 
		anonymous_enable=YES 之后才会生效!</li><br />
		<li><span class=text_import2>anon_world_readable_only=YES (NO)</span><br />
		仅允许 anonymous 具有下载可读档案的权限,预设是 YES。</li><br />
		<li><span class=text_import2>anon_other_write_enable=YES (NO)</span><br />
		是否允许 anonymous 具有写入的权限?预设是 NO!如果要设定为 YES,
		那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID 拥有者可以写入才行!</li><br />
		<li><span class=text_import2>anon_mkdir_write_enable=YES (NO)</span><br />
		是否让 anonymous 具有建立目录的权限?预设值是 NO!如果要设定为 YES,
		那么 anony_other_write_enable 必须设定为 YES !</li><br />
		<li><span class=text_import2>anon_upload_enable=YES (NO)</span><br />
		是否让 anonymous 具有上传资料的功能,预设是 NO,如果要设定为 YES ,
		则 anon_other_write_enable=YES 必须设定。</li><br />
		<li><span class=text_import2>deny_email_enable=YES (NO)</span><br />
		将某些特殊的 email address 抵挡住,不让那些 anonymous 登入!
		如果以 anonymous 登入主机时,不是会要求输入密码吗?密码不是要您
		输入您的 email address 吗?如果你很讨厌某些 email address ,
		就可以使用这个设定来将他取消登入的权限!需与下个设定项目配合∶</li><br />
		<li><span class=text_import2>banned_email_file=/etc/vsftpd.banned_emails</span><br />
		如果 deny_email_enable=YES 时,可以利用这个设定项目来规定哪个 
		email address 不可登入我们的 vsftpd 喔!在上面设定的档案内,一行输入一个 email address 即可!</li><br />

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -