您的位置:首页 > 运维架构 > Linux

Linux系统下vsftp服务器搭建(二)

2014-01-14 16:22 453 查看
Linux系统下vsftp服务器搭建(二)

对虚拟用户设置不同的权限

1、设置主配置文件:
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd/vsftpd_user_conf

2、建立用户配置文件目录
# mkdir /etc/vsftpd/vsftpd_user_conf

3、为虚拟用户建立单独的配置文件
用户配置文件名称与用户名相同,如:
touch /etc/vsftpd/vsftpd_user_conf/用户1
touch/etc/vsftpd/vsftpd_user_conf/用户2
touch/etc/vsftpd/vsftpd_user_conf/用户3

虚拟用户配置文件中的配置项

每个FTP虚拟用户都可以独立设置其权限,如:
local_root=/home/ftpsite
设定虚拟用户FTP主目录,使无法向上跳转
write_enable=YES
允许此用户具有写权限
anon_world_readable_only=NO
表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES
表示用户可以上传文件
anon_mkdir_write_enable=YES
表示用户具有建立和删除目录的权利
anon_other_write_enable=YES
表示用户具有文件改名和删除文件的权限

【管理员用户权限配置--示例】
local_root=/home/ftpsite
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

【上传用户权限配置--示例】
local_root=/home/ftpsite
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

【下载用户权限配置--示例】
local_root=/home/ftpsite
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
配置vsftpd服务器中的资源限制
vsftpd服务器中的资源使用可以进行限制(修改主配置文件vsftpd.conf),如:

限制用户只能访问/bbb,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录

max_clients=100
设置FTP服务器允许的最大客户端连接数,0:不限制
max_per_ip=5
设置对于同一IP地址允许的最大客户端连接数,0:不限制
local_max_rate=500000
设置本地用户的最大传输速率,单位bytes/sec,0:不限制
anon_max_rate=200000
设置匿名用户的最大传输速率,单位bytes/sec,0:不限制

当root不能登录时查看限制的登录用户列表

(注:修改主配置文件vsftpd.conf后应重启vsftpd服务)

…………………………………………我是一条分割线……………………………………………………

某公司vsftp服务器_vsftpd.conf配置文件 示例:

# Example config file /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
# chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=dhwl
user_config_dir=/etc/vsftpd/vsftpd_user_conf
chroot_local_user=YES

解决方法:
1 用ntsysv停止服务gssftp
2 重新启动xinetd服务
3 重启vsftpd,就可以了。

DOS下使用ftp命令:

1. 切换到指定目录下
2. 连接目标ftp服务器:ftp 10.137.97.29
3. 输入帐号、密码
4. 切换传输方式,二进制传输使用bin命令
5. 上传文件:put test_setup.zip
下载文件:get **.zip
6. 退出ftp:bye
7. cd 切换目录
8. del 删除文件
9. dir 查看远程主机当前目录
10. ascii 使用ascii方式传输文件
11. mput、mget:将多个文件上传、下载
12. mkdir 在远程主机中建立目录
13. pwd 显示远程主机的当前工作目录路径

ftp客户连接常见故障现象

现象0:
> ftp: connect :连接被拒绝
原因:服务没启动
解决: # chkconfig vsftpd on

现象1:
500 OOPS: cannot open user list file
原因:不存在文件“/etc/vsftpd.user_list”或文件中不存在该帐户
解决: # echo username >> /etc/vsftpd.user_list

现象2:
530 Permission denied.
Login failed.
原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户
解决: # echo username >> /etc/vsftpd.user_list

现象3:
500 OOPS: cannot open chroot() user list file
Login failed.
原因:不存在文件“/etc/vsftpd.chroot_list”
解决: # echo username >> /etc/vsftpd.chroot_list

现象4:
500 OOPS: missing value in config file
Connection closed by remote host.
原因: “=”等号前值有问题,或只有一个空格
解决:修正相应的值即可,可能过 diff 来比较查找

现象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
原因: “=”等号后值有问题
解决: 将“=”等号后值确认修改

现象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
原因:参数前有空格
解决:将参数前空格删除

现象7、
确认存在“local_enable=YES”,但本地用户无法登陆
原因:验证参数被误删除
解决:添加“pam_service_name=vsftpd”

现象8、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
原因:用户主目录没有权限或没有主目录
解决:正确设置用户主目录权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: