Total Pageviews

Wednesday, 8 May 2013

vsftpd指定在其他的目录


遇到一个例子要求为特定的用户指定一个转用FTP上传目录;
LINUX装FTP我一般选的是vsftp,一般做的都是基于用户的访问,简单修改几个参数,建立一个chroot_list文件 就可以了,一般目录都是在/home下面,今天遇到的例子却是指定在其他的目录,在网上找了些资料,测试如下:
用户名:boy
要求访问/var/www/bbs/hello 这个目录;上传下载;

#useradd -s /sbin/nologin boy
#vi /etc/vsftpd/vsftp.conf
添加 user_config_dir=/var/ftp
保存退出

#mkdir -p /var/www/bbs/hello

#vi /var/ftp/boy
添加如下
local_root=/var/www/bbs/hello

#chmod 777 /var/www/bbs/hello

重启vsftpd 就实现访问了
===================================================================
还可以在创建帐号时使用
#useradd -d /path/dir -M xx
如要为xiaoming指定一个/usr/www/bbs/image的目录

#useradd -d /usr/www/bbs/image -M xiaoming

需要注意的是

chroot_local_user=YES       #将所有本地用户限制在自家目录中,NO则不限制。下面的指令是指出在所有本地用户中例外于
                                     #本 指令规定的用户。
chroot_list_enable=YES      #是否允许vsftpd读取一个提供了用户名的文件,如果chroot_local_user指令是YES的话,
                                     #则该文件中的用户不会被限制在自家主目录中,如果chroot_local_user是NO的话,
                                     #则这些用户会被限制。
chroot_list_file=/etc/vsftpd.chroot_list