1. Linux FTP 服务器中将用户限制在自己目录下的方法
2、限制用户目录,不得改变目录到上级
修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件: /etc/vsftpd/chroot_list
内容写需要限制的用户名:
test
重新启动vsftpd
# service vsftpd restart
2. vsftpd禁止用户进入上一级目录
1、请看懂以下几句
#如果设置chroot_local_user=YES,
#那么chroot_list中列出的用户不会chroot。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
若是按照以上的方法设置的话是不需要添加用户到chroot_list的。你建一个空文件都可以的。
2、可是etc下并无vsftpd目录?
这个有点诡异?也许是版本问题,路径不一样。
3. linux下的ftp的配置
CentOS_5.5下FTP安装及配置CentOS 5.5下FTP安装及配置一、FTP的安装1、检测是否安装了FTP :[root@localhost ~]#rpm -q vsftpd如果安装了会显示版本信息:[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1否则显示:[root@localhost ~]# package vsftpd is not installed2、如果没安装FTP,运行yum install vsftpd命令具体的细节如下:(如果无法更新,你先配置能访问互联网,我有文档叫CentOS 在 VMware下,如何联网到Internet的解决办法可以解决无法上网的问题)[root@localhost ~]# yum install vsftpd[root@localhost ~]#3、完成ftp安装后,将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉# root4、执行以下命令# setsebool -P ftpd_disable_trans=1修改/etc/vsftpd/vsftpd.conf,在最后一行处添加local_root=/5、重启ftp进程#service vsftpd restart注:每次修改过ftp相关的配置文件,都需要重启ftp进程来生效。
ftp服务器就可以使用了。*********************************************************************二、vsftpd的配置文件说明:vsftpd.ftpusers:位于/etc目录下。
它指定了哪些用户账户不能访问FTP服务器,例如root等。vsftpd.user_list:位于/etc目录下。
该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。vsftpd.conf:位于/etc/vsftpd目录下。
来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。(1)用户登录控制anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。
(2)用户权限控制write_enable=YES,开启全局上传权限。local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。
anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。
anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。
async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。
这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。(3)用户连接和超时选项idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。(4)服务器日志和欢迎信息dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。anonymous_enable=YES 允许匿名登录local_enable=YES允许本地用户登录write_enable=YES 开放本地用户写权限local_umask=022 设置本地用户生成文件的掩码为022#anon_upload_enable=YES 此项设置允许匿名用户上传文件#anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限dirmessage_enable=YES 当切换到目录时,显示该目录下的.message隐藏文件的内容xferlog_enable=YES 激活上传和下载日。
4. 求助:vsftpd Linux 我已经配置好了能够正常使用 可是我启动chroot
1.chroot_list_enable=YES (NO)
是否启用 chroot 写入列表的功能?与底下的 chroot_list_flie 有关!这个项目得要开启,否则底下的列表档案会无效。
2.chroot_list_file=/etc/vsftpd.chroot_list
如果 chroot_list_enable=YES 那麽就可以设定这个项目了
3./etc/vsftpd/chroot_list
这个档案预设是不存在的,所以你必须要手动自行建立。这个档案的主要功能是可以将某些帐号的使用者 chroot 在他们的家目录下!但这个档案要生效与 vsftpd.conf 内的『 chroot_list_enable, chroot_list_file 』两个参数有关。 如果你想要将某些实体用户限制在他们的家目录下而不许到其他目录去,可以启动这个设定项目喔!
SO检查你的linux中是否有/etc/vsftpd/chroot_文件,如果没有,要自己建立
5. linux中vsftp修改默认路径
修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf,添加下面三行:
1、local_root=/media/ftp/pub
2、chroot_local_user=YES
3、anon_root=/var/d)运行的。
启动方式(二种方式) [root@redhat vsftpd-2.0.5]# service xinetd restart //重启超级守护进程就等于启动了vsftp 另外一个方式,就是独立运行需要修改配置文件 [root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf 然后按,跳到行尾。加上listen=YES。
然后:wq保存退出 这样就可以使用下面这条语句启动 [root@redhat vsftpd-2.0.5]# /usr/local/sbin/vsftpd & //后台启动vsftp [root@redhat vsftpd-2.0.5]# echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local //追加到启动脚本上 上 面两种方式可随意使用。我还对启动脚本做了一些实验(以service vsftpd start这种方式启动),最终还是失败了。
但是我想说。我努力了。
由于本人对shell编程不是很了解。未能写出一个使用的脚本,哎。
学!可能还是有办法解决。使用RPM方式安装一个vsftp,然后看看init.d里面的脚本是怎么写的。
下面贴一个别人的关于配置的文章 #匿名用户 anonymous_enable=NO #anon_mkdir_write_enable=YES #anon_upload_enable=YES #本地用户能否登陆 #local_enable=YES #是否可写 write_enable=YES #VSFTPD独立运行 (用vsftpd /etc/vsftpd.conf &)以及下载速度的限制 listen=YES max_clients=600 max_per_ip=5 tcp_wrappers=YES connect_from_port_20=YES #anon_max_rate=51200 (56k) #local_max_rate=512000 (560k) #如何更改路径 #anon_root=/var/ftp/pub #local_root=/var/ftp #如何随意增加一个用户目录 通过useradd -d /path/dir -M name 以及chmod ? /path/dir 可以达到 #如何对磁盘限额 用quota对/etc/fstab进行限制,然后对特定用户进行限制 补充: 补充一:如何把用户限制在家目录中呢? 我们要自己建一个文件,在/etc目录中 #touch /etc/vsftpd.chroot_list 以beinan这个用户为例 在vsftpd.chroot_list这个文件中,把beinan添上去就行。 然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行 #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list 把前面的#号去掉,也就是这样的 chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list 如果没有这样的两行,就可以自己添加上去也是一样的。
设置好后,重新vsFTPD服务器。 补充二:打开vsFTP服务器的日志功能: 把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。
这是vsFTP的日志功能,这对于我们来说是极为重要的。 #xferlog_file=/var/log/vsftpd.log 补充三:如何让绑定IP到vsFTP?也就是说,如何让用户只能通过某个IP来访问FTP。
其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。
如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP 在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP listen_address=192.168.0.2 。
10. 如何设置vsftp
一、检查是否安装了vsftpd, rpm -qa |grep vsftp
二、新建用户
useradd test -g root -d /mpeg -s /sbin/nologin #该用户仅用来支持FTP服务,因此不必让他登录系统
注:改变用户的shell命令为usermod -s /sbin/nologin coship
三、设置密码
passwd test # 连续输入两次密码
四、修改SELinux参数
setsebool ftpd_disable_trans 1
service vsftpd restart
说明:如果不修改,连接时会提示
500 OOPS: cannot change directory:/mpeg
500 OOPS: child died
五、修改/mpeg权限
chmod 775 /mpeg
六、设置/etc/vsftpd/vsftpd.conf
将anonymous_enable=NO,这样可以限制匿名用户登录。
local_enable=YES #启用本地用户登录
write_enable=YES #设置可以进行写操作
local_umask=022 #设定上传后文件的权限掩码
userlist_enable=YES #启用用户登录控制
local_root=/mpeg (路径自定义)#定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录)
否则访问其它目录时会提示:550 Failed to change directory.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。
注意:
当chroot_local_user=NO、chroot_list_enable=YES时,chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。
当chroot_local_user=YES、chroot_list_enable=YES时,chroot_list中用户为非锁定用户,他们可以访问任何其他目录。
七、设置vsftpd自动启动
chkconfig vsftpd on 或
运行ntsysv将vsftpd选上 或
echo "/usr/local/sbin/vsftpd &" >>/etc/rc.local
八、如果出现不能访问的现象可以将防火墙和SELinux停用
1、service iptables stop
2、编辑/etc/selinux/config将SELINUX设为disabled,即SELINUX=disabled
或终端里运行system-config-securitylevel-tui
或点击“system"->"administration"->"security level and firewall对防火墙和SELinux
转载请注明出处育才学习网 » chrootlist怎么写