• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    CentOS 5.3系统设置vsftpd虚拟用户的具体步骤

     我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

    匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。

    本地用户登录:使用系统用户登录,在/etc/passwd中。

    虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

    FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

    本文的Linux系统是CentOS 5.3

    yum -y install vsftpd

    一、建立Vsftpd虚拟用户:

    1、添加虚拟用户口令文件安装Vsftpd

    [root@51ou.com ~]#vi /etc/vsftpd/vftpuser.txt

    添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。

    ftp1 #用户名

    123456 #密码

    ftp2 #用户名

    123456 #密码

    2、生成虚拟用户口令认证文件

    将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

    首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。

    下面使用db_load命令生成虚拟用户口令认证文件。

    [root@51ou.com ~]# db_load -T -t hash -f /home/vuser.txt /etc/vsftpd_login.db

    -bash: db_load: command not found

    ###############################

    出现没有db_load的提示是因为有些db4的包没有安装,需要安装下列包:

    db4-*.rpm

    db4-tcl-*.rpm

    db4-utils-*.rpm

    或者直接: yum -y install db4 db4-tcl db4-utils

    db_load命令主要是用来生成db数据库使用的

    格式:

    db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db

    生成一个hash码型的数据库文件供ftp虚拟用户使用。

    ##########################

    [root@51ou.com ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt   /etc/vsftpd/vftpuser.db

    3、编辑vsftpd的PAM认证文件

    在/etc/pam.d目录下,

    [root@51ou.com ~]#vi /etc/pam.d/vsftpd

    将里面其他的都注释掉,添加下面这两行:

    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

    account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

    4、建立本地映射用户并设置宿主目录权限

    所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

    [root@51ou.com ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser

    [root@51ou.com ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限

    5、配置vsftpd.conf(设置虚拟用户配置项)

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf

    guest_enable=YES #开启虚拟用户

    guest_username=vftpuser #FTP虚拟用户对应的系统用户[useradd -d /home/vftpsite -s

    /sbin/nologin vftpuser]

    pam_service_name=vsftpd #PAM认证文件

    6、重启vsftpd服务

    [root@51ou.com ~]#service vsftpd restart

    7、测试虚拟用户登录FTP

    C:\Documents and Settings\Administrator>ftp 192.168.2.12

    Connected to 192.168.2.12.

    220 (vsFTPd 2.0.5)

    User (192.168.2.12:(none)): ftp1

    331 Please specify the password.

    Password:

    500 OOPS: cannot change directory:/home/vftpsiteConnection closed by remote host

    .//在配置vsftpd的时候连接vsftpd出现了500 OOPS: cannot change directory:/home/vftpsite

    的错误,vftpsite为登录时使用的本地用户名。

    解决办法:

    [root@51ou.com ~]# setsebool -P ftp_home_dir on

    也有网上说在终端输入命令:

    setsebool -P ftpd_disable_trans 1

    service vsftpd restart

    就OK了!

    测试:

    C:\Documents and Settings\Administrator>ftp 192.168.2.12

    Connected to 192.168.2.12.

    220 (vsFTPd 2.0.5)

    User (192.168.2.12:(none)): ftp1

    331 Please specify the password.

    Password:

    230 Login successful.

    二、虚拟用户高级设置:

    1、virtual_use_local_privs参数

    当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;

    当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

    当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除

    、重命名)。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,

    anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

    2. 建立各个虚拟用户自身的配置文件

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf

    添加:

    user_config_dir=/etc/vsftpd/vsftpd_user_conf

    [root@51ou.com ~]#mkdir /etc/vsftpd/vsftpd_user_conf

    编辑ftp1的配置文件

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1

    添加:

    anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。注意这个地方千万不能写成YES

    ,否则ftp1将不能列出文件和目录。

    编辑ftp2的配置文件

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2

    添加:

    write_enable=YES #开放ftp2的写权限

    anon_world_readable_only=NO #开放ftp2的下载权限

    anon_upload_enable=YES #开放ftp2的上传权限

    anon_mkdir_write_enable=YES #开放ftp2创建目录的权限

    anon_other_write_enable=YES #开放ftp2删除和重命名的权限

    3、所有虚拟用户使用一般配置

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf

    write_enable=YES

    anonymous_enable=NO

    local_enable=YES

    guest_enable=YES

    guest_username=vftpuser

    virtual_use_local_privs=NO

    pam_service_name=vsftpd

    anon_world_readable_only=NO #可以下载

    anon_upload_enable=NO(默认值) #不能上传

    anon_mkdir_write_enable=NO(默认值) #不能新建文件夹

    anon_other_write_enable=NO(默认值) #不能删除和重命名文件

    ftpd_banner=Welcome to yoozhu FTP server

    xferlog_enable=YES

    xferlog_file=/var/log/vsftpd.log

    xferlog_std_format=YES

    ascii_upload_enable=YES

    ascii_download_enable=YES

    tcp_wrappers=NO

    setproctitle_enable=YES

    listen_port=21

    connect_from_port_20=YES

    idle_session_timeout=600

    data_connection_timeout=120

    max_clients=0

    max_per_ip=3

    local_max_rate=512000

    4、各个虚拟用户使用自身配置

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf

    write_enable=YES

    anonymous_enable=NO

    local_enable=YES

    guest_enable=YES

    guest_username=vftpuser

    virtual_use_local_privs=NO

    pam_service_name=vsftpd

    user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录

    ftpd_banner=Welcome to yoozhu FTP server

    xferlog_enable=YES

    xferlog_file=/var/log/vsftpd.log

    xferlog_std_format=YES

    ascii_upload_enable=YES

    ascii_download_enable=YES

    tcp_wrappers=NO

    setproctitle_enable=YES

    listen_port=21

    connect_from_port_20=YES

    idle_session_timeout=600

    data_connection_timeout=120

    max_clients=0

    max_per_ip=3

    local_max_rate=512000

    [root@51ou.com ~]#mkdir /etc/vsftpd/vsftpd_user_conf

    编辑ftp1的配置文件

    [root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1

    anon_world_readable_only=NO

    编辑ftp2的配置文件

    [root@CentOS5 /]#vi /etc/vsftpd/vsftpd_user_conf/ftp2

    anon_world_readable_only=NO

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    以上就是CentOS 5.3系统设置vsftpd虚拟用户的具体步骤,谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。

    上一篇:如何重置CentOS 7的Root密码?设置CentOS 7的Root密码的方法与步骤
    下一篇:解决linux系统CentOS下调整home和根分区大小的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    CentOS 5.3系统设置vsftpd虚拟用户的具体步骤 CentOS,5.3,系统,设置,vsftpd,