搜档网
当前位置:搜档网 › vsftpd完整配置手册

vsftpd完整配置手册

vsftpd完整配置手册
vsftpd完整配置手册

vsftpd完整配置手册.txtゅ你不用一上线看见莪在线,就急着隐身,放心。莪不会去缠你。说好的不离不弃现在反而自己却做不到╮vsftpd配置选项

1、vsftpd配置参数详细整理

#接受匿名用户

anonymous_enable=YES

#匿名用户login时不询问口令

no_anon_password=YES

#匿名用户主目录

anon_root=(none)

#接受本地用户

local_enable=YES

#本地用户主目录

local_root=(none)

#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录

deny_email_enable=YES

#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录

check_shell=YES

#若启用此选项,userlist_deny选项才被启动

userlist_enable=YES

#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录

userlist_deny=NO

#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)

passwd_chroot_enable=NO

#定义匿名登入的使用者名称。默认值为ftp。

ftp_username=FTP

#################用户权限控制###############

#可以上传(全局控制).

write_enable=YES

#本地用户上传文件的umask

local_umask=022

#上传文件的权限配合umask使用

#file_open_mode=0666

#匿名用户可以上传

anon_upload_enable=NO

#匿名用户可以建目录

anon_mkdir_write_enable=NO

匿名用户其它的写权利(更改权限?)

anon_other_write_enable=NO

如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。

anon_world_readable_only=YES

#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名

#guest_enable=NO

所有匿名上传的文件的所属用户将会被更改成chown_username

chown_uploads=YES

匿名上传文件所属用户名

chown_username=lightwiter

#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 chroot_list_enable=YES

#允许使用"async ABOR"命令,一般不用,容易出问题

async_abor_enable=YES

管控是否可用ASCII 模式上传。默认值为NO。

ascii_upload_enable=YES

#管控是否可用ASCII 模式下载。默认值为NO。

ascii_download_enable=YES

#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system

的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty

secure_chroot_dir=/usr/share/empty

###################超时设置##################

#空闲连接超时

idle_session_timeout=600

#数据传输超时

data_connection_timeout=120

#PAVS请求超时

ACCEPT_TIMEOUT=60

#PROT模式连接超时

connect_timeout=60

################服务器功能选项###############

#开启日记功能

xferlog_enable=YES

#使用标准格式

xferlog_std_format=YES

#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.

#log_ftp_protocol=NO

#允许使用pasv模式

pasv_enable=YES

#关闭安全检查,小心呀.

#pasv_promiscuous+NO

#允许使用port模式

#port_enable=YES

#关闭安全检查

#prot_promiscuous

#开启tcp_wrappers支持

tcp_wrappers=YES

#定义PAM 所使用的名称,预设为vsftpd。

pam_service_name=vsftpd

#当服务器运行于最底层时使用的用户名

nopriv_user=nobody

#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?)

pasv_address=(none)

#################服务器性能选项##############

#是否能使用ls -R命令以防止浪费大量的服务器资源

#ls_recurse_enable=YES

#是否使用单进程模式

#one_process_model

#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式

listen=YES

#当使用者登入后使用ls -al

之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。

text_userdb_names=NO

#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果 use_localtime=NO

#测试平台优化

#use_sendfile=YES

################信息类设置################

#login时显示欢迎信息.如果设置了banner_file则此设置无效

ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.

#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容

dirmessage_enable=YES

#显示会话状态信息,关!

#setproctitle_enable=YES

############## 文件定义 ##################

#定义不能更改用户主目录的文件

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

#定义限制/允许用户登录的文件

userlist_file=/etc/vsftpd/https://www.sodocs.net/doc/c76089289.html,er_list

#定义登录信息文件的位置

banner_file=/etc/vsftpd/banner

#禁止使用的匿名用户登陆时作为密码的电子邮件地址

banned_email_file=/etc/vsftpd.banned_emails

#日志文件位置

xferlog_file=/var/log/vsftpd.log

#目录信息文件

message_file=.message

############## 目录定义 #################

#定义用户配置文件的目录

user_config_dir=/etc/vsftpd/userconf

#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的.

local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk #匿名用户登陆后的根目录

anon_root=/var/ftp

#############用户连接选项#################

#可接受的最大client数目

max_clients=100

#每个ip的最大client数目

max_per_ip=5

#使用标准的20端口来连接ftp

connect_from_port_20=YES

#绑定到某个IP,其它IP不能访问

listen_address=192.168.0.2

#绑定到某个端口

#listen_port=2121

#数据传输端口

#ftp_data_port=2020

#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。

pasv_max_port=0

#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。

pasv_min_port=0

##############数据传输选项#################

#匿名用户的传输比率(b/s)

anon_max_rate=51200

#本地用户的传输比率(b/s)

local_max_rate=5120000

########################################

别外,如果要对每个用户进行单独的控制,只需要在user_config_dir中建立username 文件,内容为数据传输和用户权利里面设置个人的合适的选项,用户自定义文件同样适合用pam支持的虚拟用户

附: FTP 数字代码的意义

110 重新启动标记应答。

120 服务在多久时间内ready。

125 数据链路埠开启,准备传送。

150 文件状态正常,开启数据连接端口。

200 命令执行成功。

202 命令执行失败。

211 系统状态或是系统求助响应。

212 目录的状态。

213 文件的状态。

214 求助的讯息。

215 名称系统类型。

220 新的联机服务ready。

221 服务的控制连接埠关闭,可以注销。

225 数据连结开启,但无传输动作。

226 关闭数据连接端口,请求的文件操作成功。

227 进入passive mode。

230 使用者登入。

250 请求的文件操作完成。

257 显示目前的路径名称。

331 用户名称正确,需要密码。

332 登入时需要账号信息。

350 请求的操作需要进一部的命令。

421 无法提供服务,关闭控制连结。

425 无法开启数据链路。

426 关闭联机,终止传输。

450 请求的操作未执行。

451 命令终止:有本地的错误。

452 未执行命令:磁盘空间不足。

500 格式错误,无法识别命令。

501 参数语法错误。

502 命令执行失败。

503 命令顺序错误。

504 命令所接的参数不正确。

530 未登入。

532 储存文件需要账户登入。

550 未执行请求的操作。

551 请求的命令终止,类型未知。

552 请求的文件终止,储存位溢出。

553 未执行请求的的命令,名称不正确。

2、VSFTPD官方资料翻译版(不完整版)---摘自中国Linux公社

翻译了部分VSFTPD的官方资料。

有些知道是什么意思,但难于翻译。有些涉及专业的知识,我自己也不懂,只好按字面翻译。有些我自己看不懂,只好尽量翻译。

如果看了其中一部分觉得糊涂,请参阅官方文挡。

安装篇

===============

这个文件详细介绍了如何从VSFTPD的.tar.gz分发包开始,建立和安装并运行VSFTPD。

1)建立VSFTPD

先进入解压.tar.gz文件后产生的目录内。如下:

cd vsftpd-2.0.1

编辑"builddefs.h"以操作compile-time设定。(tcp_wrappers build,等)

输入make,回车(如果它不工作请发邮件通知我 .

这将产生一个二进制文件,你可以验证一下。如下:

[chris@localhost vsftpd]$ ls -l vsftpd

-rwxrwxr-x 1 chris chris 61748 Sep 27 00:26 vsftpd

2)满足VSFTPD安装所需的一些条件

VSFTPD默认设置需要一个"nobody"用户,如果这个用户不存在,那么添加它。如下: [root@localhost root]# useradd nobody

useradd: user nobody exists

VSFTPD默认设置需要一个空目录:/usr/share/empty.增加这个目录,如果它还不存在的话。如下:

[root@localhost root]# mkdir /usr/share/empty/

mkdir: cannot create directory `/usr/share/empty': File exists

如果容许匿名用户(anonymous),那么你将需要一个"ftp"用户和其home目录(这个home目录不属于“ftp”用户,而且“ftp"用户也对其没有写权限)在你的系统中存在。

以下命令用来创建一个"ftp"用户,如果它还不存在的话。

[root@localhost root]# mkdir /var/ftp/

[root@localhost root]# useradd -d /var/ftp ftp

(即使你的"ftp"用户已经存在,完成以下这两步也是很有好处的:)

[root@localhost root]# chown root.root /var/ftp

[root@localhost root]# chmod og-w /var/ftp

3)安装VSFTPD的配置、执行和帮助文件。

输入"make install"后会将二进制文件和帮助文件拷贝到适当的目录。

你也可以手工拷贝这些文件:

cp vsftpd /usr/local/sbin/vsftpd

cp vsftpd.conf.5 /usr/local/man/man5

cp vsftpd.8 /usr/local/man/man8

"make install"不会拷贝默认的配置文件,所以建议你手工拷贝:

cp vsftpd.conf /etc

daidong注:根据你系统版本的不同,也可能是 cp vsftpd.conf /etc/vsftpd

4)测试(无inetd影响)

VSFTPD能运行在独立模式(standalone)或者通过inetd(xinetd)来启动。

你能通过inetd来运行vsftpd以更好地控制它。但我们在首次运行时不这么做,以便检查系统是否现在配置正常。

编辑/etc/vsftpd.conf(daidong注:也可能是/etc/vsftpd/vsftpd.conf),并在最下面加入以下这一行:

listen=YES

这将告诉VSFTPD不要从inetd启动。

OK,现在试着启动FTP。

以ROOT登录。

确定你没有运行其他FTP服务(否则VSFTPD不能占用FTP所需的21端口)。

运行那个二进制文件,如下:

[root@localhost root]# /usr/local/sbin/vsftpd &

[1] 2104

如果一切正常,那么你将连上FTP服务器,如下:

[chris@localhost chris]$ ftp localhost

Connected to localhost (127.0.0.1).

220 (vsFTPd 1.1.1)

Name (localhost:chris): ftp

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (127,0,0,1,229,133)

150 Here comes the directory listing.

d--x--x--x 2 0 0 4096 Jan 14 2002 bin

d--x--x--x 2 0 0 4096 Apr 21 20:52 etc

drwxr-xr-x 2 0 0 4096 Apr 21 20:52 lib

drwxr-sr-x 2 0 50 4096 Jul 26 22:58 pub

226 Directory send OK.

ftp>

5)从inetd或者类似方式启动(官方推荐使用standalone方式)

你也许想通过inetd或者类似方式启动VSFTPD,因为这能给你更多的感受。例如xinetd 就有很多的设置。

(注意:VSFTPD的内在机制屏蔽了xinetd的大多数的有用的设置)。

如果使用标准的"inetd",你需要编辑/etc/inetd.conf,在其中加入以下一行:

ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd

(确定你删除或者注释掉一些已存在的FTP服务配置行。如果你没有安装tcp_wrappers,或者不想使用它们,那么请去掉/usr/sbin/tcpd

part).

inetd需要指定并重新载入它的配置文件:

kill -SIGHUP `pidof inetd`

如果你想使用"xinetd",请参阅我们提供的范例 /EXAMPLE/INTERNET_SITE/README.

而其他范例文件将告诉你如何调配出更强大的xinetd功能。

6)为本地登录配置PAM文件(可选)

如果你在一台激活了PAM的设备上运行VSFTPD,你需要提供一个 /etc/pam.d/ftp 文件。否则非匿名用户将无法登录服务器。

(注:如果你的PAM版本比较老,那么这个文件也许是 /etc/pam.conf).

做为一个标准设置,你可以拷贝一个已提供的范例文件,如下:

cp RedHat/vsftpd.pam /etc/pam.d/ftp

7)自定义你的配置文件

完成以上的配置后,建议你安装一个配置文件。默认的配置文件位置是/etc/vsftpd.conf. 在VSFTPD软件分发包内有一个范例配置文件。

你可以拷贝其为/etc/vsftpd.conf以做进一步修改。

cp vsftpd.conf /etc

(daidong注:也可能是 cp vsftpd.conf /etc/vsftpd ).

这个默认配置即不容许本地登录也不容许匿名用户上传,也许你希望更改这个配置。

其它

===================

测试平台(已通过)

-流行的,功能完善的平台都能测试通过。在以下平台的较新版本,VSFTPD工作得很好。在其大部分较早的版本下,也运行正常。

- RedHat Linux

- RedHat Enterprise Linux

- Solaris / GNU tools (Solaris 8 or newer)

- SuSE Linux

- Debian Linux

- OpenBSD

- FreeBSD

- NetBSD

- HP-UX / GNU tools

- IRIX / GNU tools

- Mac OS X (note; older versions have setgroups() problem. 10.3.4 reported OK)

虚拟用户1

=============

这个例子示范了如何为虚拟用户设置VSFTPD/PAM。

虚拟用户是一个在系统中并不作为一个登录实体而存在的用户。使用虚拟用户比使用真实的用户更安全,因为这个账号只能用于FTP服务器。

虚拟用户经常用来提供给不大可信任的用户访问某些资源,而这些资源通常是其他普通用户不能访问的。

1)创建虚拟用户数据库

我们将使用pam_userdb来认证虚拟用户。这需要提供一个“db"格式(一种通用数据库格式)的用户名/密码文件。

创建一个"db"格式的文件,首先要创建一个标准文本文件,并把用户名,密码以竖直排列方式输入。如logins.txt:

tom

foo

fired

bar

这个例子中,tom用户的密码是foo.fired用户的密码是bar.

以ROOT登录,创建一个数据库文件,如下:

db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

(这要求berkeley db程序已经安装)

(注:一些系统也许安装了多个版本的"db",所以某些情况下你可能使用"db3_load"才是正确的。对于一些 Debian系统就是这样。

关键在于要让pam_userdb相信它的登录数据库是哪一个db版本所产生(一般都是db3,尽管你的系统里可能安装的是db4).)

这将创建/etc/vsftpd_login.db文件。显然,你希望设定这个文件的权限:

chmod 600 /etc/vsftpd_login.db

要了解更多关于维护你的登录数据库的信息,请在"berkeley DB"察看相关文档:

https://www.sodocs.net/doc/c76089289.html,/docs/utility/index.html

2)用你的新数据库创建一个PAM文件

请参考范例vsftpd.pam,它包含2行:

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

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

这是告诉PAM用新的数据库去验证用户。把这个PAM文件拷贝到PAM目录,一般是/etc/pam.d

cp vsftpd.pam /etc/pam.d/ftp

3)为虚拟用户设置home目录

useradd -d /home/ftpsite virtual

ls -ld /home/ftpsite

(which should give):

drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite

我们已经创建了一个名叫"virtual"的用户,home目录是"/home/ftpsite".

我们拷贝一些东西到这个下载目录:

cp /etc/hosts /home/ftpsite

chown virtual.virtual /home/ftpsite/hosts

4)创建你的vsftpd.conf配置文件

请参考这个目录下的例子。让我们一行行地看一看这些配置:

anonymous_enable=NO

local_enable=YES

安全起见,屏蔽了匿名用户,只启用了非匿名用户(即虚拟用户使用的账号)

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

为了安全请确认这几个配置,这将关闭写的权限。

chroot_local_user=YES

这将把虚拟用户锁定在我们在以上设置的/home/ftpsite目录内。

guest_enable=YES

guest_username=virtual

guest_enable非常重要-它激活了虚拟用户!而guest_username说明所有的虚拟用户都对应我们在上面设置的真实用户:“virtual".

这同时确定了虚拟用户在文件系统中的位置,也就是说,虚拟用户的home目录即"virtual"用户的home目录:/home/ftpsite。

listen=YES

listen_port=10021

这让VSFTPD以独立模式(standalone)运行,而不是从inetd方式启动。也就是说,你运行VSFTPD可执行文件就启动了FTP服务。

同时也让VSFTPD启用非标准端口10021来监听FTP请求(FTP一般使用21端口)。

pasv_min_port=30000

pasv_max_port=30999

这设定了被动模式的FTP请求端口。当你配置了一个防火墙的时候,这个配置就很好用。

拷贝范例配置文件到/etc

cp vsftpd.conf /etc/

(daidong注:也可能是/etc/vsftpd)

5)启动VSFTPD

到VSFTPD二进制文件所在的目录,输入:

./vsftpd

如果一切正常,这个命令将生效。否则,你将会看到一些错误信息的反馈。

6)测试

启动另一个会话。(或者ctrl-z,再输入"bg",让VSFTPD在后台运行)。

这是一个FTP会话的例子:

ftp localhost 10021

Connected to localhost (127.0.0.1).

220 ready, dude (vsFTPd 1.1.0: beat me, break me)

Name (localhost:chris): tom

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> pwd

257 "/"

ftp> ls

227 Entering Passive Mode (127,0,0,1,117,135)

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

ftp> size hosts

213 147

ftp>

注释:

密码是"foo"

出现”failed to open directory“的话,别担心。这是因为/home/ftpsite目录不容许被任意浏览。

(我们可以更改anon_world_readable_only=NO以消除告警,但为了安全,还是保留这个配置)。

我们能通过size命令看到我们已经访问了被我们拷贝到这里的"hosts"文件。

vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

guest_enable=YES

guest_username=virtual

listen=YES

listen_port=10021

pasv_min_port=30000

pasv_max_port=30999

虚拟用户2

===============

这个例子将演示如何扩展“VIRTUAL_USERS”那个范例,从而实现更复杂一点的配置。

让我们假定我们需要2种不同的虚拟用户:一种只能浏览并下载资源,另一种能上传文件并浏览站内资源。

要激活这个设置,我们将使用VSFTPD的强大的“单个用户配置”功能(是V1.1.0后出现的新功能)。

在前一个虚拟用户范例中,我们创建了2个用户-tom和fred.

我们将实现fred有写权限以上传新文件,同时tom只能下载文件。

1)激活单个用户配置功能。

要激活这个功能,需要增加以下配置行到配置文件:

user_config_dir=/etc/vsftpd_user_conf

并且创建目录:

mkdir /etc/vsftpd_user_conf

2)授予tom读取所有文件和目录的权限

在上一个例子的最后,我们注意到虚拟用户只能浏览所有的完全可读属性的目录和文件。我们使/home/ftpsite完全可读,而且被上传的文件也

赋予了完全可读的权限(daidong注:意思是说这样虚拟用户就能读取所有的文件了)。但实现这个目的的另一个方法是授权tom能下载那些非完全可读的文件。

对于tom,他的配置文件中需要修改一个设置:

anon_world_readable_only:

设为"anon_world_readable_only=NO" > /etc/vsftpd_user_conf/tom

(daidong注:既把默认配置修改了anon_world_readable_only后,复制到/etc/vsftpd_user_conf下,名字为tom)

验证一下结果-以tom登录,“ls”将返回一个目录列表。如果以fred登录将不会如此。

注意:重启VSFTPD以启用配置文件/etc/vsftpd.conf(高级用户也可以发送SIGHUP 给VSFTPD的监听进程).

3)授予freg读取所有文件/目录并创建新文件/目录的权限,但让他不能对已存在的文件/目录进行操作.

echo "anon_world_readable_only=NO" > /etc/vsftpd_user_conf/fred

echo "write_enable=YES" >> /etc/vsftpd_user_conf/fred

echo "anon_upload_enable=YES" >> /etc/vsftpd_user_conf/fred

验证一下-以tom登录,将不能上传,而fred就可以.

试图删除一个文件--噢,你们俩都不行!

©2009 Baidu

Linux1 FTP服务器 主配置文件vsftpd.conf

Linux1 FTP服务器主配置文件vsftpd.conf vsftpd.conf可以用于控制vsftpd,以实现各种各样的功能。vsftpd缺省到/etc/vsftpd.conf处查找此文件。当然,管理员也可以通过命令行参数进行指定。对于想使用高级inetd管理的用户,例如,xinetd,则这个功能非常有用。可以使用不同的配置文件来启动基于主机、实体用户、匿名用户登录及系统安全方面的每个服务。 vsftpd.conf的格式非常简单,每行要么是注释,要么是指令。注释行以#开始,将被忽略。指令行格式如下: 选项=值 应当注意的一点是,如果在“选项”、“=”、“值”三者之间存在空格,将会报错。且针对于每项设定都有默认值(YES/NO),这可以通过配置文件来修改。1.与计算机相关的设置值 ●connect_from_port_20 用于控制在服务器端,是否使用端口20(ftp-data)进行数据连接。基于安全的考虑,有些客户端需要这样做。相反,禁用该选项可以使vsftpd以较少特权运行。默认:NO。 ●listen_port vsFTP使用的命令通道端口号,如果想要使用费默认的端口号,可在这个设置项中修改。不过,需要知道这个设置值仅适合以stand alone(独立模式)的方式启动。默认:21。 ●dirmessage_enable 如果启用,当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息。默认情况下,是通过扫描目录下的message文件获取的,当然也可以通过message_file 选项设定。默认:NO。 ●message_file 当dirmessage_enable=YES时,可设置这个项目来让vsFTPd寻找该文件,从而显示信息。默认:YES。 ●listen 若设置为YES,表示vsFTPd是以stand alone(独立模式)的方式启动。默认:YES。 ●pasv_enable 如果数据传输时,不允许使用PASV模式,则将此选项设为NO。默认:YES。 ●use_localtime 是否使用本地时间?vsFTPd默认使用GMI时间(格林威治)。默认:YES。 ●write_enable

Linux系统vsftpd安装及设置步骤

1.安装 1. 在要创建FTP的服务器上输入命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明已经安装,否则没有。 2. 然后再执行:yum install vsftpd -y 进行在线安装vsftpd 服务。 如上图看到Complete! ,表示安装完成。 3. 安装成功以后需要把匿名登陆的这个功能关闭了。 使用命令:vim /etc/vsftpd/vsftpd.conf 然后在里面找到: anonymous_enable=YES,改成anonymous_enable=NO 4. 然后再查看一下vsftpd这个服务有没有启动。 使用命令:chkconfig --list 如果如下图所示表示没有启动。

使用以下命令启动:chkconfig --level 35 vsftpd on 5. 用客户端连接ftp后提示500 OOPS:cannot change directory: /home/xxx 问题很奇怪,百度了一下,发现可能是由于启用了SELinux引起的问题 输入命令:vi /etc/sysconfig/selinux 将SELINUX=enforcing 修改为SELINUX=disabled,关闭SELINUX后, 重新启动机器,问题解决。 6. 再接下来就是创建用户名。创建用户名:useradd jiuyang123 useradd -d /home/... -s /sbin/nologin myusername# /home/... 替换为你想让该用户访问到的路径# myusername 替换为你自己取的用户名 #/sbin/nologin意思是用户不允许登录(通过ftp可以连接) 7. 再然后就是创建密码。命令:passwd jiuyang123 再输入两次密码就可以了。 8.更改目录的所有者 chmod -R 755 /home/... 1.登录FTP 1. 关闭防火墙:/etc/init.d/iptables stop 1.重启服务:setsebool ftpd_disable_trans 1 # setsebool -P ftpd_disable_trans 1 #关闭SELINUX对ftpd的保护 /sbin/service vsftpd restart 注意上一阶段第5步,将SELINUX中关于ftp服务传输控制的默认设置修改后再将vsftp服务重新启动一下

vsftpd服务器设置

1.vsftpd服务软件包 vsftpd-2.0.5-10.el5.i386.rpm:vsftpd主程序包 2.vsftpd相关文档 /etc/vsftpd/vsftpd.conf:vsftpd的核心配置文件 /etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP服务器 /etc/vsftpd/user_list:指定允许使用vsftpd的用户列表文件 /etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录 FTP常规配置应用案例1: 需求: 公司技术部准备搭建一台功能简单的FTP服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。 分析: 允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启,最后anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。 解决方案: (1)配置vsftpd.conf主配置文件(服务器配置支持上传) 允许匿名用户访问 anonymous_enable=YES

允许匿名用户上传文件并可以创建目录anon_upload_enable=YES anon_mkdir_write_enable=YES

保存退出 (2)上传目录ftp用户的写入权限 大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!! 下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫companydata,分配ftp用户所有,目录权限是755 OK了 (3)修改selinux(selinux支持上传)这个也是很多教程没有的一步 使用getsebool -a | grep ftp命令可以找到ftp的bool值,然后我们来改getsebool -a 是显示所有的selinux的布尔值,通过管道,查找与ftp相关的

RHEL6.5下部署vsftpd实战全集

1.实验需求: 1)使用RPM包安装vsftpd服务 2)实现匿名用户访问,验证仅可以访问和下载,不可以上传 3)实现匿名用户可上传、下载、修改等完全权限(现实环境中这样的需求可能性很小) 4)实现把登陆的用户禁锢在自己的家目录中 5)实现限制某些用户的访问 6)实现虚拟用户的访问 7)实现针对不同的虚拟用户拥有不同的权限 2.实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5 IP:192.168.20.3 Windows客户机系统版本:Windows 7 Ultimate x64 IP:192.168.20.2 vsftpd软件版本:vsftpd-2.2.2 3.实验步骤: 基本安装操作 A.挂载系统光盘并安装vsftpd 这里我们使用rpm安装包安装vsftpd,安装包放在系统光盘中的Packages目录中,我们首先挂载系统光盘到系统的mnt目录下 [root@localhost~]# mount /dev/sr0 /mnt

到Packages目录下找到vsftpd服务的软件包并安装,安装完成。 [root@localhost~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm B.查看vsftpd配置文件 [root@localhost ~]# grep -v "#"/etc/vsftpd/vsftpd.conf #过滤掉配置文件中#号的注释 anonymous_enable=YES #已开启匿名用户的访问 local_enable=YES #已开启本地账号的访问 write_enable=YES #已开启写入的权限 local_umask=022 #本地用户上传文件的权限是644,文件夹是755 ---------------------以下配置为服务默认,此实验中无需关心 ---------------------- dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES

第6季 Vsftpd服务全攻略之高级配置

第6季 Vsftpd服务全攻略之高级配置 企业环境 公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。对所有权互联网开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP服务器进行上传和下载,但不可以删除数据。并且保证服务器的稳定性,进行适当优化设置哈~ 需求分析 根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。 解决方案 1、创建用户数据库 (1)创建用户文本文件 先建立用户文本文件vsftpd_virtualuser.txt,添加两个虚拟帐号,公共帐号ftp及客户帐号vip touch /etc/vsftpd/vsftpd_virtualuser.txt vim /etc/vsftpd/vsftpd_virtualuser.txt 格式: 虚拟帐号1 密码 虚拟帐号2 密码 保存退出哈~ (2)生成数据库

保存虚拟帐号和密码的文本文件无法被系统帐号直接调用哈~我们需要使用 db_load命令生成db数据库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt /etc/vsftpd/vsftpd_virtualuser.db 注意: rhel5默认只安装db4-4.3.29-9.fc6.i386.rpm和 db4-devel-4.3.29-9.fc6.i386.rpm, 要使用db_load需要将db4-utils-4.3.29-9.fc6.i386.rpm包安装上哈~否则会出现下图的错误:找不到db_load命令。 (3)修改数据库文件访问权限 数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。生成的认证文件的权限应设置为只对root用户可读可写,即600 chmod 600 /etc/vsftpd/vsftpd_virtualuser 2、配置PAM文件 为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新

Ubuntu下vsftpd的配置与使用

Ubuntu下安装FTP服务(以VSFTPD为例)(一)安装与配置 (1)安装vsftpd $sudo apt-get install vsftpd 这里会提示无法创建/home/ftp目录,手动创建一个 $sudo mkdir /home/ftp 如果提示已创建目录就不用理它了 (2)编辑配置文件/etc/vsftpd.conf $sudo gedit /etc/vsftpd.conf 也可以使用vi 主要配置: 将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录; 将anonymous_enable=NO,即不允许匿名登录ftp; (3)启动vsftpd $sudo /etc/init.d/vsftpd start (4)添加用户lzftp $sudo useradd -m -d /home/lzftp -G root lzftp 编辑lzftp的密码: $sudo passwd lzftp 重启vsftpd服务 $sudo /etc/init.d/vsftpd restart (二)使用ftp服务 (1)ftp的文件存放 在/home/lzftp下放入文件Hello.txt以供下载 (2)ftp服务的使用 $ ftp $ ftp> open 192.168.48.10 提示输入用户名和密码,我这里用户名就是lzftp (3)使用ftp查看文件 (Linux下)$ ftp> ls –l (Windows下)$ftp> dir 注意:可以使用help命令查看命令,删除前一个字符使用delete键

(4)使用ftp服务下载文件 $ ftp> get Hello.txt /home/stander/Hello.txt 注意:stander为当前的用户 (三)具体配置参数详解 vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf 的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法。 Vsftpd的配置文件: /etc/vsftpd/vsftpd.conf主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd启动脚本 /etc/pam.d/vsftpd PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户) /etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意:linux-4 中此文件在/etc/ 目录下) /etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。(注意:linux-4 中此文件在/etc/ 目录下) /var/ftp 匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录 /var/ftp/pub 匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除) /etc/logrotate.d/vsftpd.log Vsftpd的日志文件 vsftpd的主配置文件/etc/vsftpd/vsftpd.conf说明(修改前先备份): # Example config file /etc/vsftpd/vsftpd.conf # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES(是否允许匿名登录FTP服务器,默认设置为YES允许,即用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址。如不允许匿名访问去掉前面#并设置为NO ) # Uncomment this to allow local users to log in. local_enable=YES(是否允许本地用户 ( 即 linux 系统中的用户帐号) 登录FTP服务器,默认

linux ftp 服务器配置

Linux ftp 服务器配置 vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表“very secure FTP daemon”,安全性是其设计与开发的一个重要目标。它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征: ? 非常高的安全性需求 ? 带宽限制 ? 良好的可伸缩性 ? 创建虚拟用户的可能性 ? 分配虚拟IP地址的可能性 一、vsftpd的启动 #service vsftpd start 如果允许用户匿名访问,需创建用户ftp和目录/var/ftp # mkdir /var/ftp # useradd –d /var/ftp ftp 二、vsftpd的配置 Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置: 1. 连接选项 ☆监听地址和控制端口 (1) listen_address=ip address 定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。 (2) listen_port=port_value 指定FTP服务器监听的端口号。默认值为21。 2. 性能与负载控制 ☆超时选项 (1) idle_session_timeout= 空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s (2) accept_timeout=numerical value 接受建立联机的超时设定。默认值为60s ☆负载选项

(1) max_clients= numerical value 定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。 (2) max_per_ip= numerical value 定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。 (3) anon_max_rate=value 设定匿名用户的最大数据传输速度,以B/s为单位。默认无。 (4) local_max_rate=value 设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。 3. 用户选项 vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest) ☆匿名用户 (1) anonymous_enable=YES|NO 控制是否允许匿名用户登录 (2) ftp_username= 匿名用户使用的系统用户名。默认情况下,值为ftp (3) no_anon_password= YES|NO 控制匿名用户登录时是否需要密码。 (4) anon_root= 设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/ (5) anon_world_readable_only= YES|NO 控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。 (6) anon_upload_enable= YES|NO 控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。 (7) anon_mkdir_wirte_enable= YES|NO 控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。

vsftpd配置文件详解

vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆。 anonymous_enable=YES local_enable=YES 2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名用户家目录/var/ftp,且只能下载不能上传。 3>本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载。 write_enable=YES 4>写在文件/etc/ers中的本地用户禁止登陆。 2.配置文件格式: 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示: option=value 要注意的是,等号两边不能加空白。 3.匿名用户(anonymous)设置 anonymous_enable=YES/NO(YES) 控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。write_enable=YES/NO(YES) 是否允许登陆用户有写权限。属于全局设置,默认值为YES。 no_anon_password=YES/NO(NO) 若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。 ftp_username=ftp 定义匿名登入的使用者名称。默认值为ftp。 anon_root=/var/ftp 使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。 anon_upload_enable=YES/NO(NO)

VSFTP搭建 配置文件详解 实例

关于VSFTP vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。 它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征: 非常高的安全性需求: 带宽限制 良好的可伸缩性 创建虚拟用户的可能性 分配虚拟IP地址的可能性: 一、安装vsftpd服务 在进行安装该服务之前,必须现将linux的环境装好才行: [root@testtimeslinux root]# rpm -qa|grep vsftpd//查看是否已经安装了该软件 vsftpd-1.2.0-4 [root@testtimeslinux root]# rpm -e vsftpd-1.2.0-4//卸载已经安装的软件 warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave [root@testtimeslinux root]# [root@testtimeslinux root]# rpm -qa|grep vsftpd //再次查看是否完全卸载 [root@testtimeslinux /]# cd /mnt [root@testtimeslinux /]# mkdir cdrom [root@testtimeslinux /]# mount /dev/cdrom /mnt/cdrom//在根目录下进行挂载 mount: block device dev/cdrom is write-protected, mounting read-only 在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。挂装设备需要使用mount命令。执行这一命令,至少要先确定下列三种信息: 1. 要挂装(Mount)对象的文件系统类型; 2. 要挂装(Mount)对象的设备名称(/dev/...); 3. 要将设备挂装(Mount)到哪一目录。 [root@testtimeslinux /]# cd /mnt/cdrom/package [root@testti meslinux…]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.i686.rpm //进行安装vsftpd-2.2.2-6.el6_0.1.i686.rpm,此操作相当于window下的双击setup文件。信息如下: warning: vsftpd-2.2.2-6.el6_0.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] [root@testtimeslinux RPMS]# rpm -aq|grep vsftpd //查看是否安装vsftpd vsftpd-2.2.2-6.el6_0.1.i686 [root@testtimeslinux RPMS]# cd / [root@testtimeslinux /]# umount mnt/cdrom//退出挂载 [root@testtimeslinux /]# service vsftpd start//启动vsftpd 服务 为vsftpd 启动vsftpd:[ 确定]

嵌入式FTP服务器(vsftpd)移植手册

嵌入式FTP服务器(vsftpd)移植手册 FTP软件版本: vsftpd-2.1.2 交叉编译器版本: arm-linux-gcc 4.1.2 操作系统平台: Linux -- Red Hat 9.0 开发板平台: Arm -- TX2440A vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。它还可以移植到嵌入式Linux中,我们可以把开发板当作一个FTP服务器。 一> 编译vsftpd程序 1.获得源码包:vsftpd- 2.1.2.tar.gz(位置:光盘资料/源码包/其他软件源码) 2.解压,进入源码目录: #tar xzvf vsftpd-2.1.2.tar.gz #cd vsftpd-2.1.2 3.修改Makefile,指定交叉编译器: CC = arm-linux-gcc 4.#make 编译时会出现错误,跟libcap.so有关 修改vsf_findlibs.sh: 45-53行注释掉: # Look for libcap (capabilities) #if locate_library /lib/libcap.so.1; then # echo "/lib/libcap.so.1"; #elif locate_library /lib/libcap.so.2; then # echo "/lib/libcap.so.2"; #else # locate_library /usr/lib/libcap.so && echo "-lcap"; # locate_library /lib/libcap.so && echo "-lcap";

Linux下vsftp配置笔记!!!

这些咚咚只是我在看书时记录下来的一些简单的配置命令和说明,有些地方也许写的不是很详细,大家可以在参考其他资料来学习! 1.vsftpd 服务软件包 vsftpd-2.0.5-10.el5.i386.rpm:vsftpd 主程序包 2.vsftpd 相关文档 /etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件 /etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器 /etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件 /etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录 (1)配置vsftpd.conf 主配置文件(服务器配置支持上传) 允许匿名用户访问 anonymous_enable=YES 允许匿名用户上传文件并可以创建目录 anon_upload_enable=YES anon_mkdir_write_enable=YES 大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!! 2FTP 常规配置应用案例: 需求: 公司内部现在有一台FTP和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等哈~公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理。先要求仅允许team1和team2 帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。 分析: 将FTP和WEB服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot 功能将team1和team2 锁定在/var/www/html目录下。如果需要删除文件则还需要注意本地权限~ 解决方案: (1)建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码useradd -s /sbin/nologin 用户名 (2)配置vsftpd.conf 主配置文件并作相应修改 vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO:禁止匿名用户登录

linux下FTP服务器安装配置(VSftp)

环境: RedHat AS4 说明: 如果不做说明,一般安装命令均使用ROOT权限,用 # 表示 特别说明:无 以下文章介绍Liunx 环境下vsftpd的三种实现方法 一、前言 Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的 FTP服务器,目前已经被许多大型站点所采用 Vsftpd的实现有三种方式 1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问 2、本地用户形式:以/etc/passwd中的用户名为认证方式 3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服 务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器 的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增 强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密 码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。 对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对 下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说, 虚拟用户是一种极好的解决方案。

默认情况下vsftp上传之后文件的权限是600,目录权限是700 想要修改上传之后文件的权限,有两种情况 如果使用vsftp的是本地用户 则要修改配置文件中的 local_umask的值 如果使用vsftp的是虚拟用户 则要修改配置文件中的 anon_umask的值 二、vsftp配置大全-三种方式的实现 1、匿名用户形式: 任务实现匿名用户上传,下载,删除,重命名,新建目录,删除目录,重命名目录; 第一步:在/var/ftp/下,新建一个目录share; chmod –R 777 /var/ftp/share/ chown –R nobody:nobody /var/ftp/share/ 第二步:更改/etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES

超详细linux vsftpd配置大全文档

FTP服务的配置 ftp服务器的软件——vsftpd,其全称是“Very Secure FTP Daemon”。Vsftpd的配置文件在/etc/vsftpd/目录下 1 ftpusers PAM模块 /etc/pam.d/vsftpd 所指定的那个无法登录的用户配置文件。 2 user_list 默认的情况下,写在这个文件里帐号都不允许登录vsftpd,它能否生效与vsftpd.conf中的参数userlist_enable 、userlist_deny有关。 本地用户管理: 1)selinux布尔值ftp_home_dir 改为on, setsebool -P ftp_home_dir on 2)配置文件vsftpd.conf中的local_enable=YES,即默认设置 此时,这些实体用户能可以离开他们默认的目录即/home/~,如果需要将实体用户限制在他们的默认目录下,不允许他们到其他目录需要进行一下设置: Chroot_local_user=NO,(默认此行被注释,即不启动),修改这行下面的参数 Chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list,然后 在/etc/vsftpd/目录下创建chroot_list文件,将需要限制离开默认目录的实体用户的名字写进去。 修改user_list_enable=YES user_deny=YES,则可将不允许登录的用户写入/vsftpd目录下的user_list。 实体用户能上传、下载、删除默认目录下的文件。 修改默认发布目录 1)建立发布目录。mkdir -p /share/doc 2)修改发布目录权限、属主和selinux安全上下文。

Linux下如何安装vsftpd服务器

Linux下如何安装vsftpd服务器 导读:vsftpd服务器最大的特点就是够安全,可在Linux系统上运行,是ftp 服务器软件,下面小编就给大家介绍下如何在Linux下安装vsftpd服务器。 我们所用的ftp服务器程序是vsftpd,算是Linux下最受欢迎的一个开源FTP 服务器了。 安装vsftpd服务器程序 Linux传统安装软件的方法是下载tar.gz安装包,或者RPM安装包,经过解压之后进行编译,或者用RPM -i命令安装。过程比较繁琐,我们用yum命令来在线安装,这样可以自动选择最新的程序版本,非常方便。 输入yum install vsftpd 最后按y确认安装。当出现“Complete!”时意味着安装完成。 接着输入chkconfig vsftpd on service vsftpd start 将vsftpd设置为开机启动,并启动vsftpd服务。 修改vsftpd配置文件 vsftpd的配置文件默认位置在:/etc/vsftpd/vsftpd.conf,通常情况下需要先备份一份原始的配置文件,然后再编辑,具体步骤如下: 输入mv vsftpd.conf vsftpd.conf-old 将vsftpd.conf文件改名为vsftpd.conf-old 备份,输入vi /etc/vsftpd/vsftpd.conf 新建并编辑vsftpd.conf文件。 接上打开新建vsftpd.conf文件,按照如下配置写入: anonymous_enable=NO//禁止匿名用户登录,通常我们web服务器上的ftp 都不允许匿名登录

local_enable=NO//禁止(或允许)本地用户登录 write_enable=YES//赋予可写入权限 chroot_local_user=YES//锁定用户目录,ftp用户登录ftp只能在自己的目录下操作 anon_upload_enable=NO anon_mkdir_write_enable=NO//禁止匿名用户的上传、新建目录权限 dirmessage_enable=YES//允许ftp用户列出文件目录 xferlog_enable=YES//写入日志 connect_from_port_20=YES listen=YES//使用端口20,通常这几项是默认的 pam_service_name=vsftpdpamconf userlist_enable=YES tcp_wrappers=YES//比较重要,指定了pam验证的配置文件 guest_enable=YES//开启虚拟用户 guest_username=apache//指定虚拟用户使用本地用户apache的权限,这项特别重要,web服务器上面的ftp虚拟用户一定要设置成apache权限,否则ftp 上传的文件不能被正常访问,也无法修改网站生成的文件。 user_config_dir=/etc/vsftpd/vuser_conf//虚拟用户的配置文件存放位置 virtual_use_local_privs=YES//虚拟用户使用本地用户权限,这项要有,否则ftp 用户无法更改文件权限 然后保存并退出vi编辑器,执行:service vsftpd restart ,重启vsftpd服务测试配置文件书写是否正确。 添加vsftpd虚拟账户: 我们要进入目录/etc/vsftpd 中建立虚拟用户db库: 输入vi vuservsftpd.txt 新建并编辑文件vuservsftpd.txt,写入你要建立的虚拟用户和密码,单行为用户名双行为密码,注意此不能有空格,如:vuser1 password1 vuser2 password2 建立完成后保存退出,然后通过db命令来生成vsftpd验证需要使用的虚拟用户库文件: db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db//注意db文件名要与vsftpd.conf中设置的pam认证名相同 为了安全可以删掉刚刚新建的vuservsftpd.txt,下次需要添加用户名的时候再新建即可,还可以将vsftpdpamconf.db文件权限设置为644。 添加vsftpd虚拟账户配置文件: 虚拟账户没有对应的配置文件不会生效,1步里面我们在vsftpd.conf文件中确定了虚拟账户的配置文件目录为:/etc/vsftpd/vuser_conf,下面我们进入这个目录工作: 配置文件的命名必须是与虚拟账户名相同,所以我们新建了两个文件:vuser1、vuser2,并根据需要写入如下配置信息: local_root=/var/www/html/demo//设定虚拟用户的更目录,因为我们需要实现每一个网站一个ftp帐号管理,所以他的根目录就是我们需要管理的网站虚拟

suse系统vsftpd虚拟用户配置手册

Suse linux 11建立Vsftpd虚拟用户 我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。 本地用户登录:使用系统用户登录,在/etc/passwd中。 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。 FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。 本文实验的Linux系统是SuseLinux 一、本地数据文件方式 1. 添加虚拟用户口令文件 [root@SuseLinux /]#mkdir /etc/vsftpd [root@SuseLinux /]#vi /etc/vsftpd/vftpuser.txt 添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。 ipms IPms!23$ xdrdownload Xdrd!23$

2. 生成虚拟用户口令认证文件 将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。 首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。 [root@SuseLinux /]#rpm –qa |grep db4-utils [root@SuseLinux /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm 下面使用db_load命令生成虚拟用户口令认证文件。 [root@SuseLinux /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db 3. 编辑vsftpd的PAM认证文件 在/etc/pam.d目录下, [root@SuseLinux /]#cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_20160303bak [root@SuseLinux /]#vi /etc/pam.d/vsftpd 将里面其他的都注释掉,添加下面这两行(注意系统是32位还是64位的):auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser 4. 建立本地映射用户并设置宿主目录权限 所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。[root@SuseLinux /]#useradd –d /rawdata –s /sbin/nologin vftpuser [root@SuseLinux /]#chmod 700 /rawdata [root@SuseLinux /]#chown –R vftpuser:users/rawdata [root@SuseLinux /]#mkdir/rawdata/xdr

linux下配置vsftp(初级笔记)

linux下配置vsftp(初级笔记) 因为要往linux上传东西,所以弄了一下vsftp,上网找了很多的教程,但感觉好多地方没有写到。根据我自己的配置经验来写一下。高级的应用因为我不太会用到,暂时我就不写了,等有时间有需要的时候我再补充。 环境是vm5下的redhat linux as3安装的时候我就把vsftp安装好了。 配置文件是/etc/vsftpd/vsftpd.conf按如下编辑此文件,编辑文件当然用vi了 注意以下配置中的Anonymous_enable=yes的第一个字母有的版本里面是小写,就要改正过来 1)实现匿名用户的上传下载文件 程序代码: Anonymous_enable=yes匿名登陆 Connect_form_port_20=yes启用FTP数据端口的数据连接 Pam_service_name=vsftpd验证方式 Listen=yes独立的VSFTPD服务器 这样你就可以实现匿名登陆ftp了,但还不能上传文件 程序代码: Anon_upload_enable=yes开放上传权限 Anon_mkdir_write_enable=yes可创建目录的同时可以在此目录中上传文件 Write_enable=yes开放本地用户写的权限 Anon_other_write_enable=yes匿名帐号可以有删除的权限 加上上面的这段,你就可以实现匿名ftp的上传下载文件了 然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了 注意:确定你的防火墙iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd 被locked那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了 2)实现本地用户上传下载 程序代码: 新建一个用户 adduser用户名增加一个用户

相关主题