在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
2、建用户:在root用户下:
useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码
3、更改用户相应的权限设置:
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面
----------------------------------
----------------------------------
-----匿名登录--------------
1、安装vsftpd软件包#yum -y install vsftpd db4 db4-utils
安装完成后先关闭SELinux及iptables防火墙
2、启动vsfptd服务器#service vsftpd start
现在就可以用匿名用户登录了。默认的匿名用户为'ftp',密码为空。根目录为'/var/ftp'
现在匿名用户只能从服务器上下载文件,没有上转及建立文件夹等等权限。
3、vsftpd配置(/etc/vsftpd/vsftpd.conf)
a:设置使匿名用户能够上传文件下载文件以建立文件夹等。
anon_upload_enable=YES #设置匿名用户有上转文件的权限
anon_mkdir_write_enable=YES #设置匿名用户新建文件夹及文件权限
anon_other_write_enable=YES #设置匿名用户有重命名及删除等权限
改完上面的备置后重启vsftpd服务
登录vsftp服务器后发现还是不能上转文件等,这里是因为/var/ftp的目录所属权为root。
不过,即使你改了/var/ftp的属性权为ftp能达到效果,不过你再次登录时你会发现登不了vsftp服务器了。
所在,所以我们改ftp里的面的文件夹才可生效。
#chown ftp /var/ftp/pub
好了,完成上面这步后,我们的匿名用就可以正常登录并可以上传下载,及创建删除文件夹等。