用户 <-> vsftpd <-> PAM模块 <-> 用户和密码数据库
vsftpd用了一种很聪明同时也是unix/linux规范的方法来认证用户,就是PAM。大家对于PAM,也许有些陌生,但是一直在用。所谓PAM,英文是:Pluggable Authentication Modules,可拔插认证模 块(不知道这样翻译对不对)。看见plug这个关键字,就知道是很灵活的。
现在几乎所有daemon程序一般都是用PAM来进行认证的,包括telnet/sshd/imapd,甚至你的login,都是用PAM
[root@localhost ~]#yum -y install vsftpd db4-devel db4 db4-utils pam-devel pam pam_pkcs11 ftp //安装软件和vsftpd
zhh
123456
user1
user1
user2
user2
user3
user3
user4
user4
user5
user5
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd.login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd.login
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
~
write_enable=YES可写
anon_umask=022掩码
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
11.[root@localhost ~]#useradd -d /home/ftpsite/ -s /sbin/nologin vritual //建立虚拟账号
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): zhh
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir zhh
257 "/home/ftpsite/zhh" created
15.常见问题:
553 Could not create file
一般都是SELinux的问题,设置SELinux的一个值,重启服务器即可。
setsebool -P ftpd_disable_trans 1
如果还是不行的话再使用下面完全方式:
[root@linux115 vsftpd]# setsebool allow_ftpd_full_access 1
[root@linux115 vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@linux115 vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@linux115 vsftpd]# setsebool -P ftp_home_dir 1
[root@linux115 vsftpd]# setsebool httpd_enable_ftp_server 1
[root@linux115 vsftpd]# setsebool tftp_anon_write 1
[root@linux115 vsftpd]# service vsftpd restart
关闭 vsftpd:[确定]
为 vsftpd 启动 vsftpd:[确定]
[root@linux115 vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
ftpd_connect_db --> off
httpd_enable_ftp_server --> on
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> on
重启vsftpd,即可解决问题。
service vsftpd restart
500 OOPS: bad bool value in config file for: write_enable
注意你的CentOS FTP服务文件中保证每一行最后没有任何空格,一般出错就是在多余的空格上。
虚拟用户上传后默认权限为:600,用户无法下载文件
在配置文件中添加或修改anon_umask项的值。如anon_umask=022或000
使用命令添加ftp用户
添加ftp用户,命令格式:
#adduser -d /目录路径 -g ftp -s /sbin/nologin 用户名
对于ftp这个用户的管理,我们应该查看/etc/passwd ,然后修改ftp用户那行;
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
比如我们想把ftp用户的家目录改为,则要把类似上一行改为
ftp:x:14:50:FTP User:/在这里修改就行了/ftp:/sbin/nologin
然后我们要建立ftp用户的新的家目录。
创建chroot list,将ftp用户加入其中://这个起到什么作用不清楚所以没添加。
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
16.最后为了方便大家自己写了一个shell给大家加上附件,如果不符合要求可以自己自行修改参数。
#!/bin/sh
yum -y install vsftpd db4-devel db4 db4-utils pam-devel pam pam_pkcs11 ftp
chkconfig vsftpd on
cp -rf /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.1
cp -rf /root/ftp/vsftpd.conf /etc/vsftpd
cp -rf /root/ftp/vsftpd /etc/pam.d/
cp -rf /root/ftp/vuser_conf /etc/vsftpd
cp -rf /etc/vsftpd/vuser_conf/zhh /etc/vsftpd/vuser_conf/user1
cp -rf /etc/vsftpd/vuser_conf/zhh /etc/vsftpd/vuser_conf/user2
cp -rf /etc/vsftpd/vuser_conf/zhh /etc/vsftpd/vuser_conf/user3
cp -rf /etc/vsftpd/vuser_conf/zhh /etc/vsftpd/vuser_conf/user4
cp -rf /etc/vsftpd/vuser_conf/zhh /etc/vsftpd/vuser_conf/user5
db_load -T -t hash -f /root/ftp/vsftpd.login.txt /root/ftp/vsftpd.login.db
mv /root/ftp/vsftpd.login.db /etc/vsftpd/
useradd -d /home/ftpsite vritual
service vsftpd start
ftp localhost
相关推荐
### vsftpd虚拟用户的配置详解 #### 一、虚拟用户概念 在介绍具体的配置步骤之前,我们先来了解一下什么是虚拟用户。虚拟用户是指在FTP服务器上使用的非真实系统账户,通常用于提高安全性以及方便管理和控制。 **...
Centos 8 vsftpd 多用户 FTP 服务器配置完美方案 在CentOS 8系统中,配置vsftpd多用户FTP服务器,实现多虚拟用户...同时,本文还介绍了vsftpd.conf配置文件的详细参数设置,实现了多用户虚拟用户方式的FTP服务器配置。
在 CentOS 6.0 系统中,YUM(Yellow dog Updater Modified)是一款强大的包管理器工具,它允许用户在基于 RPM 的 Linux 发行版上自动下载、更新和安装软件包。为了确保 YUM 正常运行,必须正确配置 YUM 源,通常这些...
本文将指导读者如何在 CentOS 6.0 系统中配置 VNC 远程桌面,以便用户可以通过 VNC 客户端远程连接到 Linux 系统的图形界面。 一、VNC 服务器安装和配置 1. 检查 Linux 系统是否安装 VNC 服务器:使用命令 `rpm -q...
CentOS 6.0 下 vncserver 安装配置 Centos 6.0 下 vncserver 安装配置是一种远程桌面连接解决方案。通过安装和配置 vncserver,可以实现在服务器上远程桌面连接,提高工作效率和灵活性。 一、安装必要的软件包 ...
CentOS 6.0 安装教程 CentOS 6.0 是目前 CentOS 家族最新版的服务器系统,本教程将带您一步步完成 CentOS 6.0 的安装过程。 一、前提条件 * 一张 Linux CentOS 6.0 光盘或者 ISO 镜像文件 二、安装步骤 1.1、...
### CentOS 6.0 安装GCC 在Linux系统中,GCC(GNU Compiler Collection)是一个重要的编译器套件,支持多种编程语言如C、C++等。对于开发者来说,安装...希望本文能够帮助到需要在CentOS 6.0上安装和配置GCC的读者。
本文档详细介绍了如何在CentOS6.0操作系统上安装Oracle10g,这是一个非常实用的技术教程,尤其适合那些希望在最新版本的Linux发行版上部署旧版本Oracle数据库的用户。 首先,让我们深入了解CentOS6.0。这是一个基于...
centos6.0种子文件 操作系统下载
### Centos7下安装vsftpd并启用虚拟用户访问 ...以上步骤完成了CentOS 7环境下vsftpd的安装与虚拟用户功能的配置。通过这种方式,可以有效地管理FTP服务器上的用户访问权限,提高安全性与灵活性。
总结,VMware 10安装CentOS 6.0的过程涉及到虚拟机的创建、配置、ISO映像加载以及操作系统安装等步骤。这个过程有助于理解虚拟化技术和Linux系统的运行机制,同时也是一个实用的技能,无论是在学习还是工作中都非常...
### Centos 6.0 安装Oracle 11g总结 #### 1. 虚拟机设置环境 在开始安装Oracle 11g之前,首先需要设置虚拟机的环境,以确保操作系统满足Oracle 11g的要求。 - **内存**: 至少1GB,建议更多以提升性能。 - **硬盘*...
至此,我们已经完成了在Centos 6.0上安装LAMP环境及配置 PhpMyAdmin 的过程。通过这些步骤,你可以轻松搭建一个功能完备的Web开发环境。 **参考资料**:[http://down.chinaz.com/server/201109/1064_1.htm]...
### CentOS6.0安装Oracle详解 #### 工具准备与远程连接 在开始安装Oracle之前,需要准备一些必要的工具,以便于文件传输和远程管理。本文档提到了两个关键工具:FileZilla和Putty。 - **FileZilla**:这是一款...
在本文中,我们将详细介绍如何在 CentOS 7.9 上安装和配置 vsftpd,以实现匿名用户的上传和下载操作。 一、关闭防火墙 在配置 vsftpd 之前,需要关闭防火墙,以免防火墙的限制导致-vsftpd 无法正常工作。可以使用...
总的来说,安装 CentOS 6.0 需要熟悉安装流程,合理规划磁盘分区,并为安全性和便捷性做好用户及权限设置。这个过程虽然看似复杂,但只要按照步骤细心操作,就能顺利完成安装。在安装过程中,注意备份重要数据,以...
很多做服务器的程序员都因为在linux下安装linux而头痛不已,确实是很麻烦的一件事,此文档讲解了在CentOs6.0下安装Oracle11g的详细步骤,希望能帮到大家。
4. 修改 vsftpd 配置:启用虚拟用户模式(`virtual_use_local_users=YES`),配置 pam 模块认证。 5. 权限设定:为虚拟用户指定家目录和文件权限,如 `chown vuser:vuser /home/vuser` 并设置 `chmod 755 /home/...
我是从CentOS-6.0-i386-bin-DVD.iso中找出来的,我用rpm -ivh 安装能用的,因为版本不匹配,老是会提示依赖包不存在,很烦人