Redhat Linux as4 vsftp 安装、配置

本文详细介绍了在Redhat Linux AS4中如何安装和配置vsftp,包括通过rpm和yum安装,以及设置虚拟用户、认证文件、PAM配置、目录权限和vsftpd.conf配置,确保虚拟用户可以成功登录FTP服务器。
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.d

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

 

 


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值