linux vsftpd ftp用户配置实例

需求:

  • 新增ftp用户 ftp-3906
  • 仅允许ftp访问,不可ssh等方式登录
  • 限制用户只能访问 /data/bills/3906 ,不能访问其他路径

1.建用户

使用root用户执行,创建新用户并指定home

useradd -d /data/bills/3906 ftp-3906
passwd ftp-3906

限定用户ftp-3906不能telnet,只能ftp

usermod -s /sbin/nologin ftp-3906

其他可能会用到的命令:

## 用户ftp-3906恢复正常
usermod -s /sbin/bash ftp-3906

## 更改用户test的主目录为/dir/anywhere
usermod -d /dir/anywhere ftp-3906

2.配置vsftpd

配置文件为 /etc/vsftpd/vsftpd.conf

## 启用chroot_list_file
chroot_list_enable=YES

## 将所有用户限定在主目录内
chroot_local_user=YES

## chroot_list_file这时列出的是那些“不会被限制在主目录下”的用户,即ftp登陆后可切换到父目录或者其他目录
chroot_list_file=/etc/vsftpd/chroot_list 

修改完成后,重启服务

/etc/init.d/vsftpd restart

如果需要允许用户修改密码,但是又没有telnet登录系统的权限:

##用户telnet后将直接进入改密界面
usermod -s /usr/bin/passwd ftp-3906