linux下vsftp的搭建

version:Linux localhost.nagios 2.6.32-504.el6.x86_64 #1SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

1.      首先进去linux界面查看是否已经安装了,如果没有就进行yum安装

rpm –qc vsftpd

yum install vsftpd

1.      进行ftp的用户权限分配

要求:a.匿名用户只能访问V-Users,且有上传和下载以及写入的权限,即rwx。且不能访问fristfilesecondfile文件。对V-Tools文件有读取和下载的权限,但是不能写入。

          b.用户登录只对fristfilesecondfile文件有rwx权限,对V-Toos只有读和下载权限,且不能写入,最后不能访问V-Users文件。


Retype newpassword:

1.      为了方便后面的测试,这里建立两个账户:

建立账户ftping

[root@localhostabc]# useradd -s /sbin/nologin ftping

[root@localhostabc]# passwd ftping

Changingpassword for user ftping.

Newpassword:

Retypenew password:

passwd: all authenticationtokens updated successfully.

建立账户moist

[root@localhost abc]# useradd –d /home/moist moist

[root@localhostabc]# passwd ftping

Newpassword:

Retypenew password:

passwd: all authentication tokensupdated successfully.

   建立好了以后将moist加入ftping的群组中。

   usermod –G ftping moist

   可以查看最后加入的状态:

  cat /etc/group |grep ftping

   ftping:x:506:moist  这样表示已经加入了。

2.      账户建立好了以后,需要配置vsftpd的主配置文件。      

anonymous_enable=YES启用匿名访问

local_enable=YES启用本地系统用户

local_umask=022本地用户所上传文件的权限掩码

write_enable=YES本地账户可写权限

anon_umask=022匿名用户所上传文件的权限掩码

local_root=/var/ftp本地根目录

anon_root=/var/ftp匿名根目录

anon_upload_enable=YES匿名

anon_mkdir_write_enable=YES匿名启用创建写入

anon_other_write_enable=YES开放其他写入权限

xferlog_enable=YES启用日志文件

xferlog_std_format=YES日志格式

connect_from_port_20=YES连接时打开20端口

ftpd_banner=Welcometo blah FTP service欢迎字幕

chroot_local_user=YES启用将用户禁锢在主目录

listen=YES启用监听

pam_service_name=vsftpd可插拔的验证模块

userlist_enable=YES禁止user_list中文件访问,不让输密码

tcp_wrappers=YES开启TCP封装

3.      然后进行权限的给予

相关的的命令为:

chmod   更改文件权限:

                             chmod770 fristfile

                             chmod770 secondfile

                             chmod755 V-Tools

                             chmod707 V-Users

chgrp         更改文件夹的目录所属组:(-R表示子目录跟着主目录所属群组同样改变)

                             chgrp–R ftping fristfile

                             chgrp–R ftping secondfile

                             chgrp–R ftping V-Users

这样即可以实现:

无论是匿名还是登录用户都可以访问V-Tools的文件夹,且只有读取的权限且无法下载。

                        1. 匿名用户可以读写修改V-Users的文件夹,却不能打开fristfile以及secondfile

                        2. 登录用户用户可以读写修改fristfile以及secondfile的文件夹,却不能打开V-Users的文件夹。

                        3.注意如果下面这个文件夹的所属群组不是ftping,如果是root群组,那么就表示相对于这个文件夹来讲,ftping的用户组的成员将成为其他使用者,

                       而对  应得权限就是rwx的权限了,这样的话ftping群组的用户也一样可以访问读写这个文件夹,所以为了避免这个问题,就需要把这个文件夹也加入ftping

                       群组里面,且在中间的群组权限设定上为0,则ftping群组的成员就打不开这个文件夹了。

                                                                                drwx---rwx. 6 rootftping 4096 Mar  2 09:54 V-Users

如果配置好了,那么就可以实现上面的功能了。


------------------------------------------------------------------------------------------------------------------------------下面找到的网上的资料,供参考。

v常用的全局配置项
listen=YES:                                           #是否以独立运行的方式监听服务
listen_address=192.168.4.1:                  #设置监听的IP地址
listen_port=21:                                     #设置监听FTP服务的端口号
write_enable=YES:                              #是否启用写入权限
download_enable=YES:                     #是否允许下载文件
userlist_enable=YES:                           #是否启用user_list列表文件
userlist_deny=YES:                              #是否禁用user_list中的用户
max_clients=0:                                    #限制并发客户端连接数
max_per_ip=0:                                    #限制同一IP地址的并发连接数
v常用的匿名FTP配置项
anonymous_enable=YES:                   #启用匿名访问
anon_umask=022:                               #匿名用户所上传文件的权限掩码
anon_root=/var/ftp:                             #匿名用户的FTP根目录
anon_upload_enable=YES:                #允许上传文件
anon_mkdir_write_enable=YES:        #允许创建目录
anon_other_write_enable=YES:         #开放其他写入权
anon_max_rate=0:                             #限制最大传输速率,单位为字节
v常用的本地用户FTP配置项
local_enable=YES:                             #是否启用本地系统用户
local_umask=022:                               #本地用户所上传文件的权限掩码
local_root=/var/ftp:                             #设置本地用户的FTP根目录
chroot_local_user=YES:                      #是否将用户禁锢在主目录
local_max_rate=0:                              #限制最大传输速率(字节/秒)

vsftpd主要设置文件/etc/vsftpd/vsftpd.conf详解:
anonymous_enable=YES                      #匿名账户可以登录
local_enable=YES                                 #本地账户可以登录
write_enable=YES                                 #本地账户可写权限
local_umask=022                                   #umask值(用于权限控制)
anon_umask=022
anon_upload_enable=YES                    #匿名账户是否上传文件
anon_mkdir_write_enable=YES            #匿名账户是否可以创建目录
anon_other_write_enable                     #匿名账户其它的写权限(删除等)
dirmessage_enable=YES                      #启用目录说明功能

(切换到目录下,显示一些消息,在目录下创建.message文件)
xferlog_enable=YES                             #是否启用日志文件
xferlog_file=/var/log/vsftpd.log             #日志文件位置
xferlog_std_format=YES                       #日志格式
connect_from_port_20=YES                 #连接时打开20端口
#chown_uploads=YES                         #上传身份是否改变
#chown_username=whoever              #改变上传身份
#idle_session_timeout=600                 #会话超时
#data_connection_timeout=120          #连接超时
#ascii_upload_enable=YES                 #是否允许使用ascii上传
#ascii_download_enable=YES             #是否允许使用ascii下载

#ftpd_banner=Welcome to blah FTP service.        #欢迎条幅
#deny_email_enable=YES                                     #是否拒绝邮箱登陆
#(default follows)
#banned_email_file=/etc/vsftpd/banned_emails    #拒绝邮箱登陆文件
chroot_list_enable=YES                                         #允许本地账户切换目录(跳出家目录)

chroot_list_file=/etc/vsftpd/chroot_list                    #此文件中的账户将不能切换家目录(必须结合chroot_list_enable=YES    )
#chroot_local_user=YES                                        #禁止所有用户切换根目录
(chroot_list_enable=YES,chroot_local_user=YES,
chroot_list_file=/etc/vsftpd/chroot_list)                 #此时只有放入列表中的账户可以切换,其它账户不能切换)
listen=YES                                                              #监听功能打开
pam_service_name=vsftpd                                    #pam可插拔的验证模块
(设置pam的认证服务的配置文件名称,存入/etc/pam.d/目录下)
115 userlist_enable=YES                                        #启用账户限制,启用/etc/vsftpd/user_list文件
userlist_deny=YES                                                 #禁止user_list中文件访问,不让输密码
userlist_deny=NO                                                  #只允许user_list中账户访问

(/etc/vsftpd/user_list不让输密码,/etc/vsftpd/ftpusers允许输密码)

【说明:在/etc/vsftpd/user_list中
# 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.】
tcp_wrappers=YES                                                 #启动系统的简易防火墙





版权声明:本文为u012402276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。