【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 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
4月前
|
Ubuntu 编译器 开发工具
在Ubuntu系统上搭建RISC-V交叉编译环境
以上步骤涵盖了在Ubuntu系统上搭建RISC-V交叉编译环境的主要过程。这一过程涉及了安装依赖、克隆源码、编译安装工具链以及设置环境变量等关键步骤。遵循这些步骤,可以在Ubuntu系统上搭建一个用于RISC-V开发的强大工具集。
505 22
|
4月前
|
Ubuntu 编译器 计算机视觉
Ubuntu 20.04环境下无法找到#include<opencv/cv.h>文件 - 解决方案。
希望这些信息能帮助你解决遇到的问题。
309 10
|
5月前
|
存储 Ubuntu 自动驾驶
运行Udacity的MPC控制项目指南(project_10)在Ubuntu 18.04环境下
以上步骤应该能够帮助您成功设置并运行Udacity MPC控制项目,在此过程中您将学习如何应用模型预测控制理论去指导车辆沿着轨迹自主驾驶,在模拟环境下测试其效果。这个过程不但涵盖了理论知识也有实践操作,对于学习自动驾驶车辆控制系统非常有帮助。
200 15
|
6月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
452 16
|
5月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1104 6
|
7月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu上配置phpMyAdmin和WordPress环境的步骤
执行以上步骤后,你将成功配置Ubuntu系统上的phpMyAdmin和WordPress环境。需要注意的是,应该根据自己实际的环境如具体的Ubuntu版本、WordPress版本和个人的安全需求做适当调整。此配置指南假定你拥有一个干净的Ubuntu服务器环境,某些步骤比如MySQL的root密码已经设置好了。
221 14
|
6月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
9月前
|
监控 Ubuntu Linux
在Ubuntu环境中制定脚本开机自动启动设置
以上就是在Ubuntu环境下制定脚本开机自动启动的设置方法。通过Systemd服务,你可以按需要轻松管理脚本的自动执行。全新的一天开始时,脚本已静静地运行,无需额外手动启动,机器恰如一位忠诚的仲夏夜的梦想者,在黎明的许诺中尽职尽责。于是心满意足地看着,任由它在自己选择的轨道上静静地飞翔。
1091 26
|
7月前
|
Ubuntu 编译器
在Ubuntu中设置QT Creator的交叉编译环境。
在进行交叉编译设置时,请确保遵循你的目标硬件平台和软件的具体指南。以上步骤给出的是一个概括的指南,具体步骤可能因你的特定需求而有所不同。务必参照相关硬件和软件的官方文档进行操作,以获得具体的、针对性的指导。
608 0
|
9月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
447 21