vsftpd.conf的工作目录和chroot设置

Share To Facebook Twitter

2.4.5 vsftpd.conf:vsftpd配置文件(2)

3. 工作目录和chroot监牢

当用户登录到vsftpd服务器上时,标准文件系统访问权限控制着用户能够访问哪些目录和文件以及如何访问这些目录和文件。有3个参数可以控制登录到vsftpd服务器的用户:

用户ID(UID);

初始工作目录;

根目录。

默认情况下,vsftpd服务器将本地用户的用户ID设置为该用户的用户名,将匿名用户的用户ID设置为ftp。本地用户从他的主目录开始,匿名用户从/var/ftp开始。

默认情况下,出于安全考虑,匿名用户被放置到一个chroot监牢中,本地用户则不会。举例来说,当某个匿名用户登录到vsftpd服务器时,他的主目录是/var/ftp。但是这个用户能够看到的是他的主目录为/。该用户看到的目录/var/ftp/upload为/upload。该用户看不到也无法处理(举例来说)/home、/usr/local或/tmp等目录。该用户位于chroot监牢中。更多信息请参见《基础篇》11.6.4节。

可以使用选项chroot_local_user,将每个本地用户放置到chroot监牢中,其根为该用户的主目录。可以使用chroot_list_enable将选中的本地用户放入到chroot监牢中。

chroot_list_enable

用户登录之后,若这个值设置为YES,则检查本地用户是否列在文件/etc/vsftpd/chroot_ list中或者由chroot_list_file指定的另一个文件中。

当该用户位于这个列表中,并且将chroot_local_user设置为NO时,该用户将被放入到以他的主目录为根的chroot监牢中。只有列在/etc/vsftpd/chroot_list中的用户才会被放入到chroot监牢中。

如果该用户位于这个列表中,并且chroot_local_user设置为YES,那么该用户就不会放入到chroot监牢中。未列在/etc/vsftpd/chroot_list中的用户将会被放入到chroot监牢中。

默认值:NO

chroot_local_user

参见chroot_list_enable。对于较为开放的系统而言,设置为NO,但是在向系统中添加用户时,记得要根据需要向chroot_list_file中添加这些新用户。要想增强系统安全性,请将其设置为YES。新用户会自动受到限制,除非将其添加到chroot_list_file文件中。

默认值:NO

chroot_list_file

当chroot_list_enable设置为YES时,它为所查询的文件的文件名。

默认值:/etc/vsftpd/chroot_list

passwd_chroot_enable

若设置为YES,则能够改变chroot监牢(chroot_list_enable和chroot_local_user设置强加到本地用户)的位置。

对于/etc/passwd中的用户,可以在主目录字符串中包含"/./",可以将chroot监牢的位置在目录结构中向上移动。这里的修改并不会影响到标准的系统登录,如同命令"cd ."不会对工作目录产生影响一样。

例如,修改/etc/passwd中Sam的主目录字段,将其由/home/sam改为/home/./sam,就可以让Sam在使用vsftpd登录之后通过cd命令进入/home。在授予适当的访问权限之后,Sam就能够查看文件,并且可能与另一位用户进行协作。

默认值:NO

secure_chroot_dir

用户ftp不能写入的空目录的名称。如果用户不需要访问文件系统,那么vsftpd服务器将这个目录用作安全的chroot监牢。

默认值:/usr/share/empty

local_root

当本地用户登录到服务器之后,这个目录就变成用户的工作目录。如果指定目录不存在的话,不会给出错误结果。

默认值:无

(责任编辑:IT)

发表评论