资源描述
Linux服务器安全设置方案
郑州信大捷安信息技术股份有限公司
2013年05月
文档控制
n 修改记录
作者
修改记录
日期
版本
谢西勇
创建文档,初始版本。
2013-05-10
V1.0
一、 描述
尽管Linux在安全设计上比其他一些操作系统具有一定的先天优势,但它也决不像早先一些人认为的“绝对安全”,近年来,基于Linux的安全事件也多有发生。本文对Linux安全问题进行过一些探讨,作为对这一部分内容的总结和进一步补充完善。
二、 开机安全设置
1、Bios安全
一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人
试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改动其中的设置(比如允许通过软盘启动等)。
2、LILO安全
在"/etc/lilo.conf"文件中加入下面三个参数:time-out,restricted,password。这三个参数可以使你的系统在启动lilo时就要求密码验证。
第一步: 编辑lilo.conf文件(vi /etc/f),假如或改变这三个参数:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00 #把这行该为00
prompt
Default=linux
restricted #加入这行
password= #加入这行并设置自己的密码
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
第二步:
因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。
[root@kapil /]# chmod 600 /etc/lilo.conf
因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。
[root@kapil /]# chmod 600 /etc/lilo.conf
第三步: 更新系统,以便对"/etc/lilo.conf"文件做的修改起作用。
[Root@kapil /]# /sbin/lilo -v
第四步: 使用"chattr"命令使"/etc/lilo.conf"文件变为不可改变。
[root@kapil /]# chattr +i /etc/lilo.conf
这样可以防止对"/etc/lilo.conf"任何改变(以外或其他原因)
三、 账户安全设置
1、 删除所有的特殊账户
你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
删除用户:
[root@kapil /]# userdel LP
删除组:
[root@kapil /]# groupdel LP
删除系统特殊的的用户帐号和组帐号:
#userdel username
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
以上所删除用户为系统默认创建,但是在常用服务器中基本不使用的一些帐号,但是这些帐号常被黑客利用和攻击服务器。
#groupdel username
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
同样,以上删除的是系统安装是默认创建的一些组帐号。这样就减少受攻击的机会。
2、 root账户自动注销
在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,系统会自动注销。通过修改账户中"TMOUT"参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面这行:
TMOUT=3600
3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的".bashrc"文件中添加该值,以便系统对该用户实行特殊的自动注销时间。 改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。
3、 root账户电源管理
只允许root账户对电源进行管理
此项配置防止SYN Flood攻击
vi /etc/default/sys-suspend:
将 PERMS=console-owner
改为 PERMS=-
# chmod 0755 /usr/openwin/bin/sys-suspend
4、 取消普通用户的控制台访问权限
你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。
[root@kapil /]# rm -f /etc/security/console.apps/
是你要注销的程序名。
5、 定期不需要的用户
定期检查主机系统用户,及时删除离职的用户,检查系统中SUID、SGID文件
find / \( -perm -004000 -o -perm -002000 \) -type f –print
检查系统上不正常的隐藏文件。
例如:
目录文件/dev下是否有可疑文件;
/etc/inetd.conf是否有被替换文件;
crontat中是否运行可疑进程。
6、 编辑初始账户参数,以满足密码策略
编辑/etc/sadm/defadduser需要,使用adduser命令时满足密码策略,例如:
vi /etc/sadm/defadduser
defgroup=15
defgname=users
defparent=/export/home
defskel=/etc/skel
defshell=/usr/bin/ksh
definact=30
defexpire=
四、 密码安全
1、 设置密码安全性
在选择正确密码之前还应作以下修改:
修改密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。
口令必须具备采用3种以上字符、长度不少于8位并定期更换;
#vi /etc/pam.d/system_auth password requisite pam_cracklib.so minlen=8 ucredit=1 lcredit=1 dcredit=1 ocredit=1 意思为最少有1个大写字母,1个小写字符,1个数字, 1个符号
修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行
PASS_MIN_LEN 5
改为
PASS_MIN_LEN 8
密码可以被改变的最小时段
PWMIN= 1
密码的最大生存周期
PWMAX= 13
设定离用户密码过期的天数,当系统启动时提醒用户
PWWARN= 4
口令有效期
# vi /etc/login.defs PASS_MAX_DAYS 60
2、 启用登录失败处理功能
可采取结束会话、限制非法登录次数和自动退出等措施
设置6次登陆失败后锁定帐户,锁定时间3000秒
# vi /etc/pam.d/system-auth
auth required pam_tally.so onerr=fail deny=6 unlock_time=3000
(放在system-auth文件的第一行,若对root用户起作用,加上
even_deny_root root_unlock_time=3000)
解锁用户 faillog -u <用户名》 -r
3、 设置复杂的密码
口令长度至少为八个字符,口令越长越好。若使用MD5口令,它应该至少有15个字符。若使用DES口令,使用最长长度(8个字符)。
混和大小写字母。Linux区分大小写,因此混和大小写会增加口令的强壮程度。
混和字母和数字。在口令中添加数字,特别是在中间添加(不只在开头和结尾处)能够加强口令的强健性。
包括字母和数字以外的字符:&、$、和 > 之类的特殊字符可以极大地增强口令的强健性(若使用DES口令则不能使用此类字符)。
挑选一个可以记住的口令。如果记不住自己的口令,那么它再好也没有用,使用简写或其他记忆方法来帮助记忆口令。
不要在口令中只使用单词或数字。
不要使用现成词汇,像名称、词典中的词汇、甚至电视剧或小说中的用语,即使在两端使用数字,都应该避免使用。
不要使用外语中的词汇。口令破译程序经常使用多种语言的词典来检查其词汇列表。依赖外语来达到保护口令的目的通常不起作用。
不要使用黑客术语。
4、 打开密码的shadow支持功能:
你应该打开密码的shadow功能,来对password加密。使用"/usr/sbin/authconfig"工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用"pwcov,grpconv"命令。
5、 其他账户密码是否为空
检查/etc/passwd和/etc/shadow,每个用户的密码栏是否不为空。
more /etc/passwd
more /etc/shadow
五、 服务安全
1、 取消并反安装所有不用的服务
取消并反安装所有不用的服务,这样你的担心就会少很多。察看"/etc/inetd.conf"文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个"#")。然后用"sighup"命令升级"inetd.conf"文件。
第一步:
更改"/etc/inetd.conf"权限为600,只允许root来读写该文件。
[Root@kapil /]# chmod 600 /etc/inetd.conf
第二步:
确定"/etc/inetd.conf"文件所有者为root。
第三步:
编辑 /etc/inetd.conf文件(vi /etc/inetd.conf),取消下列服务(你不需要的):ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。把不需要的服务关闭可以使系统的危险性降低很多。
建议只保留以下服务:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
time stream tcp nowait root internal
time dgram udp wait root internal
echo stream tcp nowait root internal
echo dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
rstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd
fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs
100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd
第四步:
给inetd进程发送一个HUP信号:
[root@kapil /]# killall -HUP inetd
第五步:
用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以修改它:
[root@kapil /]# chattr +i /etc/inetd.conf
这样可以防止对inetd.conf的任何修改(以外或其他原因)。唯一可以取消这个属性的人只有root。如果要修改inetd.conf文件,首先要是取消不可修改性质:
[root@kapil /]# chattr -i /etc/inetd.conf
别忘了该后再把它的性质改为不可修改的。
2、 关闭不用的端口
查看/etc/services文件,关闭一些无用服务的端口
vi /etc/services
3、 关闭系统的自启动服务
根据需要停用以下服务
cd /etc/rc*.d
sendmail服务
sendmail 把/etc/rc2.d/S88sendmai更名(mv)为tc/rc2.d/X88sendmail
DNS服务
DNS 将/etc/rc2.d/S72inetsv注释掉in.named一项
lp服务
lp 把/etc/rc2.d/S80lp更名(mv)为 /etc/rc2.d/X80lp
uucp服务
uucp 把/etc/rc2.d/S70uucp更名(mv)为/etc/rc2.d/X70uucp
snmp服务
snmp 把/etc/rc2.d/K07snmpdx、/etc/rc3.d/S76snmpdx和 /etc/rc3.d/S77dmi 更名(mv) 为/etc/rc2.d/Y07snmpdx 、/etc/rc3.d/X76snmpdx和/etc/rc3.d/X77dmi
自动安装服务
autoinstall 把/etc/rc2.d/S72autoinstallg更名(mv)为/etc/rc2.d/X72autoinstall
4、 安全审计
审计范围是否覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户
操作系统用户的审计由主机的审计服务进行管理,数据库用户的审计由Oracle数据库系统来管理。
开启内核audit系统
# auditctl –e 1
开启审计服务守护进程:
# service auditd start
设置开机自动启动,用root用户执行:
# chkconfig auditd on
查看audit运行状态
# auditctl –s AUDIT_STATUS: enabled=1 flag=1 pid=1585 rate_limit=0 backlog_limit=256 lost=0 backlog=0
根据记录数据进行分析,并生成审计报表aureport命令格式:aureport[选项]
主要选项:
-a报告关于访问向量缓冲(accessvectorcache,AVC)的消息
-c报告关于配置修改的消息-cr报告关于crypto事件的消息
-e报告关于事件的消息
-f报告关于文件的消息
-h报告关于主机的消息
-l报告关于登录的消息
-m报告关于账户修改的消息
-ma报告关于MandatoryAccessControl(MAC)事件的消息
-p报告关于进程的消息
-s报告关于系统调用的消息
-tm报告关于终端的消息
如果执行aureport时没有使用任何选项,则会显示如汇总报表。要显示每个日志的启动和停止时间,可以添加-t选项:aureport-<flag>-i-t
要仅显示失败事件,则使用--failure,注意这个选项前面有两条虚线而不是一条:aureport-<flag>-i——failed
要仅显示成功事件,则使用--success,注意这个选项前面有两条虚线而不是一条:aureport-<flag>-i——success
要产生来自一个日志文件的报表而不是默认报表,则可用-if选项指定它:
aureport-<flag>-i-if/var/log/audit/audit.log.1
六、 登陆安全
1、 黑名单
使用黑名单可以使你的系统安全面对外部入侵。最好的策略就是阻止所有的主机(在"/etc/hosts.deny" 文件中加入"ALL: ALL@ALL, PARANOID" ),然后再在"/etc/hosts.allow" 文件中加入所有允许访问的主机列表。
第一步:
编辑hosts.deny文件(vi /etc/hosts.deny),加入下面这行
# Deny access to everyone.
ALL: ALL@ALL, PARANOID
这表明除非该地址包好在允许访问的主机列表中,否则阻塞所有的服务和地址。
第二步:
编辑hosts.allow文件(vi /etc/hosts.allow),加入允许访问的主机列表,比如:
ftp: 202.54.15.99
202.54.15.99和 是允许访问ftp服务的ip地址和主机名称。
第三步:
tcpdchk程序是tepd wrapper设置检查程序。它用来检查你的tcp wrapper设置,并报告发现的潜在的和真实的问题。设置完后,运行下面这个命令:
[Root@kapil /]# tcpdchk
2、 禁止系统信息暴露
当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/etc/inetd.conf"文件来达到这个目的。 把/etc/inetd.conf文件下面这行:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
修改为:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
在最后加"-h"可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息。
3、 修改"/etc/host.conf"文件
"/etc/host.conf"说明了如何解析地址。编辑"/etc/host.conf"文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts.order bind,hosts
# We have machines with multiple IP addresses. multi on
# Check for IP address spoofing. nospoof on
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。
4、 禁止任何人通过su命令改变为root用户
su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/etc/pam.d/"目录下)的开头添加下面两行:
编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel
这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到"wheel"组,以使它可以使用su命令成为root用户。
5、 不允许从不同的控制台进行root登陆
"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加"#"标志,来禁止从该TTY设备进行root登陆。
6、 root登陆管理
编辑登陆文件,修改root登陆参数
vi /etc/default/login
防止远程的root登陆
CONSOLE=/dev/console
纪录root的登陆失败,成功的情况。
SYSLOG= YES
设置登陆会话超时时间
TIMEOUT= 120
确定登陆需要密码验证
PASSREQ= YES
7、 系统访问限制
任何用户都可以通过rlogin不需要口令以该用户的身份登录到系统。因此要为这些文件加锁,先创建它们,然后修改其属性为零即可。这样除了root用户就没有其它用户能创建或修改它们了。
全局查找.rhosts文件
#find / –name “.rhosts” -print
修改权限
# chmod 700 /usr/bin/touch
# chmod 700 /.rhosts
# chmod 700 /.netrc
# chmod 700 /etc/hosts.equiv
# chmod 700 /usr/bin/chmod
七、 Telnet
1、 关闭服务
编辑 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@test root]# vi /etc/xinetd.d/telnet
找到 disable = no<==就是改这里,将 弄 改成 yes 即可!
重启服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
[root@wljs root]# service xinetd restart
2、 设置telnet端口
#vi /etc/services
进入编辑模式后查找telne
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
3、 Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable = no <==预设就是激活 telnet 服务
bind = 210.45.160.17 <==只允许经由这个适配卡的封包进来
only_from = 210.45.160.0/24 <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable = no<==预设就是激活 telnet 服务
bind = 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from = <==重复设定,只有教育网才能联机!
no_access = 192.168.25.{10,26}<==不许这些 PC 登入
access_times = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}
4、 root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
auth required pam_securetty.so #将这一行注释去掉!
这样一来, root 将不可以直接进入 Linux 主机。
八、 SSH
1、 推荐配置
1 ssh的配置文件位于 /etc/ssh/sshd_config
推荐配置:
2 使 sshd服务运行在非标准端口上
设置方法:编辑/etc/ssh/sshd_config文件,添加一行内容为(假定设置监听端口是12345):port 12345 在客户端,用ssh <server addr> -p 12345登录服务器。
3 只允许 ssh v2的连接
protocol 2
4 禁止 root用户通过ssh登录
PermitRootLogin no
5 禁止用户使 用空密码登录
PermitEmptyPasswords no
6 限制登录失 败后的重试次数
MaxAuthTries 3
7 只允许在列表中指定的用户登录
AllowUsers user1 user2
设置完成以后,运行命令使之生效:
[root@jcwkyl ssh]# /etc/init.d/sshd reload
2、 禁止root用户直接登陆
修改/etc/ssh/sshd_config 文件
vi /etc/ssh/sshd_config
PermitRootLogin no #不允许 Root 登录
3、 屏蔽banner信息
#vi/etc/ssh/sshd_config:
#Banner/some/path 注释掉banner的相关条目
4、 黑白名单控制:
修改白名单,允许需要的主机通过ssh访问
vi /etc/host.allow
sshd : 192.168.1.107 #允许192.168.1.107通过ssh访问本机
修改黑名单,拒绝目标主机通过ssh访问
vi /etc/host.deny
sshd : 192.168.1.105 #拒绝192.168.1.105通过ssh访问本机
5、 禁用密码登陆,仅用证书密钥登陆
在客户端生成密钥
ssh-keygen -t rsa
把公钥拷贝至服务器
ssh-copy-id -i .ssh/id_rsa.pub server
也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得修改访问权限
scp .shh/id_rsa.pub server:~/.ssh
在服务器中
cd ./.ssh/
mv id_rsa.pub authorized_keys
chmod 400 authorized_keys
最后修改/etc/ssh/sshd_config
RSAAuthentication yes
#RSA认证
PubkeyAuthentication yes
#开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys
#验证文件路径
PasswordAuthentication no
#禁止密码认证
PermitEmptyPasswords no
#禁止空密码
UsePAM no
#禁用PAM
最后保存,重启
sudo /etc/init.d/ssh restart
安装denyhosts
个性化设置请自行修改/etc/denyhosts.conf
SECURE_LOG = /var/log/auth.log
#ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny
#控制用户登陆的文件
PURGE_DENY =
#过多久后清除已经禁止的
BLOCK_SERVICE = sshd
#禁止的服务名
DENY_THRESHOLD_INVALID = 5
#允许无效用户失败的次数
DENY_THRESHOLD_VALID = 10
#允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 1
#允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
#运行目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
#是否进行域名反解析
LOCK_FILE = /var/run/denyhosts.pid
#程序的进程ID
ADMIN_EMAIL = root@localhost (可以将这里改成常用的邮箱)
#管理员邮件地址,它会给管理员发邮件
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
6、 启停动SSH:
启动服务:
#service sshd start
#service sshd restart(重新启动)
停止服务器:
#service sshd stop
九、 FTP
1、 关闭服务
# service vsftpd stop
2、 FTP安全配置
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=no 是否允许匿名用户登录
anonymous_enable=no 是否允许匿名上传文件
local_enable= YES 是否允许本地用户登录
write_enable= no 是否允许本地用户上传
guest_enable=yes 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= no 允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
listen= no 是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES 是否使用tcp_wrappers作为主机访问控制方式
ftpd_banner= 设置连接服务器后的欢迎信息
idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 设置在多长时间后自动建立连接
connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 指明服务器总的客户并发连接数为200
max_per_ip=1 指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号 设置FTP工作的端口号,默认的为21
chroot_local_user=YES 设置所有的本地用户可以chroot
chroot_local_user=NO 设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有
展开阅读全文