4321255 发表于 2016-12-1 08:12:42

Linux vsftp 配置

1. 配置vsftpd虚拟用户登录及权限

2. 配置vsftp系统用户登录及控制用户访问

3. 配置vsftp+pam+mysql及权限设置


实验 /etc/init.d/iptables stopsetenforce 0 (关闭防火墙,以免出错误。)

首先安装yum install vsftpd -y

/etc/init.d/vsftpd start这个装好其实就可以启动的。

可以用 ss -tnlp | grep :21 查看启动没。

cd /etc/vsftpd进入目录后可以看到有个 vsftpd.conf配置文件

cp vsftpd.conf{,.bak} 拷贝一份在当前目录

vim(vi) vsftpd.conf 进入配置文件

下面是一些主要配置文件内容

匿名用户
    anonymous_enable=YES          #是否允许匿名账户登录FTP服务器               
    anon_upload_enable=YES      #匿名用户的上传操作;生效要依赖于write_enable=YES;
    anon_mkdir_write_enable=YES   #匿名用户创建目录的权限
    anon_other_write_enable=YE    #匿名用户的删除及重命名操作权限

系统用户
    local_enable=YES            #是否允许本地账户登录FTP服务器
    write_enable=YES            #是否开启目录上次权限(控制所有账户)
#虚拟用户
    guest_enable=YES             #定启用虚拟用户功能
    guest_username=vsftpd      #指定虚拟用户的宿主用户
    virtual_use_local_privs=YES#设定虚拟用户的权限符合他们的宿主用户
    user_config_dir=/etc/vsftpd/vconf    #设定虚拟用户配置文件存放路径

上传文件的属主设置
    chown_uploads=YES            #是否修改;
    chown_username=USERNAM       #启用chown_uploads指令时,将文件属主修改为此指令指定的用户;默认为root;

系统用户chroot()
chroot_local_user=YES   #所有用户都锁定,不予许在其家目录有写权限,即那ftp用户      
                        #不用于登录系统的账号对于"home-user"的根没有写权限
                        #或针对用户对家目录有些权限的账户开启白名单
                        #YES开启白名单,NO开启黑名单

chroot_list_enable=YES#开启名单功能,不开启则禁锢所有用户,要先开启锁定
chroot_list_file=/etc/vsftpd/chroot_list    #白/黑名单            

userlist_enable=YES #user_list控制用户访问
userlist_deny=YES   #vsftpd自带的用户登录控制,默认为YES/黑名单,NO为白名单,黑名单直接无法输入密码pam则是给允许登录用户的认证

认证服务:
      pam_service_name=vsftpd         #/etc/pam.d/vsftpd

日志记录
    xferlog_file=/var/log/vsftpd.log   #文件要手动建立,vsftpd用户对日志文件vsftpd.log的读写权限,否则服务将启动失败。

其他
    #idle_session_timeout=600    #设定空闲连接超时时间,单位秒
    #data_connection_timeout=120   #设定单次最大连续传输时间,单位秒
    #ftpd_banner=Welcome to blah FTP service.#设定Vsftpd的登陆标语
    ls_recurse_enable=NO   #禁止"ls -R"的命令,安全设定
    listen=YES   #设Vsftpd独立守护进程,否则由xinetd代理

已创建一个系统用户 user1

local_enable=YES   控制是否允许本地用户登录 YES 为是 NO 为否




控制用户访问: vsftpd.conf配置文件里倒数第二行有 userlist_enable=yes 默认开启。
然后 vsftpd文件夹内就有user_list文件 可用cat user_list查看文件内容。

在红框内的用户是不能登录的。想要其他用户也登录不了,可以自行加进去用户名。

(如果你把第一个红框内的内容输入到vsftpd.conf文件里,则只有第二个红框内的用户可登录)


首先去找一个    pam_mysql的epel源 下载 安装。
yum install mysql-server mysql-devel pam_mysql -y
下载其他包 安装。
/etc/init.d/mysqld start   启动服务
ss -tnlp | grep :3306   可以用这个命令来查看这个服务开启没
接下来就直接输入 mysql 就能登录进去了

下图是一些操作命令


下图是授权


接着 exit; 退出即可。
然后输入命令 进入mysql

创建2个虚拟用户 要来测试
现在即可 配置vsftpd
首先 建立pam认证所需文件

建立虚拟用户映射的系统用户及对应的目录

useradd -s /sbin/nologin -d /var/ftproot vuser
chmod go+rx /var/ftproot

请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
而后添加以下选项

guest_enable=YES
guest_username=vuser

然后启动vsftpd服务。查看下端口开启情况


接下来用虚拟用户登录 检测配置结果


配置vsftpd为虚拟用户使用配置文件目录
vim /etc/vsftpd/vsftpd.conf

在里面添加一项
user_config_dir=/etc/vsftpd/vusers_config
创建所需要目录,并为虚拟用户提供配置文件
mkdir /etc/vsftpd/vusers_config/
cd /etc/vsftpd/vusers_config/
touch lan drr
然后在 lan drr 文件里添加一些内容如下图


接下来检测 结果了这是 drr 用户的




现在测试 lan用户的




这个是补的 lftp的 drr 用户


这样就OK了。也说明lftp是没问题的。是我设置的权限 限制了用户。
以上就是 这是实验结果了。


页: [1]
查看完整版本: Linux vsftp 配置