百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> linux中文件服务及vsftpd的配置
分享文章到:

linux中文件服务及vsftpd的配置

发布时间:01/15 来源: 浏览: 关键词:
下面我们来看一篇关于linux中文件服务及vsftpd的配置,希望这篇文章能够帮助到各位朋友,具体的步骤细节如下文介绍.

文件服务:

    ftp:应用层,C/S,文件共享;file transfer protocol;

    nfs,cifs:文件系统接口,网络文件系统;

        nfs:network file system

cifs:common internet file system

    samba


网络存储:

    NAS:Network Attached Storage,文件服务器,nfs或cifs,文件级别;

    SAN:Storage Area Network,块级别共享服务,分区–>格式化–>创建文件系统;IPSAN, FCSAN;


ftp:

    file transfer protocol,21/tcp

C/S:

            Client –> ftp–>Server

        Client:Connect

Server:Listen


    连接:

命令连接:命令传输,连接一直存在;

数据连接:数据传输,按需创建;


    数据连接的建立模式:

主动模式:服务器通过20/tcp主动连接客户端的命令连接端口向后最近一个空闲端口;PORT;

被动模式:客户端发出数据请求后,服务端会响应一个打开的临时使用的随机端口,客户端对此端口进行请求;PASV;


    数据传输模式:

        文本格式:ASCII

二进制格式:BINARY


协议安全:

    明文:数据、认证时传输账号和密码均是明文 ;


安全增强:

            ftp over ssl/tls:ftps

    ftp over ssh:sftp


虚拟用户账号;


    c/s:

Server:

            Windows:Serv-U, IIS, …

         开源解决方案:

                    wuftpd:Washington University ftp daemon

             vsftpd:Very Secure ftp daemon

                 proftpd, pureftpd, …


        Client:

         GUI:flashfxp, cute, filezilla, gftp, …

    CLI:ftp, lftp, …


    vsftpd:

程序环境:

            主程序:/usr/sbin/vsftpd

        Unit File:/usr/lib/systemd/system/vsftpd.service

    配置文件:/etc/vsftpd/vsftpd.conf

    文档路径映射:

fedora, /home/fedora/pub/a.txt –> ftp://HOST:PORT/pub/a.txt

用户的家目录映射:访问vsftpd服务必须以某个系统用户的身份进行;此用户的家目录即为文档映射的根目录;

匿名用户:anonymous,映射为一个系统用户,此用户为ftp;


    配置:vsftpd.conf

directive VALUE,…

directive:指令之前不能存在任何字符,包括空白;


    匿名用户:

        anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES


    本地用户:

local_enable=YES

write_enable=YES


    认证服务:

pam_service_name=vsftpd

/etc/pam.d/vsftpd

pam: pluggable authencate module


         切换目录时的提示信息:

dirmessage_enable=YES

         .messages


         修改上传文件的属主:

chown_uploads=YES

chown_username=USERNAME


    禁锢用户于自己的家目录:

会引入别的风险,因此,要求用户对自己的家目录不能有写权限;


(1) 禁锢所有用户

    chroot_local_user=YES

(2) 禁锢部分用户

         (a) 白名单:名单中的用户不被禁锢;

        chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

    (b) 黑名单:名单中的用户被禁锢

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


    user_list控制用户访问vsftpd:

(1) 白名单

         userlist_enable=YES

    userlist_deny=NO


             (2) 黑名单,默认

    userlist_enable=YES

    userlist_deny=YES


虚拟用户账号:

    vsftpd依赖pam完成认证,pam存储支持的认证方式,vsftpd都可调用;

账号密码存储于何处?

        文件、MySQL、ldap、redis、…


    pam_mysql模块

CentOS 6:epel

CentOS 7:编译安装


    编译:

        (1) 编译环境;

(2) 依赖关系:mariadb-devel, pam-devel


# ./configure –with-pam=/usr –with-mysql=/usr –with-pam-mods-dir=/usr/lib64/security/

# make install


MySQL设置:

         mysql> CREATE DATABASE vsftpd;

    mysql> GRANT ALL ON vsftpd.* TO 'vsftpd'@'127.0.0.1' IDENTIFIED BY 'mageedu';

    mysql>  CREATE TABLE vsftpd.users (uid SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE KEY,name VARCHAR(100) NOT NULL PRIMARY KEY,password CHAR(48) NOT NULL);

    mysql> INSERT INTO users (name,password) VALUES ('tom',PASSWORD('mageedu')),('jerry',PASSWORD('mageedu')),('lucy',PASSWORD('mageedu'));


准备要映射成为的系统账号:

# mkdir -pv /ftproot/{pub,upload}

# useradd -d /ftproot vuser

# setfacl -m u:vuser:rwx /ftproot/upload


准备基于mysql认证的pam配置文件:/etc/pam.d/vsftpd.mysql

auth required pam_mysql.so host=127.0.0.1 user=vsftpd passwd=mageedu db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required pam_mysql.so host=127.0.0.1 user=vsftpd passwd=mageedu db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

配置vsftpd启用虚拟用户,并使用指定的pam service:vsftpd.conf

    pam_service_name=vsftpd.mysql

    guest_enable=YES

    guest_username=vuser


配置每虚拟用户拥有不同的权限:vsftpd.conf

    user_config_dir=/etc/vsftpd/vusers_conf


# mkdir /etc/vsftpd/vusers_conf

# touch USERNAME


权限配置指令:

         anon_upload_enable

    anon_mkdir_write_enable

    anon_other_write_enable

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有2人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板