阅读更多
vsftpd的配置指南
vsftd的安装
默认vsftpd已经安装,如果没有安装到rhel5/centos5安装光盘安装vsftpd
启动vsftpd,
#service vsftpd start
如果让vsftpd开机启动
#chkconfig --level 35 vsftpd on
vsftp规划
ftp的权限是和目录的权限是结合在一起的,所以要想达到想要的效果,必须做好规划。
案例1:
要求:有1个pub目录可以用来匿名上传,匿名删除(相当于共享文件夹),但是也能匿名访问其他目录;
local用户拥有/var/ftp/下的所有的权限,包括新建、删除目录、文件等。
规划: 新建管理组ftpmanager和一批本地用户(ftpuser, ....),这些本地用户属于ftpmanager组,同时也属于ftp组,而ftpmanager组对/var/ftp/目录拥有所有权限(除了子目录pub外);
在/var/ftp目录下新建pub目录,ftp组对pub目录拥有所有权限。
操作
新建一个组ftpmanager和一批local用户
#groupadd ftpmanager
#useradd -g ftpmanager -G ftp -s /sbin/nolog ftpuser
把/var/ftp的目录的所有权赋给ftpuser和组ftpmanager
#chown -R ftpuser.ftpmanager /var/ftp
#chmod 775 -R /var/ftp
我们为匿名用户创建一个目录pub
#cd /var/ftp
#mkdir pub
#chown -R ftp.ftp /var/ftp/pub
#chmod 775 /var/ftp/pub
配置vsftpd
修改配置文件/etc/vsftpd/vsftpd.conf
让匿名用户访问并上传,我们
anonymous_enable=YES
anon_umask=002 //上传的东西本组拥有所有的权限,以便于删除
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=yes
本地用户创建文件的权限
local_umask=002 //同组的人拥有所有的权限
最后修改
userlist_enable=yes
userlist_deny=yes
local_root=/var/ftp //把local用户限制到/var/ftp目录下
案例2:
用户要求:有1个目录可以用来匿名上传,匿名删除(相当于共享文件夹),但是也能匿名访问其他目录
local用户有对自己的文件夹有读写权限,对别的用户文件夹以及上传的文件无改写、删除权限,我们规划如下:
规划: local用户属于ftp组,/var/ftp目录的所有者为root,在/var/ftp新建一些文件夹,这些文件夹的所有权归某个local用户所有
在/var/ftp目录下新建pub目录,ftp用户对pub目录拥有所有权限。
操作
新建一个ftpuser用户
#useradd -g ftp -s /sbin/nolog ftpuser
把/var/ftp的目录的所有权赋给root
#chown -R root.root /var/ftp
#chmod 755 -R /var/ftp
我们为匿名用户创建一个目录pub
#cd /var/ftp
#mkdir pub
#chown -R ftp.ftp /var/ftp/pub
#chmod 775 /var/ftp/pub
我们为ftpuser创建1个目录
#cd /var/ftp
#mkdir userdir
#chown -R ftpuser.ftp /var/ftp/userdir
#chmod 755 /var/ftp/userdir
配置vsftpd
修改配置文件/etc/vsftpd/vsftpd.conf
让匿名用户访问并上传,我们
anonymous_enable=YES
anon_umask=002 //同组的人拥有所有权限,以便于删除
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=yes
本地用户创建文件权限
local_umask=022 //创建者拥有所有的权限
最后修改
userlist_enable=yes
userlist_deny=yes
local_root=/var/ftp //把local用户限制到/var/ftp目录下