1.先把FTP包装上.
2.配置文件在/etc/vsftpd/vsftpd.conf.
3.重启服务.
客户端:分为三种
1.匿名用户:默认进入/var/ftp目录而且不能切换目录(也就是/var/ftp默认是它的根目录,pwd的时候显示的是/),而且默认无法上传,需要修改配置文件并重启服务.
2.服务器本地用户.默认进入用户的宿主目录下,比如a用户,FTP登陆上之后默认进入/home/a下,可以进入别的目录,但默认只能在自己的宿主目录下上传文件,可以修改让它只在自己的宿主目录下.而不能去别的目录(就是把宿主目录变为它的/)
3.虚拟用户:更加安全,即使想做一些什么攻击破坏性也没那么强,因为不是用的真实的用户.
这个可以做你说的那个,在虚拟用户访问文件映射那里可以指定.
ok.
希望对你有帮助:实现不同用户不同权限
现在我们就来实现三个用户的不同权限:
a.upload用户,可以上传下载,可以新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;
b.download用户,只能下载;
c.admin用户,管理员,可以上传,可以下载,可以新建文件夹,可以删除和更改文件和文件夹名。
这些用户都不能登录系统,并且用ftp连接时锁定在自己的家目录中不能进入系统文件夹。
cat <logins.txt
>upload
>******* #upload用户的密码
>download
>*******
>admin
>****************
>!
说明,此文本文件的格式是:单数行为用户名,偶数行为密码
#db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd_login.db
#useradd -d /home/ftpsite virtual;
#chmod 700 /home/ftpsite
#su - virtual -c "echo hello>/homt/ftpsite/test.file
(建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件)
#vi /etc/vsftpd.conf在此文件中插入下面的配置语句
guest_enable=YES(启用虚拟用户)
guest_username=virtual(将虚拟用户映射为本地virtual用户)
pam_service_name=vsftpd(指定PAM配置文件为在/etc/pam.d/下的vsftpd)
user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径)
保存退出
#mkdir /etc/vsftpd_user_conf
开放不同用户的不同权限
echo "anon_world_readable_only=NO">/etc/vsftpd_user_conf/download(开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录)
#cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload
vi /etc/vsftpd_user_conf/upload,添加下列行
write_enable=YES (增加写权限)
anon_upload_enable=YES(增加上传权限)
anon_mkdir_write_enable=YES (增加创建目录的权限)
#cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin
增加一行:
anno_other_writer_enable=YES(增加管理员用户的删除/重命名的权限)
测试
killall -9 vsftpd/usr/local/sbin/vsftpd /etc/vsftpd.conf &
以用户名download和你设置的密码登录,ls,可以看到文件,下载,成功!put一个文件,提示
Permission denied。rename test.file同样权限被拒绝;delete test.file同样不成功!
输入quit退出,以upload用户登录,OK!可以上传,下载,mkdir lsf,提示“/lsf" created;rename lsf lsf1提示Permission denied,删除文件同样不成功!
输入quit退出,以admin用户登录,可以有上述所有权限,然后rmdir lsf,提示Remove directory oeration successfuldelete test.file提示Delete operation successful!OK,大功告成了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)