ftp 限定用户不可以离开主目录

[root@master ~]#  rpm -qa | grep vsftp
[root@master ~]# yum install vsftpd-2.2.2-13.el6_6.1.x86_64

第二步、建立虚拟用户

[root@master vsftpd]# cat user.txt 
test
1234567

格式为第一行为用户名名,第二行为密码,然后类推
[root@master vsftpd]#  db_load -T -t hash -f user.txt  /etc/vsftpd/virtual_user.db

[root@master vsftpd]# chmod 600 /etc/vsftpd/virtual_user.db

[root@master vsftpd]# cat /etc/pam.d/vsftpd 
session    include	password-authM-1.0
#session    optional     pam_keyinit.so    force revoke
##auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
##auth       required	pam_shells.so
##auth       include	password-auth
##account    include	password-auth
##session    required     pam_loginuid.so
##session    include	password-auth
#
auth required pam_userdb.so db=/etc/vsftpd/virtual_user         
account required pam_userdb.so db=/etc/vsftpd/virtual_user  

[root@master vsftpd]# vim /etc/vsftpd/vsftpd.conf 

anonymous_enable=NO   ##是否允许匿名用户访问
local_enable=YES      ##设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问
write_enable=YES      ##设定可以进行写操作。
local_umask=022       ##设定上传后文件的权限掩码
dirmessage_enable=YES  ##设定开启目录标语功能。
xferlog_enable=YES     ###设定开启日志记录功能。

connect_from_port_20=YES  
xferlog_std_format=YES  
ascii_upload_enable=YES  
ascii_download_enable=YES
  
chroot_list_enable=YES    限定用户不可以离开主目录
listen=YES  
  
pam_service_name=vsftpd  
userlist_enable=YES  
tcp_wrappers=YES  
  
guest_enable=YES  
user_config_dir=/etc/vsftpd/vuser_conf  


#chroot_list_enable=YES   限定用户不可以离开主目录
#chroot_list_file=/etc/vsftpd/chroot_list

chroot_local_user=YES //这里为了方便,直接默认情况下将所有用户都锁定在自己的目录里,如果不写这一行的话,就需要启用上面的两行,以后添加新账户的时候需要将用户添加到chroot_list_file来,来进行锁定用户在自己

的目录里,


# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES

你可能要指定一个明确本地用户的列表来 chroot() 到它们的家目录.如果chroot_local_user is YES, 那么列表里的不能改变家目录。


此时被限制在家目录:

ftp> ls
227 Entering Passive Mode (127,0,0,1,126,143).
150 Here comes the directory listing.
226 Directory send OK.
ftp> cd /tmp
550 Failed to change directory.
ftp> cd aa
250 Directory successfully changed.


原文地址:https://www.cnblogs.com/hzcya1995/p/13351493.html