Vsftpd服务器学习入门(原创)
部分内容摘自《网络服务搭建、配置与管理大全》张栋 张瑞生编著 电子工业出版社
这本书写的不错,想学linux服务器的可以读一下
Vsftpd(very serure ftp daemon非常安全的FTP守护进程)是red hat enterprise linux 5内置的FTP服务器软件。
说明:以下操作我都是在centos操作系统上完成的。
第一步,实现简单的FTP服务的功能,匿名用户登录访问
Vsftp服务器的安装其实很简单,只要安装一个RPM软件包就可以了。
1、查询他是否已经安装了:rpm -q vsftpd
如果已经安装,则应该显示vsftpd-2.0.5-24.e15_8.1(一般都是安装好了的)
2、启动vsftpd服务:service vsftpd start
终端输出为vsftpd启动vsftpd:[确实]
3、关闭vsftpd服务:service vsftpd stop
4、重启vsftpd服务:service vsftpd restart
这样,开启vsftpd服务之后,客户端只要在我的电脑地址端输入ftp://192.168.1.1服务器的IP地址,就可以访问FTP服务器里面的文件了。默认访问的是/var/ftp文件下的文件,且对于匿名用户只有下载和查看的权限,无法上传和其他等操作。如果你想要用手机或其他客户端访问FTP,当他提示你必须输入用户名的时候,你只要输入用户名anonymous即可,密码不用,这样就以匿名用户的身份访问FTP服务器了。
第二部,深入学习FTP,让特定的用户可以自由上传,下载,修改FTP服务的文件
Vsftpd的配置文件主要如下:
/etc/pam.d/vsftpd 用来加强vsftpd服务器的用户认证、
/etc/vsftpd/vsftpd.conf vsftpd的主配置文件、
/var/ftp/ ftp提供的文件目录
接下来创建一个匿名用户
1、安装必须的软件
除了必须安装vsftpd之外,还需要安装一个用来保存用户信息的数据库,这里就通过pam_userdb来实现,这就需要db4和db4-utils组件
执行一下命令:rpm -qa | grep db4
输出: db4-devel-4.3.29-10.e15_5.2
db4-utils-4.3.29-10.e15_5.2
db4-4.3.29-10.e15_5.2
默认情况下已经装了db4和db4-util组件。
2、创建用户数据库
创建一个文件填写用户信息/etc/vsftpd/ftp_pam_db.users
格式如下:
用户名
密码
然后用db_load命令生成pam_userdb认证所需要的账号文件
db_load -T -t hash -f /etc/vsftpd/ftp_pam_db.users /etc/vsftpd/vsftpd.login.db
3、配置PAM信息
在/etc/pam.d/下新建一个文件,名字为vsftpd.pam
内容如下:
Auth requires pam_userdb.so db=/etc/vsftpd/vsftpd.login
Account required pam_userdb.so db=/etc/vsftpd/vsftpd.login( 两个词之间可以使空格)
4、创建vsftpd服务器启动时的配置文件/etc/vsftpd/vsftpd.virtual.conf
内容如下:
port_enable=YES
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftp
max_clients=100
max_per_ip=10
pam_service_name=vsftpd.pam
user_sub_token=$USER
local_root=/var/ftp/virtual/$USER
local_root=/var/ftp
write_enable=YES
virtual_use_local_privs=YES
#上面这句话允许匿名用户上传,修改,删除文件等操作,权限等同于root用户
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
5、创建虚拟用户的家目录
mkdir /var/ftp/virtual/luckywang -p
chown ftp.ftp /var/ftp/virtual/luckywang
6、启动vsftpd服务
vsftpd /etc/vsftpd/vsftpd.virtual.conf
这样在客户端,我的电脑输入FTP地址就可以访问了,根据提示进入FTP目录就可以享受root用户的权限了,如果在客户端无法进行上传等的操作,一般是服务器那边的权限没有设置好,给chmod 777 pub 最高权限就行了。