当前位置:文档之家› RHEL5.3-FTP—vsftpd服务安装和配置

RHEL5.3-FTP—vsftpd服务安装和配置

RHEL5.3-FTP—vsftpd服务安装和配置
RHEL5.3-FTP—vsftpd服务安装和配置

RHEL5.3-FTP—vsftpd服务安装和配置

说明:系统镜像:[红帽企业.Linux.5].rhel-5.2-server-i386-dvd.iso

1、vsftpd安装

[root@linux01 ~]# mkdir /media/cdrom

[root@linux01 ~]# mount -t iso9660 /dev/cdrom /media/cdrom # 挂载镜像

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@linux01 ~]# cd /media/cdrom/Server # 进入软件包目录

[root@linux01 Server]#

[root@linux01 Server]# rpm -qa | grep ^vsftpd # 查询相关已经安装的软件包

[root@linux01 Server]# ls | grep vsftpd* # 查询当前路径下安装包

vsftpd-2.0.5-12.el5.i386.rpm

[root@linux01 Server]# rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm # 安装软件包 i安装v输出详细信息 h进度

warning: vsftpd-2.0.5-12.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:vsftpd ########################################### [100%]

[root@linux01 Server]# rpm -qa | grep ^vsftpd # 再次查询相关已经安装的软件包vsftpd-2.0.5-12.el5

[root@linux01 Server]#cd

[root@linux01 ~]# rpm -ql vsftpd | grep etc # 查询etc中与vsftpd相关的文件

/etc/logrotate.d/vsftpd.log

/etc/pam.d/vsftpd

/etc/rc.d/init.d/vsftpd

/etc/vsftpd

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

/etc/vsftpd/vsftpd.conf

/etc/vsftpd/vsftpd_conf_migrate.sh

[root@linux01 ~]#

2、、/etc/vsftpd/vsftpd.conf文件配置

[root@linux01 Server]# cat /etc/vsftp/vsftpd.conf # 读取原文,默认配置

cat: /etc/vsftp/vsftpd.conf: No such file or directory

[root@linux01 Server]# cat /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 # 允许匿名登录

#

# Uncomment this to allow local users to log in.

local_enable=YES # 允许本地帐户登录

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES # 开放对本地用户的写权限

#

# Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's)

local_umask=022 # 本地用户的文件生成掩码

#

# Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

#anon_mkdir_write_enable=YES

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory.

dirmessage_enable=YES # 显示目录下的.message

#

# Activate logging of uploads/downloads.

xferlog_enable=YES # 启用上传和下载日志

#

# Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # 启用FTP数据端口

#

# If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

# You may override where the log file goes if you like. The default is shown # below.

#xferlog_file=/var/log/vsftpd.log

#

# If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES # 使用标准的ftpd xferlog日志格式

#

# You may change the default value for timing out an idle session.

#idle_session_timeout=600

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

#

# Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients.

#async_abor_enable=YES

#

# By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode.

# Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

# predicted this attack and has always been safe, reporting the size of the

# raw file.

# ASCII mangling is a horrible feature of the protocol.

#ascii_upload_enable=YES

#ascii_download_enable=YES

#

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd/banned_emails

#

# You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list

#

# You may activate the "-R" option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES

#

# When "listen" directive is enabled, vsftpd runs in standalone mode and

# listens on IPv4 sockets. This directive cannot be used in conjunction

# with the listen_ipv6 directive.

listen=YES # FTP服务器处于独立启动模式(相对于受xinnetd管理的启动模式)

#

# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd whith two configuration files.

# Make sure, that one of the listen options is commented !!

#listen_ipv6=YES

pam_service_name=vsftpd # PAM认证服务的配置文件名称,/etc/pam.d/vsftpd

userlist_enable=YES # FTP将检查userlist_file(/etc/vsftpd/user_list)中用户是否可以访问FTP服务器

tcp_wrappers=YES # 使用tcp_wrappers作为主机访问控制方式,/etc/host.allow和

/etc/hosts.deny。

[root@linux01 Server]#

3、/etc/https://www.doczj.com/doc/2214956008.html,er_list文件配置

[root@linux01 ~]# cd /etc/vsftpd

root@linux01 vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

[root@linux01 vsftpd]# cat user_list

# vsftpd userlist

# If userlist_deny=NO, only allow users in this file

# If userlist_deny=YES (default), never allow users in this file, and

# do not even prompt for a password.

# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied.

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

[root@linux01 vsftpd]#

(当vsftp.conf配置文件中包括以下配置时,user_list中用户帐号禁止登录配置:userlist_enable=YES # 注意大小写

userlist_deny=YES

当vsftp.conf配置文件中包括以下配置时,只有user_list中用户帐号允许登录配置:注意考虑ftpusers文件用户

userlist_enable=YES # 注意大小写

userlist_deny=NO

)

[root@linux01 vsftpd]# cat ftpusers

# Users that are not allowed to login via ftp

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

operator

games

nobody

[root@linux01 vsftpd]#

4、匿名用户登录目录

匿名用户将进入/var/ftp目录

5、vsftpd服务启动与关闭

root@linux01 vsftpd]# ls -l /etc/init.d/vsftpd # vsftpd启动脚本文件

-rwxr-xr-x 1 root root 1778 Dec 13 2007 /etc/init.d/vsftpd

[root@linux01 vsftpd]#

[root@linux01 vsftpd]# chkconfig --list vsftpd # 查看

vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@linux01 vsftpd]# chkconfig --level 35 vsftpd on # 设置在35模式下随机启动[root@linux01 vsftpd]# chkconfig --list vsftpd # 检查查看

vsftpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off

[root@linux01 vsftpd]#

[root@linux01 vsftpd]# service vsftpd start # 启用服务

Starting vsftpd for vsftpd: [ OK ]

[root@linux01 vsftpd]# service vsftpd stop # 停止服务

Shutting down vsftpd: [ OK ]

[root@linux01 vsftpd]# service vsftpd restart # 重启服务

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@linux01 vsftpd]# service vsftpd status # 查看服务状态

vsftpd (pid 13071) is running...

[root@linux01 vsftpd]#

6、测试帐号登录

[root@redhatCLI ~]# ftp 192.168.7.2

ftp: connect: No route to host # 防火墙阻止登录

ftp>bye # 退出ftp

[root@linux01 vsftpd]# service iptables stop # 在服务器上关闭防火墙,在客户端上也要关闭防火墙

Flushing firewall rules: [ OK ]

Setting chains to policy ACCEPT: nat filter [ OK ]

Unloading iptables modules: [ OK ]

[root@linux01 vsftpd]#

匿名帐号登录(可以登录)

[root@redhatCLI ~]# ftp 192.168.7.2#在客户端上登录ftp服务器

Connected to 192.168.7.2.

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.7.2:root): anonymous # 使用匿名帐号登录331 Please specify the password.

Password: # 密码为空

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> dir

227 Entering Passive Mode (192,168,7,2,159,53)

150 Here comes the directory listing.

drwxr-xr-x 2 0 0 4096 Dec 13 2007 pub

226 Directory send OK.

ftp> pwd

257 "/"

ftp> bye

221 Goodbye.

[root@redhatCLI ~]#

服务器本地帐号登录(默认不能登录)

[root@redhatCLI ~]# ftp 192.168.7.2

Connected to 192.168.7.2.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

Name (192.168.7.2:root): test01

331 Please specify the password.

Password:

500 OOPS: cannot change directory:/home/test01 # 其他帐号同样不能登录,与

user_list、vsftdpd.conf等无关

Login failed.

ftp> bye

服务器本地帐号不能登录的修复处理

root@linux01 vsftpd]# setsebool ftpd_disable_trans 1 # 服务器本地帐号不能登录的修复处理,

# disable SELinux protection of the ftp daemon

# 有什么不会的后果就不知了。

[root@linux01 vsftpd]# service vsftpd restart # 重启服务

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

[root@linux01 vsftpd]#

[root@redhatCLI ~]# ftp 192.168.7.2 # 服务器本地帐号登录

Connected to 192.168.7.2.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

Name (192.168.7.2:root): test01

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> dir

227 Entering Passive Mode (192,168,7,2,43,10) 150 Here comes the directory listing.

226 Directory send OK.

ftp> pwd

257 "/home/test01"

ftp> cd / # 进入根目录

250 Directory successfully changed.

ftp> pwd

257 "/" # 不安全啊

ftp> cd /home # 可以进入/home目录

250 Directory successfully changed.

ftp> pwd

257 "/home

ftp> mkdir 123

550 Create directory operation failed.

ftp> bye

221 Goodbye.

[root@redhatCLI ~]#

7、禁锢登录用只在宿主目录中

[root@linux01 vsftpd]# vi 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.

#

……………………………..

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

chroot_local_user=YES # 添加此行,来禁锢登录用只在宿主目录中

"vsftpd.conf" 117L, 4419C written

[root@linux01 vsftpd]# service vsftpd restart # 重启服务

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

[root@linux01 vsftpd]#

测试

[root@redhatCLI ~]# ftp 192.168.7.2

Connected to 192.168.7.2.

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.7.2:root): test01

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> pwd

257 "/"

ftp> cd /home # 不能使用cd进入非根目录了

550 Failed to change directory.

ftp> bye

221 Goodbye.

[root@redhatCLI ~]#

8、配置FTP服务器的虚拟用户(虚拟帐号对系统更安全)(1)建立虚拟用户口令库文件

[root@linux01 ~]# touch /etc/vsftpd/logins.txt

[root@linux01 ~]# vi /etc/vsftpd/logins.txt

mike # 奇数行为用户名

pwabc # 偶数行为密码

john

pw1234

~

~

"/etc/vsftpd/logins.txt" 4L, 23C written

[root@linux01 ~]# cat /etc/vsftpd/logins.txt

mike

pwabc

john

pw1234

[root@linux01 ~]#

(2)生成vsftpd的认证文件

root@linux01 Server]# db # db + 两次空格键

dbconverter-2 dbus-cleanup-sockets dbus-launch dbus-send

dbus-binding-tool dbus-daemon dbus-monitor dbus-uuidgen

[root@linux01 Server] # 可以看出没有db-_load命令,默认系统没有安装时,要手工安装了

[root@linux01 Server]# ls | grep ^db # 挂载好光驱后,进入到rpm包文件目录,查看db有关软件包

db4-4.3.29-9.fc6.i386.rpm

db4-devel-4.3.29-9.fc6.i386.rpm

db4-java-4.3.29-9.fc6.i386.rpm

db4-tcl-4.3.29-9.fc6.i386.rpm

db4-utils-4.3.29-9.fc6.i386.rpm

dbus-1.0.0-7.el5.i386.rpm

dbus-devel-1.0.0-7.el5.i386.rpm

dbus-glib-0.70-5.i386.rpm

dbus-glib-devel-0.70-5.i386.rpm

dbus-python-0.70-7.el5.i386.rpm

dbus-x11-1.0.0-7.el5.i386.rpm

[root@linux01 Server]#

[root@linux01 Server]# rpm -ivh db4-4.3.29-9.fc6.i386.rpm

[root@linux01 Server]# rpm -ivh db4-devel-4.3.29-9.fc6.i386.rpm

[root@linux01 Server]# rpm -ivh db4-java-4.3.29-9.fc6.i386.rpm

[root@linux01 Server]# rpm -ivh db4-tcl-4.3.29-9.fc6.i386.rpm

[root@linux01 Server]# rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm # 之后实验好像装他就可以了

[root@linux01 Server]# rpm -ivh dbus-1.0.0-7.el5.i386.rpm # 不知db_load是db4的哪个软件包,所以都安装了。

[root@linux01 Server]# db # db + 两次空格键。嗨,有了,出来了吧。

db_archive db_dump185 db_upgrade dbus-monitor

db_checkpoint db_load dbus-binding-tool dbus-send

dbconverter-2 db_printlog dbus-cleanup-sockets dbus-uuidgen

db_deadlock db_recover dbus-daemon db_verify

db_dump db_stat dbus-launch

[root@linux01 Server]# cd

root@linux01 ~]# db_load -T -t hash -f /etc/vsftpd/logins.txt

/etc/vsftpd/vsftpd_login.db # 生成vsftpd的认证文件

[root@linux01 ~]# file /etc/vsftpd/vsftpd_login.db # 查看文件类型

/etc/vsftpd/vsftpd_login.db: Berkeley DB (Hash, version 8, native byte-order) [root@linux01 ~]# chmod 600 /etc/vsftpd/vsftpd_login.db # 设置文件只对root读写[root@linux01 ~]# ls -l /etc/vsftpd/vsftpd_login.db

-rw------- 1 root root 12288 Jun 1 20:30 /etc/vsftpd/vsftpd_login.db

[root@linux01 ~]#

(3)建立虚拟用户所需的PAM配置文件

[root@linux01 ~]# touch /etc/pam.d/vsftpd.vu # 新建文件

[root@linux01 ~]# vi /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

~

~

"/etc/pam.d/vsftpd.vu" 2L, 141C written

[root@linux01 ~]# 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

[root@linux01 ~]#

(4)建立虚拟用户及要访问的目录并设置权限

[root@linux01 ~]# useradd -d /home/ftpsite virtual # 建立虚拟用户所需的目录及系统帐号

[root@linux01 ~]# chmod 700 /home/ftpsite/ # 设置宿主目录的权限

[root@linux01 ~]# ls -l /home/

total 16

drwx------ 3 virtual virtual 4096 Jun 1 20:39 ftpsite # 刚健的虚拟宿主目录,为所有虚拟用户使用

drwx------ 3 test01 test01 4096 Jun 1 18:58 test01 # 之前的本地用户test01宿主目录

[root@linux01 ~]#

(5)设置vsftpd.conf配置文件

[root@linux01 vsftpd]# cp vsftpd.conf vsftpd.conf_bake # 首先进入/etc/vsftpd目录,然后备份,以防有问题

[root@linux01 vsftpd]# vi vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf

#

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用户名增加一个用户

相关主题
文本预览
相关文档 最新文档