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

[经验分享] VSFTP服务器配置

[复制链接]

尚未签到

发表于 2015-11-7 07:44:34 | 显示全部楼层 |阅读模式
VSFTP服务器配置VSFTPD的文件结构主要包括: 安装第一张光盘 vsftpd-1.1.3-8.i386.rpm  /usr/sbin/vsftpd ---- VSFTPD的主程序  /etc/rc.d/init.d/vsftpd ---- 启动脚本  /etc/vsftpd/vsftpd.conf ---- 主配置文件  /etc/pam.d/vsftpd ---- PAM认证文件   /etc/logrotate.d/vsftpd.log 日志 /etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件  /etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件  最后两个是重复的设置,不过,这样比较安全。PAM模块是外挂的程序,而另一个则是vsftpd提供的功能 ,上述两个文件要一起修改。!两种启动方式:xinetd(守护进程)和standalone(独立) 创建一个nobody用户  useradd nobody  一般情况下默认存在建一个empty目录   /usr/share/empty  一般情况下默认存在创建vtp用户并指定其目录(当需要匿名访问的时候),并设置安全的权限  mkdir /var/ftp/      useradd –d /var/ftp ftp   ftp用户默认存在chown root.root /var/ftp       chmod og-w /var/ftp 下面详细解释配置文件的命令:/etc/vsftpd/vsftpd.conf关于主机的设定值:listen_port=21   -命令通道的端口设置Connect_from_port_20=YES  -启动主动连接的端口20Listen=YES  -表示vsftpd是以standalone方式启动的write_enable=YES (NO)   -是否允许使用者具有写入权限,包括删除与修改connect_timeout=60   -单位是秒,如果client尝试连接我们的vsftpd命令通道超过 60 秒,则不等待,强制 断线咯。data_connection_timeout=300  -如果 client与Server间的资料传送在 300 秒內都无法传送成功,  -那 Client 的连线就会被我们的 vsftpd 强制剔除! idle_session_timeout=300  -如果使用者在 300 秒內都沒有命令动作,强制离线!max_clients=0  -如果 vsftpd 是以 stand alone 方式启动的,那么这个设定项目可以设定  -同一时间,最多有多少 client 可以同時连上 vsftpd 哩max_per_ip=0  -与上面 max_clients类似,这里是同一个 IP 同一时间可允许多少连线? 关于本地用戶登入者的设定值:local_enable=YES (NO)  -这个设定值必须要为 YES 时,在 /etc/passwd 內的帐号才能以  -本地用戶的方式登入我们的 vsftpd 主机喔!local_root=  -定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无。local_max_rate=0  -实体用戶的传输速度限制,单位为 bytes/second, 0 为不限制。chroot_local_user=YES (NO)  -将使用者限制在自己的家目录之內(chroot)!这个设定在 vsftpd  -当中预设是 NO,因为有底下两个设定项目的辅助喔!  -所以不需要改动他!! chroot_list_enable=YES (NO)  -是否启用将某些实体用戶限制在他们的家目录内?!预设是 NO ,  -不过,如果您想要让某些使用者无法离开他门的家目录时,  -可以考虑将这个设定为 YES ,并且规定下个设定值 chroot_list_file=/etc/vsftpd.chroot_list  -如果 chroot_list_enable=YES 那么就可以设定这个项目了!他里面可以规定  -那一个实体用戶会被限制在自己的家目录內而无法离开!(chroot)  -一行一个帐号即可! userlist_enable=YES (NO)  -若此设定值为 YES 时,则当使用者帐号被列入到某个档案时,在该档案內  -的使用者将无法登入 vsftpd 服务器!该档案名与下列设定项目有关。 userlist_file=/etc/vsftpd.user_list  -若上面 userlist_enable=YES 时,则这个档案就有用处了!在这个档案內的  -帐号都无法使用 vsftpd 喔!userlist_deny=YES|NO   -决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示。NO,只允许在文件中的用户登录FTP服务器。 关于匿名者登入的设定值:anonymous_enable=YES   -设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES ,底下的所有  -相关設定都需要将这个设定为anonymous_enable=YES 之后才会生效!anon_world_readable_only=YES   -允許 anonymous 具有下载可读文件的权限。anon_other_write_enable=YES (NO)  -控制匿名用户是否拥有除了上传和新建目录以外的其他权限,如删除,更名等。anon_mkdir_write_enable=YES (NO)  -是否让 anonymous 具有建立目录的权限?预设值是 NO!如果要设定为 YES,  -那么 anony_other_write_enable 必须设定为 YES !当然在文件系统上,  -FTP匿名用户必需对新目录的上层目录拥有写权限。 anon_upload_enable=YES (NO)  -是否让 anonymous 具有上传资料的功能,预设是 NO,如果要能上传,要要满足另两个条件:  -write_enable=YES 必须设定;在文件系统上,FTP匿名用户对某个目录有写权限。 deny_email_enable=YES (NO)  -将某些特殊的 email address 抵挡住,不让那些 anonymous 登入!  -如果以 anonymous 登入主机时,不是会要求输入密码吗?密码不是要您  -输入您的 email address吗?如果你很讨厌某些 email address ,  -就可以使用这个设定來将他取消登入的权限!需与下个设定项目配合: banned_email_file=/etc/vsftpd.banned_emails  -如果 deny_email_enable=YES 時,可以利用这个设定项目來规定那个 -email address 不可登入我们的 vsftpd 喔!在上面设定的档案內,  -一行输入一个 email address 即可! no_anon_password=YES (NO)  -当设定为 YES时,表示 anonymous 将会略过密码检验步骤,  -而直接进入 vsftpd 伺服器內喔!所以一般预设都是 NO 的! anon_max_rate=0  -这个设定值后面接的数值单位为 bytes/秒 ,限制 anonymous 的传输速度,  如果是 0 则不限制(由最大带宽所限制),如果您想让 anonymous 有  30 KB/s 的速度,可以设定『anon_max_rate=30000』 anon_umask=077  -限制 anonymous 的权限!如果是 077 则 anonymous 传送过來的档案  -权限是 -rw------- 喔!ftp_username=  - 匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp。anon_root=   -设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。    -主配置文件中默认无此项,默认值为/var/ftp/。chown_uploads=YES|NO   -是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。 chown_username=whoever -指定拥有匿名用户上传文件所有权的用户。此参数与chown_uploads联用。不推荐使用root用户。 系统安全设置:ascii_download_enable=YES (NO)  -如果设定为YES ,那么 client 就可以使用 ASCII 格式下载档案。  一般來说,由于启动了这个设定项目可能会导致 DoS 的攻击,因此预设是NO。ascii_upload_enable=YES (NO)  -与上一個设定类似的,只是这个设定针对上传而言!预设是 NO。 async_abor_enable=YES (NO)  -如果您的 FTP client 有 "async ABOR" 这个指令时,这个设定才需要启用  -一般來说,由这个设定并不安全,所以通常都是将他取消的!check_shell=YES (NO)  -如果您想让拥有任何奇怪的 shell 的使用者(在 /etc/passwd 的 shell )  -可以使用 vsftpd 的話,这个设定可以为 NO 喔!one_process_model=YES (NO)  -这个设定项目比较危险一点~当为 YES 时,表示每个建立的连线  -都会拥有一支 process 在负责,可以增加 vsftpd 的效能。不过,  -除非您的系统比较安全,而且硬件配置比较高,否则容易耗尽系统资源喔!  一般建议为 NO 啦! tcp_wrappers=YES (NO)  -当然我们都习惯支援 TCP Wrappers !所以预设为 YES 吧! xferlog_enable=YES (NO)  -当设定为 YES 时,使用者上传下载档案都会被记录起來。记录档案  -与下一个设定项目有关: xferlog_file=/var/log/vsftpd.log  -如果上一个 xferlog_enable=YES 的话,这个就可以设定了!  -这个是登陆档的档名啦! nopriv_user=nobody  -我们的 vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的权限 -相当的低,因此即使被入侵,入侵者只能取得 nobody 的权限喔! pam_service_name=vsftpd  -这个是 pam 模组的名称,我们放置在 /etc/pam.d/vsftpd 即是这个东东! 以上大多数默认即可,具体按自己的需求来调整 虚拟FTP帐号首先编辑一个users.txt文本  [iyunv@redhatlinux9 root]# vi users.txt  tom  123  jack  123   (填加两个密码都为123的用户)将此文本转换为数据库文件  [iyunv@redhatlinux9 root]# db_load -T -t hash -f users.txt /etc/vsftpd_login.db更改权限  [iyunv@redhatlinux9 root]# chmod 600 /etc/vsftpd_login.db修改下面的配置  [iyunv@redhatlinux9 root]# vi /etc/pam.d/ftp  将默认的模块全部注释点,然后填加制定的配置  auth     required  pam_userdb.so db=/etc/vsftpd_login  account  required  pam_userdb.so db=/etc/vsftpd_login填加个虚拟帐号要映射的系统用户  [iyunv@redhatlinux9 root]# useradd vuser编辑下面配置  [iyunv@redhatlinux9 root]# vi /etc/vsftpd.conf  local_enable=YES  guest_enable=YES  guest_username=vuser  因为是通过系统用户vuser访问的,所以要打开本地访问。并且禁止所有有关匿名用户的配置现在就可以通过tom和jack来访问FTP了,进入的是用户vuser的home目录  实例useradd -G test –d /tmp/test –M usr1注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定M:不建立默认的自家目录,也就是说在/home下没有自己的目录(R)读-----下载(W)写----上传 (X)执行----如果不开FTP的目录都进不去不可修改/var/ftp这个目录的权限(系统为了安全禁止更改),否则匿名用户不能登陆,可以在它下面建一个专门的子目录来设置权限。匿名用户是不能在/var/ftp下上传文件的,只能上传到其子目录。如:mkdir /var/ftp/shangchuanchgrp ftp /var/ftp/shangchuanchmod g+w /var/ftp/shangchuan  匿名登陆,可以用ftp或anonymous帐号若:chmod g-r /var/ftp/shangchuan 则匿名用户不能浏览到文件,也不可下载,保护作用 默认拒绝/etc/ftpusers下列出的用户登陆,但可以通过修改/etc/pam.d/ftp中的sense值为allow,就表示只允许登陆的用户。可以快速的把服务器关起来,然后设置允许登陆的用户。 允许匿名用户上传文件 在vsftpd.conf文件中修改或增加以下选项: write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES 然后创建供匿名用户上传文件的目录,并设定权限: # mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming 由于匿名用户(ftp)上传文件,需要对incoming目录进行操作,而incoming为root所有,匿名用户(ftp)对于incoming来说是其他用户,所以要加入其他用户(o)的写权限。允许匿名拥护下载文件 anon_umask=077   #确定上传的文件对匿名用户可写 限制用户在自家目录 在默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限范围内进行上传和下载,这无疑是个不安全因素。 我们可以设置chroot,让本地用户登录后只能访问自家目录,无法访问其他目录。相关的选项有三个:chroot_local_userchroot_list_enablechroot_list_file限制用户在自家目录有两种做法: 1、限制所有的本地用户在自家目录  chroot_local_user=YES  这种做法,可能会带来一些安全性上的冲突。参见前面的chroot_local_user选项描述。 2、限制部分本地用户在自家目录  chroot_local_user=NO  chroot_list_enable=YES  chroot_list_file=/etc/vsftpd.chroot_list 在/etc/vsftpd.chroot_list文件中加入要限制的本地用户名。注意一个用户名一行。 本地用户控制:限制指定的本地用户不能访问,而其他本地用户可访问 例如下面的设置: userlist_enable= YES userlist_deny=YES userlist_file= /etc/vsftpd.user_list 使文件/etc/vsftpd.user_list中 指定的本地用户不能访问FTP服务器,而其他本地用户可访问FTP服务器。 限制指定的本地用户可以访问,而其他本地用户不可访问 例如下面的设置: userlist_enable= YES userlist_deny= NO userlist_file= /etc/vsftpd.user_list 使文件/etc/vsftpd.user_list中 指定的本地用户可以访问FTP服务器,而其他本地用户不可以访问FTP服务器。  

运维网声明 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-136039-1-1.html 上篇帖子: 基于VSFTP的本地YUM源及光盘YUM源搭建 下篇帖子: LINUX下VSFTP设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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