vsftpd快速配置及配合mysql认证登录
admin
2023-05-18 08:42:31
0
vsftpd

vsftpd 是“very secure FTP daemon”,安全性是它的一个最大的特点,下面来看一下vsftpd的快速配置.

vsftpd主要的配置文件:

/etc/pam.d/vsftpd
               /etc/vsftpd
               /etc/vsftpd/ftpusers
               /etc/vsftpd/user_list
               /etc/vsftpd/vsftpd.conf

用户类别:

匿名用户:

anonymous 默认账户及家目录 ftp, /var/ftp
                            /var/ftp 目录属性不可更改
                            将其匿名子目录的属主属组ftp

anon_upload_enable=YES 开启匿名用户的上传
anon_mkdir_write_enable=YES 开启写权限
anon_other_write_enable=YES 上传文件的权限是600

系统用户:

至少禁止系统用户访问ftp服务,/etc/vsftpd/ftpusers,PAM(/etc/pam.d/vsftpd);
用户的account认证需要pam_unix.so与/etc/passwd相关
                       需要依赖于系统账户区别权限

local_umask=022

定义访问用户的黑名单:/etc/pam.d/vsftpd

auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

锁定用户的根目录
虚拟用户:非系统用户,用户账号非为可登录操作系统的用户账号(非/etc/passwd);

一般的默认设定用户通过vsftpd服务访问到的默认路径,是用户自己的家目录;默认可以自己有权限访问的所有路径间切换;

禁锢用户于其家目录中;须将用户撤销对其家目录的读权限

        chroot_local_user=YES

上传下载速率:

                anon_max_rate=0
                local_max_rate=0

并发连接数限制:

                max_clients=2000
                max_per_ip=50

配置mysql与vsftp的认证:

1.安装开发环境:编译时要先安装与对应的开发环境

            yum install mariadb-server mariadb-devel  pam-devel

2.安装gcc,直接安装开发包组

            yum install  "Devlopment Tools" "Server Platform  Development"

3.编译安装pam_mysql

            ]# tar xf pam_mysql-0.7RC1.tar.gz
            ./configure  \
            --with-pam=/usr     \
            --with-mysql=/usr \
            --with-pam-mods-dir=/usr/lib64/security/  #指明模块的村饭路径
            make && make install

4.配置vsftpd.conf文件:

            pam_service_name=vsftpd.vusers   #指明pam文件名
            guest_enable=YES   #开启来宾模式
            guest_username=vuser #来宾用户

5.编写pam文件:README可查看

            auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
            account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

6.创建msyql表:

            vim /etc/my.cnf
            [mysqld]
            skip_name_resolve=ON
            innodb_file_per_table=ON
            log_bin=mysql-bin

授权用户远程登录:

           GRANT ALL ON vsftpd.*  TO vsftpd@'127.0.0.1' IDENTIFIED BY 'vsftpd';
           FLUSH  PRIVILEGES;
           CREATE DATABASE vsftpd;
           use vsftpd;
           CREATE TABLE users(
           id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,name VARCHAR(100) NOT NULL ,password CHAR(48) NOT NULL UNIQUE KEY(name)
           );
           INSERT INTO users(    
           name,password) VALUES ('centos',PASSWORD('centos')),('redhat',PASSWORD('redhat'));

7.创建用户并创建根目录,虚拟用户映射

             mkdir -p /ftproot/vuser
             useradd -d /ftproot/vuser vuser
             将用户对家目录的写权限
             chmod a-w /ftproot/vuser/

8.编辑vsftpd.conf文件

           指明虚拟用户的配置文件路径
           user_config_dir=/etc/vsftpd/vusers_config/

9.对每个用户建立配置文件:

           vim /etc/vsftpd/vusers_config/centos
           anon_upload_enable=YES
           anon_mkdir_write_enable=YES

10.接下来对服务进行访问测试

相关内容

热门资讯

莫斯科咖啡馆爆炸案:传俄军高官... 综合法媒BFM、Franceinfo新闻台报道,当地时间8月1日晚,俄罗斯首都莫斯科市中心知名高档意...
特朗普:霍尔木兹海峡已有协议,... 财联社8月3日电,美国总统特朗普表示,霍尔木兹海峡已有协议,无核化也将达成协议。正在以谈判的形式与伊...
中国地震局启动四级应急响应,现... 据中国地震台网正式测定,2026年8月3日2时21分,在四川宜宾市高县(北纬28.54度,东经104...
以称内塔尼亚胡通过特朗普社媒得... △特朗普社交媒体发文截图总台记者当地时间2日获悉,多名以色列官员称,在美国取消针对伊朗的既定袭击计划...
500左右的手柄怎么选?swi... 现在游戏手柄早已成为热门数码外设,跟风入手的玩家数不胜数,但不清楚500左右的手柄怎么选的人同样不在...
原创 美... 2026年1月1日,美国太空探索技术公司“星链”工程副总裁迈克尔尼科尔斯高调宣布,计划2026年降低...
原创 全... 现在的屏幕设计,拥有两大类型,分别是折叠屏、直板机,而类型之间拥有多种形态。其中的折叠屏,拥有阔折叠...
原创 流... 最近,通信圈的两则消息引发了轩然大波。一方面,中国电信宣布自8月1日起全面停止第三方互联网渠道的办卡...
伊朗重申霍尔木兹海峡不会恢复至... △伊朗外交部发言人巴加埃(资料图)当地时间2日,伊朗外交部发言人巴加埃表示,伊方重申,霍尔木兹海峡的...
伊朗外长:与阿曼谈判接近完成 △伊朗外交部长阿拉格齐(中)当地时间8月2日,伊朗外交部长阿拉格齐在政府内阁会议上介绍伊朗与阿曼谈判...