Redhat Linux as4 vsftp 安装、配置
Redhat Linux as4 安装、配置 vsftp初级篇: vsftpd 安装 一、vsftp 安装默认linux是没有安装的,你可以通过 # rpm -qa |grep'^vsftpd' 查询是否安装。
方法一:
(如果你还没有安装Linux 那你在安装Linux 中,选择 ftp服务 安装就可以。)
vsftp 在Linux as 4安装光盘的第1张光盘中,在文件夹RedHat\RPMS里面即可找到vsftpd-2.0.1-5.i386.rpm。将其放到系统的某个目录中(我放到home下),然后cd到该目录下,执行:" rpm-ivh vsftpd-2.0.1-5.i386.rpm"。
方法二:
直接用 yum名安装,命令: #yum install vsftpd -y
二、配置vsftp虚拟用户(网上很多文章,尝试都不能成功,所以写篇文章和大家分享下)
配置vsftp步骤大概分为:
1、建立虚拟用户口令库文件
2、生成vsftpd的认证文件
3、建立虚拟用户所需的PAM配置文件
4、建立虚拟用户所要访问的目录并设置相应权限
5、设置vsftpd.conf配置文件
1、建立虚拟用户口令库文件,口令库文件中奇数行设置用户名,偶数行设置口令。
# vilogins.txt
lihu
333333
cheers
123456
2、生成vsftpd的认证文件,使用db_load命令生成认证文件
(注意:要使用db_load命令需要安装第二张光盘中的db4-utils-4.2.52-7.1.i386.rpm包,你可以通过rpm-qa | grep'^db' 查询是否安装,如果没有安装,在Linux安装光盘第3张盘中)
# db_load-T -t hash -f logins.txt/etc/vsftpd/vsftpd_login.db
设置认证文件只对用户可读可写
# chmod600 /etc/vsftpd/vsftpd_login.db
3、建立虚拟用户所需的PAM配置文件.
如果没有/etc/pam.d/vsftpd这个文件,需要新建个。我的安装完vsftpd后,/etc/pam.d/目录下就有了,所以我修改vsftpd这个文件。
# vi/etc/pam.d/vsftpd
注释掉已有的所以行;并在在文件尾添加如下两行:
auth required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
注意:vsftpd_login必须和开始生成的 vsftpd_login.db同名(去掉.db),文件路径必须配置正确。
4、建立虚拟用户及要访问的目录并设置相应的权限,建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
# useradd-d /home/ftpsite virtual
# chmod700 /home/ftpsite/
5、设置vsftpd.conf配置文件.
vsftd.conf 配置如下(非常重要):
anonymous_enable=NO 关掉匿名用户访问
guest_enable=YES打开虚拟用户即ftp用户访问
guest_username=conversant 这里设置的系统用户,意思是 ftp用户 是通过系统用户 conversant 访问系统目录的
pam_service_name=vsftpd 这个是 PAM certification documents
user_config_dir=/etc/vsftpd/vsftpd_config_dir 这里指定存放 ftp 用户的权权限的目录,即 高级篇中的user_config_dir=/etc/vsftpd_user_conf
注意:一般来说vsftpd.conf中默认的是pam_service_name=vsftpd,检查确认下。
重新启动vsftpd服务程序,对vsftpd.conf文件修改后需要重新启动vsftpd服务程序
# service vsftpd restart
使用ftp命令登录FTP服务器,使用已配置的虚拟用户名和口令登录FTP服务器,如能够正常登录说明虚拟帐号配置成功;
注意:如果你安装我上边的操作,基本上就可以通过刚才配置的用户名密码登录ftp了。
高级篇: 每个ftp用户配置目录和权限
为了系统的安全,缺省配置的虚拟用户只具有较低的用户权限同,可以通过为每个虚拟用户建立独立的配置文件增加用户的权限。
设置主配置文件,在vsftpd.conf文件中添加用户配置文件目录设置,添加如下:
user_config_dir=/etc/vsftpd_user_conf
建立用户配置文件目录,使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/lihu
/etc/vsftpd_user_conf/cheers
注意:lihu 和 cheers 文件文件名必须为ftp用户对应的名称
例如:
vi /etc/vsftpd_user_conf/lihu
在文件中增加如下行:
local_root=/opt/ftp/lihu
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
保存此文件。(local_root=/opt/ftp/admin 是指lihu这个ftp用户对应的ftp目录 )
每个FTP虚拟用户都可以独立设置其权限
在lihu和cheers中添加如下:
#“anon_world_readable_only=NO”表示用户可以浏览FTP目录和下载文件
anon_world_readable_only=NO
#“anon_upload_enable=YES”表示用户可以上传文件
anon_upload_enable=YES
#“anon_mkdir_write_enable=YES”表示用户具有建立和删除目录的权利
anon_mkdir_write_enable=YES
#“anon_other_write_enable=YES”表示用户具有文件改名和删除文件的权限
anon_other_write_enable=YES
注意:你可以根据你的需要设置以上权限。
设置完成后,执行:
# service vsftpd restart
配置成功!!!
注意的问题:
1. user_config_dir中的vsftpd_user_conf (存放用户权限配置目录)这个目录以及子目录 的所有者必须是 root
2. 必须注释掉 /etc/pam.d/中 vsftpd 这个文件中的所以行,除了新加入的
auth required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
这两行。
3. 需要关掉linux防火墙,否则不能连接到ftp.
命令: # service iptables stop临时关闭防火墙,重启server 后失效。
永久关闭防火墙:
关闭:chkconfig iptables off
开启:chkconfig iptables on
版权声明:本文为博主原创文章,未经博主允许不得转载。
页:
[1]