在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如下:
www.2cto.com
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后将直接进入改密界面
首先必须安装的两个包是:vsftpd和db4-until然后还得注意访问的时候防火墙的设置
还有就是selinu的事,把它设置成disabled
1、建立虚拟用户口令库文件;
# cat yy.txt
test1
123
test2
123
注意:奇数行为用户,偶数行为密码;
2、生成vsftpd的认证文件;
# db_load -T -t hash -f yy.txt /etc/vsftpd/user.db //生成vsftpd的认证文件
# file /etc/vsftpd/user.db
/etc/vsftpd/yy.db: Berkeley DB (Hash, version 8, native byte-order)
# chmod 600 /etc/vsftpd/user.db //设置yy.db文件权限只对root用户可读写;
# ll /etc/vsftpd/user.db
-rw------- 1 root root 12288 Jul 1 19:57 /etc/vsftpd/yy.db
3、建立虚拟用户所需的PAM配置文件;内容如下:
# cat /etc/pam.d/user.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/user
4、建立虚拟用户及要访问的目录并设置相应的权限
# useradd -d /home/ftp ftptest//建立用户名为ftptest,对应的宿主目录为ftp
# chmod 700 /home/ftp //设置权限是700
5、修改vsftpd.conf配置文件,添加虚拟用户的配置项,内容如下:
guest_enable=YES
guest_username=ftptest
pam_service_name=user.vu
6、重新启动vsftpd服务
#service vsftp restart
7、测试vsftpd中的虚拟用户账号
#touch /home/ftp/a.txt
#chown ftptest.ftptest /home/ftp/a.txt //建立一个文件供下载测试用
C:\Documents and Settings\admin>ftp 192.168.2.101
Connected to 192.168.2.101.
220 (vsFTPd 2.0.1)
User (192.168.2.101:(none)): test1 //输虚拟FTP用户名
331 Please specify the password.
Password://输FTP的密码
230 Login successful. //成功
ftp>get a.txt //下载a.txt文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for a.txt (0 bytes).
226 File send OK.//成功下载
ftp>
8、为不同的虚拟用户给权限
1)修改vsftpd.conf配置文件,在里面添加以下内容:
user_config_dir=/etc/vsftpd_user_conf//设置在/etc/vsftpd_user_conf这个目录下保存虚拟用户的配置文件,
2)建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
3)为虚拟用户建立单独的配置文件
# cat /etc/vsftpd_user_conf/ky //虚拟用户ky的配置文件
anon_world_readable_only=NO//具有浏览和下载的权限
# cat /etc/vsftpd_user_conf/xx//虚拟用户xx的配置文件
anon_world_readable_only=NO //具有浏览和下载的权限
anon_upload_enable=YES //具有上传的权限
anon_mkdir_write_enable=YES//有建立和删除目录权限
anon_other_write_enable=YES //有文件改名和删除文件权限
注意:在/etc/vsftpd_user_conf/目录中的虚拟用户的配置文件名称要和虚拟用户名相同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)