Linux学习之——建立基于虚拟用户的vsftpd
2012-07-20 11:44
357 查看
建立基于虚拟用户的vsftpd
系统:
CentOS 5.6
软件包:
vsftpd-2.0.5-10.el5.i386.rpm
db4-untils-4.3.29-9.fc6.i386.rpm
FTP宿主目录:
downloadfile
1:首先安装软件包。
Rpm –ivh vsftpd-2.0.5-10.el5.i386.rpm
Rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm
注:
在安装db4-utils-4.3.29-9.fc6.i386.rpm和vsftpd-2.0.5-10.el5.i386.rpm 时需要增加两个参数
rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm --nodeps --force
rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm --nodeps --force
加上那两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装,
2:建立虚拟用户,并设置虚拟用户口令。
cd /etc/vsftpd/
vi user.list
upload 用户名
upload 口令
3:使用db4工具生成数据库文件
db_load –T –t hash –f user.list user.db
chmod 600 /etc/vsftpd/user* 降低权限,保证安全
4:建立虚拟用户所需的pam配置文件(需手动建立)
vi /etc/pam.d/vsftpd.vu
输入:
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/user
account required pam_userdb.so db=/etc/vsftpd/user
5:创建对应的系统账户。
useradd –s /sbin/nologin -d /downloadfile vsftp
6:修改vsftpd主配置文件
Vi /etc/vsftpd/vsftpd.conf
anonymous_enable = NO 不启用匿名
local_enable = yes 启用本地用户
pam_server_name = vsftpd.vu 指定认证文件
guest_enable=YES
guest_username=vsftp 指定对应的系统账号
user_config_dir = /etc/vsftpd/vsftpd_dir 设置用户的配置文件目录(一会需手动到该目录下创建)
chroot_local_user = yes 锁定用户登录上的宿主目录位置(安全)
7:创建用户配置文件
mkdir -p /etc/vsftpd/vsftpd_dir
cd /etc/vsftpd/vsftpd_dir
vi upload
写入用户配置文件参数:
anon_upload_enable=yes 上传权限
anon_mkdir_write_enable=yes 创建文件夹权限
download_enable=yes 下载权限
anon_other_write_enable=yes 所有权限
anon_umask=022 设置虚拟用户上传文件权限 000表示权限666,022表示权限644
前后相加等于666
注:anon_umask与rsync 同时使用时需要加入这个设置
8:启动服务:
service vsftpd start 启动服务
9:查看vsftpd服务
service vsftpd status 查看状态
可能会报无法列表的错误,需要手动输入以下指令
# setsebool ftpd_disable_trans 1
然后再次重启vsftpd服务
最后需要注意你需要上传文件夹的权限,设置为755
【日志格式修改】
/etc/vsftpd/vsftpd.conf修改
注释掉# xferlog_file=/Log/vsftpd_log/vsftpd.log
设置 xferlog_std_format=NO
最后加上
vsftpd_log_file=/Log/vsftpd_log/vsftpd.log
注意:
记得如果要更换日志的路径,必须在新的目录下面新建好一个vsftpd.log,可以是空的,vsftpd不会自动创建这个日志文件
容易出现的错误:
linux VSFTP提示500 OOPS: failed to open xferlog log
无法使用 setsebool ftpd_disable_trans 1 语句
报错:Could not change active booleans: Invalid boolean
这时需要开启:setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool ftp_home_dir 1
setsebool httpd_enable_ftp_server 1
setsebool tftp_anon_write 1
重启vsftp:service vsftpd restart
再使用命令:getsebool -a|grep ftp 查看
系统:
CentOS 5.6
软件包:
vsftpd-2.0.5-10.el5.i386.rpm
db4-untils-4.3.29-9.fc6.i386.rpm
FTP宿主目录:
downloadfile
1:首先安装软件包。
Rpm –ivh vsftpd-2.0.5-10.el5.i386.rpm
Rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm
注:
在安装db4-utils-4.3.29-9.fc6.i386.rpm和vsftpd-2.0.5-10.el5.i386.rpm 时需要增加两个参数
rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm --nodeps --force
rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm --nodeps --force
加上那两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装,
2:建立虚拟用户,并设置虚拟用户口令。
cd /etc/vsftpd/
vi user.list
upload 用户名
upload 口令
3:使用db4工具生成数据库文件
db_load –T –t hash –f user.list user.db
chmod 600 /etc/vsftpd/user* 降低权限,保证安全
4:建立虚拟用户所需的pam配置文件(需手动建立)
vi /etc/pam.d/vsftpd.vu
输入:
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/user
account required pam_userdb.so db=/etc/vsftpd/user
5:创建对应的系统账户。
useradd –s /sbin/nologin -d /downloadfile vsftp
6:修改vsftpd主配置文件
Vi /etc/vsftpd/vsftpd.conf
anonymous_enable = NO 不启用匿名
local_enable = yes 启用本地用户
pam_server_name = vsftpd.vu 指定认证文件
guest_enable=YES
guest_username=vsftp 指定对应的系统账号
user_config_dir = /etc/vsftpd/vsftpd_dir 设置用户的配置文件目录(一会需手动到该目录下创建)
chroot_local_user = yes 锁定用户登录上的宿主目录位置(安全)
7:创建用户配置文件
mkdir -p /etc/vsftpd/vsftpd_dir
cd /etc/vsftpd/vsftpd_dir
vi upload
写入用户配置文件参数:
anon_upload_enable=yes 上传权限
anon_mkdir_write_enable=yes 创建文件夹权限
download_enable=yes 下载权限
anon_other_write_enable=yes 所有权限
anon_umask=022 设置虚拟用户上传文件权限 000表示权限666,022表示权限644
前后相加等于666
注:anon_umask与rsync 同时使用时需要加入这个设置
8:启动服务:
service vsftpd start 启动服务
9:查看vsftpd服务
service vsftpd status 查看状态
可能会报无法列表的错误,需要手动输入以下指令
# setsebool ftpd_disable_trans 1
然后再次重启vsftpd服务
最后需要注意你需要上传文件夹的权限,设置为755
【日志格式修改】
/etc/vsftpd/vsftpd.conf修改
注释掉# xferlog_file=/Log/vsftpd_log/vsftpd.log
设置 xferlog_std_format=NO
最后加上
vsftpd_log_file=/Log/vsftpd_log/vsftpd.log
注意:
记得如果要更换日志的路径,必须在新的目录下面新建好一个vsftpd.log,可以是空的,vsftpd不会自动创建这个日志文件
容易出现的错误:
linux VSFTP提示500 OOPS: failed to open xferlog log
无法使用 setsebool ftpd_disable_trans 1 语句
报错:Could not change active booleans: Invalid boolean
这时需要开启:setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool ftp_home_dir 1
setsebool httpd_enable_ftp_server 1
setsebool tftp_anon_write 1
重启vsftp:service vsftpd restart
再使用命令:getsebool -a|grep ftp 查看
相关文章推荐
- linux vsftpd建立虚拟用户的方法
- Vsftpd完全攻略(四)建立基于虚拟用户的vsftpd服务
- Linux系统vsftpd下建立虚拟用户的脚本实现
- FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户
- 建立基于虚拟用户的vsftpd服务
- 建立基于虚拟用户的vsftpd
- 建立基于虚拟用户的VSftpd服务
- Linux学习:vsftpd增加虚拟用户
- ubuntu下vsftpd的配置(虚拟用户基于MySQL验证)
- 构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录
- VSFTPD实现基于虚拟用户的认证
- linux学习工作记录----配置基于ip的虚拟主机
- 建立Vsftpd虚拟用户
- rhel5.5建立Vsftpd虚拟用户
- 基于vsftpd + pam + mysql实现虚拟用户访问机制
- 创建vsftpd的基于pam_mysql的虚拟用户机制
- 两种方式建立Vsftpd虚拟用户
- vsftpd基于mysql做虚拟用户认证
- Linux运维 第三阶段 (三) VSFTPD(ftps及vsftpd+pam+mysql实现虚拟用户认证)
- linux vsftpd 创建虚拟用户 过程记录