设为首页 收藏本站
查看: 908|回复: 0

[经验分享] Vsftpd安装、系统用户及虚拟用户配置详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-5 08:16:50 | 显示全部楼层 |阅读模式
一.安装与启动vsftpd
yum -y install vsftpd
/usr/sbin/vsftpd或service vsftpd start
netstat -ntlp
chkconfig --level 35 vsftpd on
二.FTP相关配置文件说明
1.vsftpd.conf文件说明

anonymous_enable=YES 是否允许匿名ftp,如否则选择NO

local_enable=YES 是否允许本地用户登录

write_enable=YES 允许使用任何可以修改文件系统的FTP的指令

local_umask=022 默认的umask码

anon_upload_enable=YES 允许匿名上传文件

anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利

dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件

xferlog_enable=YES 是否记录ftp传输过程

connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)

chown_upload=YES 所有匿名上传的文件的所属用户将会被更改成chown_username

chown_username=username 是否改变上传文件的属主,如果是需要输入一个系统用户名,你可以把上传的文件都改成root属主

xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log

xferlog_std_format=YES 是否使用标准的ftp xferlog模式

idle_session_timeout=600 设置默认的断开不活跃session的时间

data_connection_timeout=120 设置数据传输超时时间

nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户,默认是nobody

async_abor_enable=YES 允许使用\"async ABOR\"命令,一般不用,容易出问题

ascii_upload_enable=YES 管控是否可用ASCII 模式上传。默认值为NO

ascii_download_enable=YES 是否使用ascii码方式上传和下载文件

ftpd_banner=Welcome to chenlf FTP service. 定制欢迎信息

deny_email_enable=YES 如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录

banned_email_file=/etc/vsftpd.banned_emails 禁止使用匿名用户登陆时作为密码的电子邮件地址

chroot_local_user=YES 在预设的情况下,是否要将使用者限制在自己的家目录之内,如果是YES代表用户默认就会被chroot,如果是NO,则预设是没有chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成YES才好

chroot_list_enable=YES 如果启动这项功能,则所有列在chroot_list_file中的使用者不能更改根目录

chroot_list_file=/etc/vsftpd.chroot_list 定义不能更改用户主目录的文件

ls_recurse_enable=YES    是否能使用ls -R命令以防止浪费大量的服务器资源

listen=YES

pam_service_name=vsftpd   定义PAM 所使用的名称,预设为vsftpd

userlist_enable=YES  若启用此选项,userlist_deny选项才被启动

tcp_wrappers=YES  开启tcp_wrappers支持

#local_root=/home/username   当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。


2.vsftpd.ftpusers文件说明
root //默认情况下,root和它以下的用户是不允许登录FTP服务器的.可以将不允许登录的用户添加到这里来.但切记每个用户都要单独占用一行.
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
3.vsftpd.user_list文件说明
其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在.

注意:修改前建议使用“cp”命令备份这三个文件,修改完成后需要重启vsftpd服务才能使设置生效。

三.配置实例
不允许匿名登录FTP,只允许系统用户登录,且固定到自己的家目录
为了防止配置过程中出现错误,一般应把原配置文件/etc/vsftpd/vsftpd.conf复制一份到别的目录中,一旦配置后出现问题解决不了,还可以把原配置文件复制回来.
修改文件/etc/vsftpd/vsftpd.conf如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to my FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES

touch /var/log/vsftpd.log
touch /var/log/xferlog
touch /etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
把要固定在家目录的用户添加到里面

service vsftpd restart

Ps:一定要加上 chroot_local_user=YES
否则通过浏览器登录时会默认在根/下,不仅能访问其他目录,还有读、写权限
Vsftpd虚拟用户的配置
第一步、安装
#cd  /etc/yum.repos.d/
# rm -rf *
# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
# yum clean all
# yum -y install vsftpd
# yum -y install db4-utils

第二步、建立虚拟用户
#vim /etc/vsftpd/vu_list.txt

user1  password1  user2  password2  user3  password4格式为第一行为用户名名,第二行为密码,然后类推

建立db数据库,同时只有root用户才能读写
# db_load -T -t hash -f /etc/vsftpd/vu_list.txt /etc/vsftpd/vu_list.db
# chmod 600 /etc/vsftpd/vu_list.db
配置pam文件
# vim /etc/pam.d/vsftpd.vu (64位系统)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_listaccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_list# vim /etc/pam.d/vsftpd.vu (32位系统)
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login建立虚拟用户对应的系统真实用户
useradd  wangxu4 -d /data -s /sbin/nologin
chown wangxu4.wangxu4 -R /data
注:在虚拟主机服务器上用nginx,用户为www,所以我的配置为虚拟用户为www

第三步、修改配置文件
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/xferlogxferlog_std_format=YESdual_log_enable=YESvsftpd_log_file=/var/log/vsftpd.logascii_upload_enable=YESascii_download_enable=YESftpd_banner=Welcome to FTP service.chroot_local_user=YESlisten=YESlisten_port=2121allow_writeable_chroot=YESuserlist_enable=YEStcp_wrappers=YESguest_enable=YESguest_username=wangxu4pam_service_name=vsftpd.vuuser_config_dir=/etc/vsftpd_vuvirtual_use_local_privs=YES注释如下:
anonymous_enable=NO
设定不允许匿名访问
local_enable=YES
设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
write_enable=YES
设定可以进行写操作。
local_umask=022
设定上传后文件的权限掩码。
anon_upload_enable=NO
禁止匿名用户上传。
anon_mkdir_write_enable=NO
禁止匿名用户建立目录。
dirmessage_enable=YES
设定开启目录标语功能。
xferlog_enable=YES
设定开启日志记录功能。
connect_from_port_20=YES
设定端口20进行数据连接。
chown_uploads=NO
设定禁止上传文件更改宿主。
xferlog_file=/var/log/vsftpd.log
设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。
xferlog_std_format=YES
设定日志使用标准的记录格式。
nopriv_user=vsftpd
设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。
async_abor_enable=YES
设定支持异步传输功能。
ascii_upload_enable=YES
ascii_download_enable=YES
设定支持ASCII模式的上传和下载功能。
ftpd_banner=Welcome to Awei FTP servers
设定Vsftpd的登陆标语。
chroot_local_user=YES
禁止本地用户登出自己的FTP主目录。
pam_service_name=vsftpd
设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。
以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。
guest_enable=YES
设定启用虚拟用户功能。
guest_username=ftp
指定虚拟用户的宿主用户。
virtual_use_local_privs=YES
设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf
设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的
地方就是这些配置文件名必须和虚拟用户名相同。

第四步、建立日志
因为默认vsftpd的日志文件不存在,需要手工建立,同时赋予权限
# touch /var/log/vsftpd.log
# chown /var/log/vsftpd.log

第五步、建立虚拟用户配置文件
# mkdir /etc/vsftpd_vu/
所有权限
# vim /etc/vsftpd_vu/user1
write_enable=YES anonymous_enable=NO anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_umask=022 download_enable=Yes local_root=/data/user1上传权限
# vim /etc/vsftpd_vu/user2
write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_umask=022 download_enable=NO local_root=/data/user2
只能下载
# vim /etc/vsftpd_vu/user3
write_enable=NO anon_world_readable_only=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO local_umask=022 download_enable=yes local_root=/data/user3
启动服务
#service vsftpd start
新版本vsftpd一定要加上allow_writeable_chroot=YES,否则登录报500错误



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40172-1-1.html 上篇帖子: Centos下FTP服务器搭建 下篇帖子: CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表