Linux下配置vsftpd和虚拟用户 成功
来源:互联网 发布:数据库系统导论 编辑:程序博客网 时间:2024/06/17 13:54
Linux下配置vsftpd和虚拟用户成功
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
上面这10个问题都解决那么高级安全的虚拟用户就不成问题
问题1:检查vsftpd驱动是否安装正常
rpm –qa | grepvsftpd 检查是否安装了vsftpd驱动程序
问题2 确认安装PAM服务相关部件
pam-devel*******.rpm
rpm –qa | greppam* 检查一下是否安装了这个
rpm –ivhpam-devel ********.rpm 把这1个安装上OK 这里一般不需要
问题3:创建一个虚拟库的文件叫什么都可以放在那里都行
vim/etc/vsftpd/www 创建了一个www的文件
这里的账户只能为小写之母
如果大写了 失败
所有的ID为1行3行5行..
对应的密码为 2 行 4 行 6行..
问题4:需要生成一个数据库文件才可以(命令如下)
db_load这个命令可能没有需要到光盘或ISO找到以下安装包
db_load –T –t hash –f/etc/vsftpd/www /etc/vsftpd/userwww.db
这里的文件名我随便用的 没什么关系的
问题5 创建一个用户 用来做虚拟用户使用 (这个用户一定不能设置密码)
useradd -d /web-s /sbin/nologin ftpserver 创建了一个叫ftpserver的用户
问题6 修改vsftpd.conf文件
首先我们在修改文件之前先要做个备份cp vsftpd.confvsftpd.bak
vim /etc/vsftpd/vsftpd.conf(具体配置请参照我的vsftpd.conf文件)
主动模式和被动我全开了
这个是为ftp创建的用户
设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf代表用户的权限目录
问题7 为你文本库的用户和账号创建目录
我选择的目录在 /web/
mkdir/web/admin888
mkdir/web/usernameftp
mkdir/web/dongxiaolei
mkdir /web/liujian
别望了这个否则没有写入权限 chown –R ftpserver.ftpserver /web
问题8创建通过验证虚拟用的文件
Cp /etc/pam.d/vsftpd/etc/pam.d/vsftpd.vu
复制一份验证文件
vim /etc/pam.d/vsftpd.vu 把上面的全部注释
在下面加入这两行
auth
account required
注意:如果是64位的LinuxRedHat 请注意就不是上面的写法了
auth
account required /lib64/security/pam_userdb.so
问题9 给虚拟用户配置权限文件
因为你在vsftpd.conf文件中有这一条语句
user_config_dir=/etc/vsftpd/vconf代表用户的权限目录
cd /etc/vsftpd/mkdir vconf 创建vconf目录
接下来给每个用户都要创建一个权限的文件这个文件要和虚拟用户名称相同
首先我们先创建一个虚拟用户的模版文件叫做vsftpd.mb
vim/etc/vsftpd/vsftpd.mb 这个文件是个模版文件没有什么意思
然后我们可以执行命令
cp vsftpd.mb admin888 cp vsftpd.mbftp009
cp vsftpd.mb gaoyuhaha
cp vsftpd.mb dongdaoli
这样我拥有了所有的用户权限配置文件复制完成后要编辑每个用户的文件
local_root=/web/相对的用户目录/修改对应的目录名 及个人的相关权限
问题10 检查配置所有虚拟用户所使用的文件权限
ll /web/在次检查一个这下面的文件是否有权限
检查/etc/pam.d/vsftpd.vu 这个文件是否输入正确
检查/etc/vsftpd/vsftpd.conf 中的验证文件是不是vsftpd.vu
检查每一个虚拟用户的的目录是否设置正确
检查每一个虚拟用户的权限文件里的验证文件是不是vsftpd.vu
检查一下防火墙是否关闭或设置成功
如果以上都已经搞定 那么
service vsftpd start
chkconfig vsftpd on
ftp127.0.0.1
被限速的原因
这样就表示成功了
在我前面的配置中都是把防墙关掉的 还有把 SElinux也是关掉的这里就是要把这里的这些全部打开 在配置
启动防火墙 iptables 我先声明(我这里的防火墙配置只针对FTP的主动模式)
service iptables start 启动防火墙
chkconfig iptables on 开机启动
iptables -t filter -A INPUT -m state --stateESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -m state --state INVALID -jDROP
iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -P INPUT DROP
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED-j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 20:21 -j ACCEPT
iptables -t filter -P OUTPUT DROP
service iptables save
SElinux 之 FTP配置先简介绍一下
getsebool -a|grep ftp 查询一下 sestatus
//如果你想匿名共享文件
chcon -R -t public_content_t /var/ftp
//如果你想建立一个目录,你可以上传文件
chcon -t public_content_rw_t /var/ftp/incoming
你还必须打开布尔allow_ftpd_anon_write
setsebool -P allow_ftpd_anon_write=1
/如果你是一个ftpd服务器这台机器,并希望允许用户访问他们的家庭
setsebool -P ftp_home_dir 1
//如果你想运行ftpd作为守护进程
setsebool -P ftpd_is_daemon 1
//你可以禁用系统保护的ftpd守护进程
setsebool -P ftpd_disable_trans 1
如果你启动了SElinux 的话要执行以下的几条命令才可以成功
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P allow_ftpd_anon_write on 具有上传权限
# setsebool -P ftp_home_dir 1 开启访问目录
# chcon –R -t public_content_rw_t /web 配置写的权限
# service vsftpd restart 重起vsftpd服务器
这才是一个完整的vsftpd的安全配置
Vsftpd.conf的介绍
监听地址与控制端口
listen_address=192.168.168.168设定监听的IP地址
listen_port=21设定端口号
主动模式
port_enable=YES开启主动模式
connect_from_port_20=YES开启20端口
#ftp_date_port=6666如果有需要还可以自己设定端口但需要把上面的20端口注释掉
被动模式
pasv_enable=YES启动被动模式
pasv_min_port=30000设定被动模式以多少端口开始如果是0则表示随机
pasv_max_port=30999设定被动模式以多少端口结束如果是0则表示随机
ASCII传送模式
这两个都选择YES表示可以使用ASCII传送模式
ascii_upload_enable=YES说实在的我也不是很明白这个有什么用
ascii_download_enable=YES
超时选项
idle_session_timeout=600空闲用户会话的超时时间,如果超出这个时间没有数据的传送或命令的输入,就会强迫断开点位为秒600秒后断开
data_connection_timeout=120定义数据传送过程中被阴塞的最长时间
accept_timeout=60接受建立连接的超时设定。单位为秒,默认为60秒
connect_timeout=60响应主动方式的数据联机的超时设定,单位为秒,默认为60秒
负载控制
max_clients=10独立模式下并发连接数
max_per_ip=5定义了每个IP地址大的并发连接数
anon_max_rate=1000设定匿名用户的最大数据传输速度以Byte/s 1000 = 1kb
local_max_rate=1000设定本地用户的最大数据传输速度以Byte/s 1000 = 1kb
匿名用户设置
anonymous_enable=NO控制是否允许匿名用户登录。YES是允许,NO不允许,默认值为YES
no_anon_password=NO控制匿名用户登录时是否需要密码。YES不需要,NO需要,默认值为NO
ftp_username=ftp指定匿名用户与本地的哪个账号相对应,该用户的家目录即为匿名用户访问FTP服务器的时根目录,默认是ftp
anon_root=/var/ftp配置匿名用户的目录默认为/var/ftp
anon_world_readable_only=YES允许匿名用户下载默认为YES。
anon_upload_enable=YES允许匿名用户上传默认为YES。要上传还需要两个参数write_enable=YES 和 目录权限
anon_mkdir_write_enable=YES允许匿名用户创建目录默认为YES。
chown_uploads=YES指定匿名用户上传的所有权赋予chown_username指定的用户
chown_username=whoever指定赋予匿名用户上传权限的用户不要用root
本地用户设置
local_enable=YES是否允许本地用户登录
chroot_local_user=YES锁定用户在自身目录下
chroot_list_user=YES表示可切换到家目录以外的目录
local_umask=022权限设定为777 - 022= 755 的权限
local_root=/web指定本地用户登录vsftpd服务器时切换到的目录
虚拟用户设置
guest_enable=YES启动虚拟用户
guest_username=ftpserver设定虚拟用户
virtual_use_local_privs=YES虚拟用户是否继承ftpserver的权限
user_config_dir=/etc/vsftpd/vconf设置虚拟用户的权限目录
用户登录控制
ftpd_banner=Welcome to blah FTPservice ^_^ 登录时的欢迎界面
tcp_wrappers=YES在vsftpd中使用TCP_wrappers远程访问控制机制,默认为YES
文件操作控制
download_enable=YES是否允许下载默认是YES
chown_uploads=YES指定匿名用户上传的所有权赋予chown_username指定的用户
chown_username=root指定赋予匿名用户上传权限的用户不要用root
write_enable=YES客户登录哦允许使用删除、重命名、断点续传
日志处理
xferlog_enable=YES记录日志
xferlog_std_format=YES用标准格式
xferlog_file=/var/log/vsftpd.log需要自己创建日志文件
- Linux下配置vsftpd和虚拟用户 成功
- ubuntu下vsftpd虚拟用户配置
- vsftpd下的虚拟用户的配置
- SUSE11下配置vsftpd虚拟用户
- CentOS6.6下vsftpd虚拟用户配置
- CentOS7下vsftpd虚拟用户配置
- VSFTPD虚拟用户配置
- vsftpd虚拟用户配置
- vsftpd虚拟用户配置
- vsftpd 虚拟用户配置
- vsftpd虚拟用户配置
- Vsftpd虚拟用户配置
- vsftpd 配置虚拟用户
- vsftpd 搭建和虚拟用户配置
- Linux 下vsftpd配置虚拟用户并为其划分工作根目录
- 为VSFTPD配置虚拟用户
- vsftpd虚拟用户 权限配置
- vsftpd服务虚拟用户配置
- mysql命令(数据库备份与恢复)
- 轻松八句话完全搞定MYSQL数据库
- POJ 1088 滑雪 (记忆化搜索)
- 如何定时备份远程mysql数据库
- Linux下修改root密码以及找回密码…
- Linux下配置vsftpd和虚拟用户 成功
- 向MySQL增加新用户权限
- MySQL权限分配
- linux的定时重启的具体命令
- Mysql中文乱码问题完美解决方案
- linux定时备份mysql数据库
- JSP实现FTP上传及下载
- FTP常见的错误信息提示
- java.lang.OutOfMemoryError:&nbsp…