zoukankan      html  css  js  c++  java
  • centos 6 安装vsftpd与PAM虚拟用户

    使用yum 安装vsftp

     1 yum install vsftpd pam pam-* db4 db4-* 

    创建一个保存用户及密码的文件

    1 cd /etc/vsftpd/
    2 touch  vuser_passwd.txt

    添加用户(奇行用户,偶行密码)

    1 vim  vuser_passwd.txt
    2 
    3 tom
    4 DSfaoewLD3
    5 ken
    6 GetpOIIofd324DLJhg

    将文本内的帐号及密码添加到db4的数据库文件内

    1 db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

    将vsftpd原内容全部注释掉,并添加如下:

    1 sed -ir 's/^/#/g' /etc/pam.d/vsftpd
    2 
    3 auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vuser_passwd
    4 account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/vuser_passwd

    创建一个vsftpd服务的用户vsftpd,你也可以使用-d来指定他的家目录

    1 useradd -d /home/vsftpd -s /sbin/nologin vsftpd

    更改 vsftpd的配置文件,先备份一下vsftpd.conf

    1 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

    配置如下:

     1 #不允许匿名访问
     2 anonymous_enable=NO
     3 #设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问
     4 local_enable=YES
     5 #允许写操作
     6 write_enable=YES
     7 #创建或上传后文件的权限掩码
     8 local_umask=022
     9 #禁止匿名用户上传
    10 anon_upload_enable=NO
    11 #禁止匿名用户创建目录
    12 anon_mkdir_write_enable=NO
    13 #进入目录时可以显示一些设定的信息,可以通过message_file=.message来设置
    14 dirmessage_enable=YES
    15 #开启日志
    16 xferlog_enable=YES
    17 #主动连接的端口号
    18 connect_from_port_20=YES
    19 #设定禁止上传文件更改宿主
    20 chown_uploads=NO
    21 #日志路径,记得自己创建一下并且对这个文件进行chown  vsftpd.vsftpd /var/log/vsftpd.log
    22 xferlog_file=/var/log/vsftpd.log
    23 #就是格式话日志格式的,你懂得。使用wu ftp软件时设置yes就行
    24 xferlog_std_format=YES
    25 #因为我们把vsftpd的shell设置为nobody 了,所以 这个地方写vsftpd就可以啦!当然或者可以写成系统内的nobody
    26 nopriv_user=vsftpd
    27 #设定支持异步传输功能
    28 async_abor_enable=YES
    29 #设定支持ASCII模式的上传
    30 ascii_upload_enable=YES
    31 #设定支持ASCII模式的上传
    32 ascii_download_enable=YES
    33 #登陆欢迎语
    34 ftpd_banner=Welcome to dongnan FTP service.
    35 #限定在自己的目录内,不让他出去,就比如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他一些有权限目录。设置为YES后即,锁定你的目录了
    36 chroot_list_enable=YES
    37 #待会要把用户写到这个里面,写到这里的用户乖乖的呆在家目录下吧
    38 chroot_list_file=/etc/vsftpd/chroot_list
    39 #以standalone方式来启动
    40 listen=YES
    41 #/etc/pam.d/下的vsftpd文件
    42 pam_service_name=vsftpd
    43 #在/etc/vsftpd/user_list中的用户将不得使用FTP
    44 userlist_enable=YES
    45 #支援 TCP Wrappers 的防火墙机制
    46 tcp_wrappers=YES
    47 #启用虚拟用户功能
    48 guest_enable=YES
    49 guest_username=vsftpd
    50 #虚拟用户的权限符合他们的宿主用户
    51 virtual_use_local_privs=YES
    52 #虚拟用户个人vsftpd的配置文件存放路径。vsftpd_config是文件夹啊。注意:配置文件名必须和虚拟用户名相同
    53 user_config_dir=/etc/vsftpd/vuser_conf
    54 #设置被动模式
    55 pasv_enable=yes
    56 #被动模式数据传输端口范围
    57 pasv_min_port=8888
    58 pasv_max_port=8899

    创建保存虚拟用户配置文件的目录

    1 mkdir /etc/vsftpd/vuser_conf/

    创建vsftp日志文件

    1 touch /var/log/vsftpd.log
    2 chmod 600 /var/log/vsftpd.log
    3 chown vsftpd.vsftpd /var/log/vsftpd.log

    创建要将哪些用户固定在家目录的配置文件

    1 touch /etc/vsftpd/chroot_list
    2 echo -e "vsftpd
    tom
    ken" > /etc/vsftpd/chroot_list

    将需要固定用户目录的用户名字写进去即可

    cd /etc/vsftpd/vuser_conf/
    cat > tom << EOF #起用虚拟用户,centos下yes必须为小写字母
     
    local_root=/home/ftp/tom
    write_enable=YES
    anon_umask=022
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

    注:行末不能有空格

    启动vsftpd

    1 /etc/init.d/vsftpd start

     

    转载 https://www.cnblogs.com/jenqz/p/5195306.html

    乌龟虽然跑的慢但是比兔子长寿啊
  • 相关阅读:
    archlinux安装nvidia-1050ti闭源驱动教程,亲测
    键盘键码对照
    解决manjaro无法外接显示器
    windows下的上帝模式,很好用,细想,很恐怖啊
    高效率编辑器 Vim——操作篇,非常适合 Vim 新手
    linux rand application
    数组和对象常用API
    JsBridge的异步不执行的处理--promise异步变同步
    js根据数组对象中某个元素合并数组
    js/vue 高德地图绘制驾车路线图
  • 原文地址:https://www.cnblogs.com/nieqibest/p/9233292.html
Copyright © 2011-2022 走看看