redhat linux开启FTP服务器 - vsftpd - graybull's Blog

redhat linux开启FTP服务器 - vsftpd

graybull posted @ 2013年4月12日 23:02 in Unix/Linux with tags linux ftp server , 4274 阅读

 

转自:http://www.cnblogs.com/JemBai/archive/2009/02/05/1384413.html

一、Linux FTP服务器分类:

<1>wu-ftp

<2>proftp=profession ftp

<3>vsftp=very security ftp


配置文件:

/etc/vsftpd/vsftpd.conf   //主配置文件

/etc/vsftpd/ftpusers      //被禁止登录FTP的用户文件

/etc/vsftpd/user_list     //允许登录FTP的用户文件

二、访问方式

<1>匿名登录

<2>帐号登录

启动FTP服务器:

#service vsftpd restart


三、配置vsftp服务器

1.vsftpd.conf各项参数说明

#vi /etc/vsftpd/vsftpd.conf

<1>第7行: 控制匿名登录

            anonymous_enable=YES 改成NO

<2>第10行:允许本地帐号登录

<3>第13行:控制可写权限

<4>第17行:控制本地文件的权限掩码

<5>第22行:控制是否允许匿名上传(与26行同时开启或关闭)

<6>第26行:控制是否允许匿名写及创建目录的权限

<7>第33行:控制上传或下载的日志记录

<8>第46行:控制日志的保存路径

<9>第52行:设置指令超时的时间,默认为600秒

<10>第55行:设置数据连接的超时时间,默认为120秒

<11>第91行:控制登录FTP的用户是否被限制在家目录下;(必须与93行同时开启或关闭)

            chroot_list_enable=YES

<12>第93行:登录FTP后被限制在家目录下的用户列表文件

            chroot_list_file=/etc/vsftpd.chroot_list

            在/etc目录下新建一个vsftpd.chroot_list文件,内容加入要限制用户的用户名

            没加入限制用户可以访问其目录

<13>第99行:控制登录FTP后是否允许ls命令

<14>第102行:启用/etc/vsftpd.user_list文件

2.配置匿名登录

#vi /etc/vsftpd/vsftpd.conf

第7行,设置为: (默认值)

anonymous_enable=YES

启动vsftpd服务器:

#service vsftpd restart

#service iptables stop

匿名登录的默认目录:

/var/ftp/pub

打开匿名上传和写权限:

#vi /etc/vsftpd/vsftp.conf

激活第22行

激活第26行

 

打开默认共享目录的权限

#chmod 777 /var/ftp/pub

 

备注:匿名可以上传下载,但不能删除;

3.本地帐号登录

<1>禁用匿名登入

修改配置文件

#vi /etc/vsftpd/vsftpd.conf

禁用所有匿名控制行,如:

   禁用第7行,第22行,第26行;

<2>开放那些用户可以登入和那些用户拒绝登入

#vi /etc/vsftpd/vsftpd.conf

    在102行后,插入如下:

    userlist_deny=NO

       (备注:设置/etc/vsftpd.user_list文件中的用户可登录FTP)

    保存退出

   如果是#userlist_deny=NO 注释掉,则默认全部用户可以登入FTP,当要限某用户不能登入:

    把用户名加入这个文件当中/etc/vsftpd.ftpusers,则这个用户名拒绝登入FTP

     创建用户并加入到相应的控制文件中

      #useradd us1

#useradd us2

      #passwd us1

      #passwd us2

     允许登录到FTP的用户:

      #echo us1>>/etc/vsftpd.user_list

      #echo us2>>/etc/vsftpd.user_list

   

启动FTP服务器:

#service vsftpd restart

备注:帐号登录FTP默认是登录在家目录下;

禁止登录到FTP的用户:

#echo us3>>/etc/vsftpd.ftpusers

 

<3>将登录后的用户限制在本地家目录下

#vi /etc/vsftpd/vsftpd.conf

激活第91行及第93行

   chroot_list_enable=YES

   chroot_list_file=/etc/vsftpd.chroot_list


新建受限用户的列表文件并加入受限用户名

#vi /etc/vsftpd.chroot_list

  us2

保存退出

#service vsftpd restart

   

<4>限制匿名上传的速度

#vi /etc/vsftpd/vsftpd.conf

:$

   anon_max_rate=5000 //默认以字节为单位 5000表示5K速度

 

<5> 限制本地帐号的上传速度:

      local_max_rate=5000 //以(字节/秒)为单位

 

<6> 针对不同的使用者限制不同的速度(这个速度优先限制所有用户的速度):

    

        #vi /etc/vsftpd/vsftpd.conf   增加下面一行

            user_config_dir=/etc/vsftpd/userconf

 

        #mkdir /etc/vsftpd/userconf   创建一个目录

 

        #vi /etc/vsftpd/userconf/user1   (user1是要限制速度的用户名)

 

             local_max_rate=25000

 

<7>定制欢迎信息:

    #vi /etc/vsftpd/vsftpd.conf

       激活80行

     ftpd_banner=Welcome to Huayu FTP service.

<8>限制服务器连接数和同IP连接数

1、max_clients 
可使用这个参数定义最大的总联机数。超过这个数目将会拒绝联机,0 表示不限。默认值为0。

2、max_per_ip 
使用这个参数定义每个ip address 所可以联机的数目。超过这个数目将会拒绝联机,0 表示不限。默认值为0。

 

      

<9>虚拟FTP用户设置

1、        建立虚拟用户口令库文件

#vi /etc/vsftpd/logins.txt

    vuser1

123

vuser2

321

        :wq

       口令库文件中奇数行设置用户名,偶数行设置口令

2、        生成vsftpd的认证文件

#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件

3、设置认证文件只对root用户可读可写

# chmod 600 /etc/vsftpd/vsftpd_login.db

4、建立虚拟用户所需的PAM配置文件手工建立vsftpd.vu文件

# cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限

# useradd -d /home -s /sbin/nologin /ftpsite virtual

# chmod 700 /home/ftpsite

6、设置vsftpd.conf配置文件

#vi /etc/vsftpd/vsftpd.conf

在配置文件中添加虚拟用户的配置内容

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)

user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
local_root=/www (这行没有,虚拟用户登入到/ftpsite)

7、配置虚拟用户名的设置

#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /www/vuser1    (创建虚拟用主目录)
#chmod -R 777 /www/vuser1 (设定权限)

#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1

8、重新启动vsftpd服务程序

# service vsftpd restart

现在就应该可以用虚拟帐号登陆了.

<9>虚拟FTP用户设置

1、        建立虚拟用户口令库文件

#vi /etc/vsftpd/logins.txt

    vuser1

123

vuser2

321

        :wq

       口令库文件中奇数行设置用户名,偶数行设置口令

2、        生成vsftpd的认证文件

#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##生成认证文件

3、设置认证文件只对root用户可读可写

# chmod 600 /etc/vsftpd/vsftpd_login.db

4、建立虚拟用户所需的PAM配置文件手工建立vsftpd.vu文件

# cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限

# useradd -d /home -s /sbin/nologin /ftpsite virtual

# chmod 700 /home/ftpsite

6、设置vsftpd.conf配置文件

#vi /etc/vsftpd/vsftpd.conf

在配置文件中添加虚拟用户的配置内容

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu(要和刚才建的PAM文件对应)

user_config_dir=/etc/vsftpd/user_config_dir (指定每个虚拟用户账号配置目录,)
local_root=/www (这行没有,虚拟用户登入到/ftpsite)

7、配置虚拟用户名的设置

#mkdir -p /etc/vsftpd/user_config_dir (主配置文件对应)
#mkdir -p /www/vuser1    (创建虚拟用主目录)
#chmod -R 777 /www/vuser1 (设定权限)

#touch /etc/vsftpd/user_config_dir/vuser1 (为vuser1权限配置文件)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1

8、重新启动vsftpd服务程序

# service vsftpd restart

现在就应该可以用虚拟帐号登陆了.

Avatar_small
robux hack 说:
2018年9月05日 18:44

For the free robux generation then use free robux generator and the robux hack for the free play of the roblox free robux game to play free.

Avatar_small
candy crush soda 说:
2018年12月18日 16:42

The content is meticulous and detailed, but I think it needs more practical elements to attract the reader's attention, thank you for sharing this article.

Avatar_small
darwin essay 说:
2019年4月23日 20:08

There is some blog post that says Buy Fresh Dates For Your Loved Ones. You can get to know more about it by visiting this site or browse the topic. I haven’t heard about darwin essay before. There are no pictures on the site so it is hard to make any guess here. It seems to be some place from where you can buy dates.

Avatar_small
websta 说:
2019年8月19日 22:12

It's nice to find this tutorial, it's exactly what I need webstagram

Avatar_small
Alyssa 说:
2022年12月21日 02:22

There are many benefits to setting up a Redhat Linux open FTP server. For one, it is a very stable platform that is known for its reliability. Additionally, it is easy to configure and set up, making it a great option for those who are not vet CBD product familiar with Linux servers. Finally, Redhat Linux offers a wide variety of features and applications that can be used on the server, making it a very versatile option.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee