【Ubuntu使用技巧】vsftpd 虚拟用户配置(Ubuntu 10.04环境下通过)

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.首先安装vsftpd和一些工具: sudo apt-get install vsftpd libpam-pwdfile apache2-utils PAM是负责认证连接的,apache2-utils主要是使用其中的htpasswd命令,来管理用户认证。

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

1.首先安装vsftpd和一些工具:

sudo apt-get install vsftpd libpam-pwdfile apache2-utils

PAM是负责认证连接的,apache2-utils主要是使用其中的htpasswd命令,来管理用户认证。

2.配置PAM来负责用户认证:

sudo vim /etc/pam.d/vsftpd

将其中的所有行都注释掉,我们要使用PAM-pwdfile来进行认证连接,其中的ftpd.passwd这个文件名字和路径一会儿我们就创建:

auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd
account required pam_permit.so

3.创建用户名密码文件

sudo htpasswd -c /etc/ftpd.passwd gnuhpc

其中gnuhpc是用户名,若以后想添加多个用户则使用

sudo htpasswd /etc/ftpd.passwd gnuhpc2

4.创建FTP主目录

我们创建/home/vftp这个目录,把它的权限设置为755

sudo mkdir –m 755 /home/vftp

然后将其owner改为ftp:

sudo chown ftp:ftp /home/vftp

5.配置vsftpd

sudo vim /etc/vsftpd.conf

修改以下配置选项,保留其余选项是默认就可以

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/home/vftp/$USER
hide_ids=YES

解释如下:

anonymous_enable=NO  不允许匿名
local_enable=YES 非匿名的登录方式必须打开的选项
write_enable=YES 设置是否可写
local_umask=022 设置umask,022选项表示755,具体参看Linux权限表示。
chroot_local_user=YES 限制用户的目录访问权限,即当用户登录FTP服务器后,不能访问自己目录以外的其他目录或文件
virtual_use_local_privs=YES 虚拟用户与本地用户使用同样的权限,默认是与匿名用户权限相同
guest_enable=YES 将所有非匿名登录都划归为guest登录,将这个虚拟用户映射到guest_username指定的本地用户
user_sub_token=$USER 自动进入虚拟用户名对应的主目录下的子目录,比如用户gnuhpc登录就会到local_root/gnuhpc这个目录下
local_root=/home/vftp/$USER 指定了用户登录以后直接到达的目录
hide_ids=YES 隐藏ID

6.添加用户目录

以gnuhpc这个用户为例,我们创建/home/vftp/gnuhpc这个目录,把它的权限设置为755

sudo mkdir –m 755 /home/vftp/gnuhpc

然后将其owner改为ftp:

sudo chown ftp:ftp /home/vftp/gnuhpc

7.重启服务:

sudo service vsftpd restart

这样我们就已经设置好了一个可上传下载的虚拟用户,以后添加用户的时候只用执行第3,6步和第7步就能添加新的虚拟用户了。

附1:若你想每一个用户都有自己的主目录和配置权限那么在vsftpd.conf中设置

user_config_dir=/etc/vsftpd/user

附2:若你想限制本地用户登录ftp请创建一个用户列表文件,举例我们创建/etc/vsftpd/user_list,内容为

gnuhpc

gnuhpc2

并且在vsftpd.conf中设置:

userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_list

那么只有这个列表上的用户可以登录。

 

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
1天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
4天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
28 0
|
11天前
|
网络协议 安全 Linux
配置vsftpd服务
FTP是TCP/IP协议族中的应用层协议,用于可靠地传输文件,基于C/S架构,使用20(数据)和21(命令)端口。有两种传输模式:主动模式,客户端告知服务器数据端口,服务器发起连接;被动模式,服务器响应客户端的PASV命令,客户端建立数据连接。安装Linux的vsftpd服务涉及`yum install vsftpd`,创建用户,重启服务并设置开机启动。配置文件`vsftpd.conf`可调整访问权限和行为。通过FTP命令如`help`,`get`,`put`进行文件操作。匿名用户模式可允许无密码访问,需修改配置文件开启。
16 0
|
19天前
|
Ubuntu 开发工具 git
ubuntu18.04下配置muduoC++11环境
以上步骤将在Ubuntu 18.04下配置C++11环境,并编译安装muduo库。请根据实际情况对配置步骤进行调整。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
17 0
|
20天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
21 1
|
23天前
|
Ubuntu 开发工具
Ubuntu vim配置支持鼠标
Ubuntu vim配置支持鼠标
12 0
|
安全 数据安全/隐私保护 网络协议
|
Linux 数据安全/隐私保护 网络协议
|
安全 Linux 数据安全/隐私保护
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
355 0
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器