linux搭建指定登录路径的FTP方法

需求:一个用户指定一个单独的路径,不能访问其他路径。ftp用户不能ssh等方式登录linux。

  • 先安装 vsftpd
    1. Debian: sudo apt-get install vsftpd -y
    2. Centos: yum install vsftpd -y

 

二、添加用户 adduser -d /var/www/html/ftp -s /sbin/nologin -g www ftpuser

//创建用户
#passwd ftpuser
//设置密码
#Changing password for user usertest.
#New UNIX password:
#Retype new UNIX password:
#passwd: all authentication tokens updated successfully.

那现在就可以用ftp登录了 ,也会有以上我说的目录不固定问题

此时用ftpuser登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。

  • 配置 vsftpd
    1. 打开/etc/vsftpd/vsftpd.conf 查找userlist_enable、userlist_deny、userlist_file。如果userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。userlist_enable是该功能的开关。我们的系统配置如下:
      userlist_enable=YES
      userlist_deny=NO
      userlist_file=/etc/vsftpd/user_list
      所以需要把用户加入到/etc/vsftpd/user_list文件中,每个用户一行。
    2. 找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能

找到chroot_list_file:chroot_list_file=/etc/ftpchroot

#编辑ftpchroot文件,加入你要限制的用户名,一行一个用户.

 

#如果更新了vsftpd.conf,一定要重启ftp,命令如下:

# /etc/init.d/vsftpd restart

  1. 也可以用下面的配置

# cat /etc/vsftpd/vsftpd.conf | grep -v “#” | more


anonymous_enable=NO

local_enable=YES

idle_session_timeout=600

write_enable=YES

local_umask=022

anon_upload_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ftpd_banner=Welcome to FTP service.

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

pam_service_name=vsftpd

userlist_enable=YES

listen=YES

tcp_wrappers=YES

max_clients=50

max_per_ip=5

local_max_rate=30000

anon_max_rate=10000

pasv_min_port=65400

pasv_max_port=65499

打赏
Bookmark the permalink.
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论