Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置
vsftpd虚拟用户
2012-05-19 15:46:59| 分类: GNU/Linux | 标签:ubuntu vsftpd ftp 虚拟用户 |举报|字号 订阅
我们登录FTP有三种方式:匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous,密码为空;
本地用户登录:使用系统用户登录,用户信息保存在/etc/passwd中;
虚拟用户登录:FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
下面以Ubuntu 12.04 LTS为例演示vsftpd的配置。
1.打开Ubuntu软件中心,下载安装vsftpd
2.添加虚拟用户口令文件
sudo vi /etc/vsftpd/vftpuser.list
该文件奇数行表示用户名,随后的偶数行表示对应的密码
第一行填写:v1
第二行填写:passwd
保存关闭该文件
3.生成虚拟用户口令认证文件
将刚编写的vftpuser.list换成系统识别的口令认证文件,
需要使用命令db_load
如果没有安装,我的系统会提示安装db-util这个软件包
(或者是db5.1-util这个包,记不清了)
sudo apt-get install db-util
安装完成后,使用db_load命令生成认证文件
sudo db_load -T -t hash -f/etc/vsftpd/vftpuser.list /etc/vsftpd/vftpuser.db
4.编辑vsftpd的PAM认证文件
可以建立新的pam认证文件,然后在vsftpd.conf中指向新的文件;
也可以直接打开vsftpd默认的认证文件修改
sudo vi /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
5. 建立本地映射用户
FTP虚拟用户需要使用一个系统用户,安全起见,该用户被禁止登录系统。
sudo useradd vftpuser
sudo usermod -d /var/vftp vftpuser
sudo usermod -s /sbin/nologin vftpuser
理论上来说,上述3条指令本可使用1条指令完成的
sudo useradd -d /var/vftp -s /sbin/nologinvftpuser
但是我输入上述指令后,用户没有创建成功
系统只给了个useradd的使用说明,但没有任何错误提示,
暂时没搞明白原因
6.配置vsftpd.conf
很多人的vsftpd.conf默认路径是/etc/vsftpd/vsftpd.conf,我的不一样
sudo vi /etc/vsftpd.conf
打开文件后修改相关参数:
anonymous_enable=NO
#匿名账户可以不禁用的,但是我还是喜欢禁用掉
#另外,上面这行直接注释掉,例如:“#anonymous_enable=YES”
#好像不能禁用匿名,需要将其值改为“NO”
local_enable=YES
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
7.重启vsftpd服务
sudo service vsftpd restart
查看该服务的状态,可使用以下指令:
service vsftpd status
服务重启后,相关的配置信息就生效了
远程机器能够使用最初编写的用户“v1”登录
8.设置共享目录权限
在/var/vftp目录下建立一个pub目录,将其修改为所有人可读写的权限
sudo mkdir /var/vftp/pub
sudo chmod 777 /var/vftp/pub
这样以来,远程用户可以完全操作pub子目录
对根目录只有读的权限
Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置的更多相关文章
- Lamp(Ubuntu 12.04 LTS) 之 htaccess的使用
环境说明:Ubuntu 12.04 LTS Lamp (以apt方式分别安装) 一.明确目标:要确保.htaccess文件起作用,只需要三个重要点: 1.开启apache rewrite模块: (1) ...
- Installing OpenCV 2.4.10 in Ubuntu 12.04 LTS
转自 http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/ EDIT: I published a ...
- (转)Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群
本文的英文版本链接是 http://www.mrxuri.com/index.php/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html ...
- MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE
MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE So you want to mount your HFS+ ( ...
- 【转】ubuntu 12.04 LTS将关闭最大化最小化移动到右上角
原文网址:http://www.4byte.cn/learning/114801.html ubuntu 12.04 LTS将关闭最大化最小化移动到右上角 还是按下“ALT +F2”组合键,输入g ...
- Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群
本文的英文版本链接是 http://xuri.me/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html MySQL Cluster 是 ...
- 如何让Ubuntu 12.04 LTS更炫更具吸引力
Ubuntu 12.04 LTS震撼发布 适逢七周岁生日之际,Ubuntu正式推出了第四个LTS长期支持版本,开发代号Precise Pangolin的Ubuntu 12.04在2012年4月26 ...
- Ubuntu 12.04 LTS(64 bit) + RTL8188CU无线网卡驱动
. . . . . 之前家里台式机上安装的是win7+CentOS双系统,但是CentOs的无线网卡驱动不知为何无论如何都安装不上,再加上这段时间一直很忙,所以一直使用着win.这几天事情忙得差不多了 ...
- ubuntu 12.04 LTS server 中文乱码【转】
ubuntu 12.04 LTS server 中文乱码 最近装了一台ubuntu 12.04 server装完后是没有桌面的,后来又手动安装了桌面,但进行后发现桌面是乱码,应该是缺少字体在googl ...
随机推荐
- [算法]找到无序数组中最小的K个数
题目: 给定一个无序的整型数组arr,找到其中最小的k个数. 方法一: 将数组排序,排序后的数组的前k个数就是最小的k个数. 时间复杂度:O(nlogn) 方法二: 时间复杂度:O(nlogk) 维护 ...
- RabbitMQ高级应用
高级应用一: 手动模式和自动应答模式 1. 了确保消息不会丢失,RabbitMQ支持消息应答.消费者发送一个消息应答,告诉RabbitMQ这个消息已经接收并且处理完毕了.RabbitMQ就可以删除它了 ...
- 如何用<Enter>键代替<Tab>键实现光标焦点转移?
1.在主窗体的private中定义过程: procedure doenterastab(var Msg:TMsg;var Handled:Boolean); begin if Msg.messa ...
- linux swap的添加等等
1. 先说下 swap的卸载 fdisk -l 或者 free -m 看下 swap挂载的是磁盘,还是 文件生成的 如果是系统创建时就分配好的swap,就使用 swapoff /dev/*** 进 ...
- java打包命令
(1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...
- Nginx HTTP反向代理基础配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- NULL 与空字符串
空字符串 '' 不占内存空间; NULL占一个字节的空间; 空字符串 的判断用 == <> NULL值用 is null ifnull();
- eclipse自动提示功能没了的解决办法
由于重新配置了环境,并且eclipse也是装的4.2的,今天用的时候发现了,居然没有自动提示功能,也就是当一个对象居然点不出他的相关方法.后来网上搜索了下,成功的 办法是. 1.我window-> ...
- WCF寄宿(Host)之自我寄宿(Self-Hosting)简单实例【Console应用为宿主】
前言: 由于最近的项目 中需要用到WCF,所以又回头翻了翻,阅读了大量园中大神的博文,故而做个总结. 谬误之处,万望不吝指教! 闲话不叙! 一.寄宿(Host)WCF服务 1)一种是为一组WCF服务 ...
- 【python2/3坑】从gensim的Word2Vec.load()的中文vector模型输出时显示unicode码
服务器上python2.7 打印出的e[0]对应的是 unicode码 于是分别尝试了用e[0].encode('utf-8')转码 和 e[0].decode('unicode-escape')依然 ...