项目要求为特定的用户指定一个专用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