[linux] 2025-05-03 圈点997
摘要:vsftpd之chroot权限配置的几个参数问题以及原理分析
在linux命令中有chroot这一命令,意思是更改根目录的意思。在可以登录系统的帐号中,这个命令好像没有什么用处,但在vsftpd中用处非常大的,涉及到一些安全问题,同时还有几个参数可以设置关于chroot命令的地方。
vsftpd中chroot作用原理分析
在vsftpd中,用户登录后一般是直接登录在自己的家目录下,默认的一般家目录就是/根目录,也就是最顶级的目录所在了。如果用户有chroot命令的权限,那么其就可以修改自己的家目录也就是/根目录到任何目录,所以就有了访问任何目录的权限。所以这就是安全隐患的一个问题。一般来说ftp登录的目录没有必要访问其它的任何目录,就限制在自己原来的家目录即可。
如果有特别情况,其用户需要有访问其它目录的权限也可以添加。
vsftpd之chroot权限的设置有几种方法:
1,直接在配置文件中添加:
allow_writeable_chroot=YES
此方法简单又方便,所有的用户都将拥有chroot权限。
2,所有用户都没有chroot权限,都限制在自己的家目录为根目录。
chroot_local_user=YES
3,可以自定义用户是否有chroot权限
chroot_local_user:用户是否限制在家目录
chroot_list_enable:是否启用例外名单,默认NO
chroot_list_file:默认名单目录文件
示例:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
意思是:所有人都没有chroot权限(限制在家目录),但启用例外名单,名单为/etc/vsftpd/chroot_list中写的用户名
其具体的关系图如下: