在CentOS系统下创建和配置虚拟用户的方法

   一、下载当前vsftp最新版本

  代码如下:

  wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz

  二、安装前准备

  1、创建虚拟用户映射的本地用户wwwftp

  代码如下:

  useradd wwwftp -d /data/www -s /sbin/nologin

  2、创建自定义配置目录

  代码如下:

  mkdir -p /data/soft/vsftpd/conf

  mkdir -p /data/soft/vsftpd/bin

  mkdir -p /data/soft/vsftpd/lib

  mkdir -p /data/soft/vsftpd/user_conf

  mkdir -p /data/soft/vsftpd/empty

  mkdir -p /data/soft/vsftpd/logs

  mkdir -p /data/www

  mkdir -p /data/www/user1

  mkdir -p /data/www/user2

  3、对自定义目录设置权限

  代码如下:

  chown -R wwwftp:www /data/www

  chmod -R 700 /data/soft/vsftpd/empty/

  chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/

  4、复制用于验证用户登录的库文件到自定义目录方便管理

  代码如下:

  cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/

  5、安装所需软件

  代码如下:

  yum -y install gcc db4* pam*

  三、解压安装vsftpd

  代码如下:

  tar zxvf vsftpd-2.3.4.tar.gz

  cd vsftpd-2.3.4

  源码安装默认不支持tcp_wrappers和ssl

  需要修改builddefs.h

  代码如下:

  /*默认值如下:*/

  #undef VSF_BUILD_TCPWRAPPERS /*是否支持TCP WRAPPERS*/

  #define VSF_BUILD_PAM /*是否支持自定义虚拟用户登录*/

  #undef VSF_BUILD_SSL /*是否支持SSL传输*/

  /*支持则将对应项设为define,否则设为undef*/

  编译vsftpd

  代码如下:

  make

  查看编译的vsftpd二进制文件是否加载了pam

  代码如下:

  ldd vsftpd

  如下:

  代码如下:

  [root@CentOS5 vsftpd-2.3.4]# ldd vsftpd

  linux-gate.so.1 => (0x00628000)

  libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000)

  libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000)

  libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)

  libdl.so.2 => /lib/libdl.so.2 (0x007dc000)

  libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000)

  libutil.so.1 => /lib/libutil.so.1 (0x00110000)

  libcap.so.1 => /lib/libcap.so.1 (0x00d99000)

  libc.so.6 => /lib/libc.so.6 (0x0029a000)

  libaudit.so.0 => /lib/libaudit.so.0 (0x00114000)

  /lib/ld-linux.so.2 (0x004a2000)

  看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功加载pam认证模块

  代码如下:

  cp vsftpd /data/soft/vsftpd/bin

  四、配置vsftpd

  1、创建主配置文件

  代码如下:

  vi /data/soft/vsftpd/conf/vsftpd.conf

  如下:

  代码如下:

  local_enable=YES

  anonymous_enable=NO

  anon_upload_enable=NO

  anon_other_write_enable=NO

  anon_mkdir_write_enable=NO

  ftpd_banner=Welcome to FTP service.

  listen=YES

  listen_port=21

  connect_from_port_20=YES

  nopriv_user=nobody

  tcp_wrappers=YES

  chroot_local_user=NO

  chroot_list_enable=YES

  chroot_list_file=/data/soft/vsftpd/chroot_list

  userlist_enable=yes

  userlist_deny=no

  userlist_file=/data/soft/vsftpd/allow

  dual_log_enable=YES

  vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log

  xferlog_enable=YES

  xferlog_file=/data/soft/vsftpd/logs/xferlog

  pasv_enable=YES

  pasv_min_port=50000

  pasv_max_port=60000

  guest_enable=YES

  guest_username=wwwftp

  pam_service_name=vsftpd

  virtual_use_local_privs=YES

  use_localtime=YES

  user_config_dir=/data/soft/vsftpd/user_conf

  secure_chroot_dir=/data/soft/vsftpd/empty

  2、创建允许登录ftp的用户文件

  代码如下:

  vi /data/soft/vsftpd/allow

  如下:

  代码如下:

  user1

  user2

  3、创建用于锁定用户目录的用户列表文件

  代码如下:

  vi /data/soft/vsftpd/chroot_list

  如下

  代码如下:

  user1

  user2

  4、配置vsftpd的pam认证模块(用于虚拟用户认证)

  代码如下:

  vi /etc/pam.d/vsftpd

  如下

  代码如下:

  auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

  account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

  保存退出

  5、创建用户名密码文本文件

  代码如下:

  vi /data/soft/vsftpd/login.txt

  如下:一行用户名一行密码

  代码如下:

  user1

  123456

  user2

  654321

  保存退出

  6、用db_load生成用户数据库

  代码如下:

  db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db

  chmod 600 /data/soft/vsftpd/login.db

  rm -rf /data/soft/vsftpd/login.txt

  7、配置虚拟用户自定义配置文件

  代码如下:

  vi /data/soft/vsftpd/user_conf/user1

  user1所有权限

  代码如下:

  local_root=/data/www/user1

  write_enable=YES

  local_umask=022

  保存退出

  代码如下:

  vi /data/soft/vsftpd/user_conf/user2

  user2只允许下载

  代码如下:

  local_root=/data/www/user2

  write_enable=NO

  download_enable=YES

  local_umask=022

  保存退出

  8、启动vsftpd服务

  代码如下:

  /data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &

  五、测试

  user1登录可读、写、删除、创建、修改一切权限

  user2登录仅有下载权限

时间: 2024-10-29 08:17:48

在CentOS系统下创建和配置虚拟用户的方法的相关文章

CentOS系统下Redis安装配置教程

这里参考了太多教程已经忘了在哪一篇配置成功的了,总之还是编译安装大法. 首先下载: wget http://download.redis.io/releases/redis-2.8.13.tar.gz 解压缩 tar zxvf redis-2.8.13.tar.gz 切换目录 cd redis-2.8.13 执行make命令,最后几行的输出结果 Hint: To run 'make test' is a good idea ;) make[1]: Leaving directory `/opt/

centos系统下php5安装curl扩展两种方法

php5.3 安装curl扩展  代码如下 复制代码 tar zxf 解压 ./configure --prefix=/usr/local/curl make make install 进入PHP的源码包,没有的话,重新下载php5.3.tar.gz解压即可.  代码如下 复制代码 cd ext/curl 运行一下phpize /usr/local/php5/bin/phpize 配置curl  代码如下 复制代码 ./configure --with-php-config=/usr/local

Linux系统下为Gitlab配置邮件提醒的方法详解

Gitlab邮件提醒方便跟踪项目进度,在这里介绍两种方式,一种是用系统的sendmail发送邮件,另一种是GMAIL的stmp来发送邮件 第一种 用系统的sendmail发送邮件 代码如下: cd /home/gitlab/gitlab/ vi config/environments/production.rb 将这行 代码如下: # config.action_mailer.delivery_method = :sendmail 改为 代码如下: config.action_mailer.de

Win7系统下安装PDF彩色虚拟打印机的方法

  1.点击"开始",选择"设备和打印机"; 2.点击"添加打印机". 3.选择"添加本地打印机"; 4."使用现有的端口"选择"file:(打印到文件)"; 5.厂商选"generic"; 6.设备选"MS Publisher imagesetter"; 7.界面如下: 8."键入打印机名称",可为:"彩色虚拟打印机

笔记本win7系统下创建无线临时网络连接的方法

  1.首先鼠标点击win7系统的网络图标,然后选择"打开和网络共享中心"项; 2.然后点击窗口右侧中的"设置新的连接或网络"项; 3.然后选择"设置无线临时网络",点击"下一步"继续; 4.接着就会出现临时网络介绍窗口,继续点击"下一步"; 5.然后在弹出来的窗口中设置网络名以及密码后,点击"下一步"即可,设置后,点开右下角无线标识后会出现临时网络相关信息,连接它即可共享上网.

centos系统下配置vsftp(ftp)方法介绍

最近购买了阿里云的云主机,自己在配置好php环境后在去配置ftp: 大致过程为: 首先安装vsftp.1安装vsftpdyum install vsftpd 按Y回车,系统自动安装 /etc/init.d/vsftpd start #启动vsftpd service vsftpd restart #重启 service vsftpd stop #停止 chkconfig vsftpd on #设置开机时自动运行2.配置vsftp服务器配置文件说明: /etc/vsftpd/vsftpd.conf

centos和ubuntu下安装vsftpd并配置虚拟用户

准备工作:1.创建安全目录mkdir -p /var/run/vsftpd/empty/2. 创建vsftpd用户和目录,并授权groupadd -g 6005 vsftpd useradd -c "vsftpd user" -g 6005 -G vsftpd -u 6005  -M vsftpd -s /sbin/nologin mkdir /home/vsftpd chown -R vsftpd:vsftpd /home/vsftpd ubuntu 12.04:1. 安装vsftp

在Linux系统下使用TUN/TAP虚拟网卡的基本教程

在计算机网络中,TUN与TAP是操作系统内核中的虚拟网络设备.不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能.TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧.TUN模拟了网络层设备,操作第三层数据包比如IP数据封包.操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发送数据,反之,用户空间的程序也可以像操作硬件网络设备那样,通过TUN/TAP设备发送数据.在后种情况下,TUN/TAP设备向

Linux下vsftp的重新安装和配置虚拟用户

Linux下vsftp的重新安装和配置虚拟用户 重新安装和配置虚拟用户 以下都是在root用户下进行的 #tar zxvf vsftpd-2.0.5.tar.gz --解压 #cd vsftpd-2.0.5.tar.gz --解压后进入vsftpd-2.0.5.tar.gz目录 # mkdir /usr/share/empty/ --VSFTPD默认设置需要一个空目录:/usr/share/empty # mkdir /var/ftp/ --如果容许匿名用户(anonymous),那么你将需要一