在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、下载当前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 &
五、测试 |
请发表评论