码迷,mamicode.com
首页 > 系统相关 > 详细

Linux基本防护措施

时间:2018-06-30 13:01:30      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:and   nod   you   2-2   tar   ecs   air   config文件   次数   

1.案例1:Linux基本防护措施
2.案例2:使用sudo分配管理权限
3.案例3:提高SSH服务安全
4.案例4:SELinux安全防护
1 案例1:Linux基本防护措施
1.1 问题
本案例要求练习Linux系统的基本防护措施,完成以下任务:
1.修改用户zhangsan的账号属性,设置为2019-12-31日失效(禁止登录)
2.临时锁定用户lisi的账户,使其无法登录,验证效果后解除锁定
3.修改tty终端提示,使得登录前看到的第一行文本为“Windows Server 2012 Enterprise R2”,第二行文本为“NT 6.2 Hybrid”
4.锁定文件/etc/resolv.conf、/etc/hosts,以防止其内容被无意中修改
1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:修改用户zhangsan的账户属性,设置为2019-12-31日失效(禁止登录)
1)正常情况下,未过期的账号可以正常登录,使用chage可以修改账户有效期。
1.chage命令的语法格式:
2.chage –l????账户名称????????????????????????????????//查看账户信息
3.chage –E 时间 账户名称????????????????????????????//修改账户有效期
2)失效的用户将无法登录
使用chage命令将用户zhangsan的账户设为当前已失效(比如已经过去的某个时间):
1.[root@svr5 ~]# useradd zhangsan
2.[root@svr5 ~]# chage -E 2015-05-15 zhangsan
尝试以用户zhangsan重新登录,输入正确的用户名、密码后直接闪退,返回登录页,说明此帐号已失效。
3)重设用户zhangsan的属性,将失效时间设为2015-12-31
1.[root@svr5 ~]# chage -E 2019-12-31 zhangsan ????????????//修改失效日期
2.[root@svr5 ~]# chage -l zhangsan ????????????????????//查看账户年龄信息
3.Last password change ????????????????????: May 15, 2017
4.Password expires ????????????????????: never
5.Password inactive ????????????????????: never
6.Account expires ????????????????????????: Dec 31, 2019
7.Minimum number of days between password change ????????: 0
8.Maximum number of days between password change ????????: 99999
9.Number of days of warning before password expires ????????: 7
4)定义默认有效期(扩展知识)
/etc/login.defs这个配置文件,决定了账户密码的默认有效期。
1.[root@svr5 ~]# cat /etc/login.defs
2.PASS_MAX_DAYS????99999????????????????????????//密码最长有效期
3.PASS_MIN_DAYS????0????????????????????????????//密码最短有效期
4.PASS_MIN_LEN????5????????????????????????????//密码最短长度
5.PASS_WARN_AGE????7????????????????????????????//密码过期前几天提示警告信息
6.UID_MIN 1000????????????????//UID最小值
7.UID_MAX 60000????????????????//UID最大值
步骤二:临时锁定用户lisi的账户,使其无法登录,验证效果后解除锁定
1)锁定用户账号
使用passwd或usermod命令将用户lisi的账户锁定。
1.[root@svr5 ~]# passwd -l lisi ????????????????????????//锁定用户账号lock
2.锁定用户 lisi 的密码。
3.passwd: 操作成功
4.
5.[root@svr5 ~]# passwd -S lisi ????????????????????????//查看状态status
6.lisi LK 2018-02-22 0 99999 7 -1 (密码已被锁定。)
2)验证用户lisi已无法登录,说明锁定生效
输入正确的用户名、密码,始终提示“Login incorrect”,无法登录。
3)解除对用户lisi的锁定
1.[root@svr5 ~]# passwd -u lisi ????????????????????????//解锁用户账号
2.解锁用户 lisi 的密码 。
3.passwd: 操作成功
4.
5.[root@svr5 ~]# passwd -S lisi ????????????????????????//查看状态
6.lisi PS 2018-08-14 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)
步骤三:修改tty登录的提示信息,隐藏系统版本
1)账户在登录Linux系统时,默认会显示登陆信息(包括操作系统内核信息)
/etc/issue这个配置文件里保存的就是这些登陆信息,修改该文件防止内核信息泄露。
1.[root@svr5 ~]# cat /etc/issue ????????????????????????????//确认原始文件
2.Red Hat Enterprise Linux Server release 6.5 (Santiago)
3.Kernel \r on an \m
4.
5.[root@svr5 ~]# cp /etc/issue /etc/issue.origin ????????????//备份文件
6.
7.[root@svr5 ~]# vim /etc/issue ????????????????????????????//修改文件内容
8.Windows Server 2012 Enterprise R2
9.NT 6.2 Hybrid
2)测试版本伪装效果
退出已登录的tty终端,或者重启Linux系统,刷新后的终端提示信息会变成自定义的文本内容,如图-1所示。

图-1
步骤四:锁定文件/etc/resolv.conf、/etc/hosts
1)语法格式:
1.# chattr +i 文件名????????????????????//锁定文件(无法修改、删除等)
2.# chattr -i 文件名????????????????????//解锁文件
3.# chattr +a 文件名????????????????????//锁定后文件仅可追加
4.# chattr -a 文件名????????????????????//解锁文件
5.# lsattr 文件名????????????????????????//查看文件特殊属性
2) 使用+i锁定文件,使用lsattr查看属性
1.[root@svr5 ~]# chattr +i /etc/resolv.conf /etc/hosts
2.[root@svr5 ~]# lsattr /etc/resolv.conf /etc/hosts
3.----i--------e- /etc/resolv.conf
4.----i--------e- /etc/hosts
2)测试文件锁定效果
1.[root@svr5 ~]# rm -rf /etc/resolv.conf
2.rm: 无法删除"/etc/resolv.conf": 不允许的操作
3.[root@svr5 ~]# echo "192.168.4.1 gateway.tarena.com" >> /etc/hosts
4.bash: /etc/hosts: 权限不够
3)恢复这两个文件原有的属性(避免对后续实验造成影响)
1.[root@svr5 ~]# chattr -i /etc/resolv.conf /etc/hosts
2.[root@svr5 ~]# lsattr /etc/resolv.conf /etc/hosts
3.-------------e- /etc/resolv.conf
4.-------------e- /etc/hosts
2 案例2:使用sudo分配管理权限
2.1 问题
本案例要求利用sudo机制分配管理操作权限,主要完成以下任务:
1.使用su命令临时切换账户身份,并执行命令
2.允许softadm管理系统服务的权限
3.允许用户useradm通过sudo方式添加/删除/修改除root以外的用户账号
4.允许wheel组成员以特权执行/usr/bin/下的命令
5.为sudo机制启用日志记录,以便跟踪sudo执行操作
2.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:使用su命令临时切换账户身份,并以root执行命令
su(Substitute User)命令可以快速切换账户身份,普通用户切换账户身份时需要输入密码,root使用su命令切换任何身份都不需要密码,如法格式如下:
1.# su – [账户名称]
2.# su - [账户名称] -c ‘命令‘
1)从普通用户切换为root账户身份(如果没有普通账户则需要先创建)
1.[jacob@svr5 ~]# whoami
2.jacob
3.[jacob@svr5 ~]# su –????????????????????//切换账户,默认切换为root账户
4.密码:
5.[root@svr5 ~]# whoami????????????????????//确认结果
6.root
2)以普通身份创建目录(如果没有普通账户则需要先创建),以root身份重启服务
1.[root@svr5 ~]# su - tom -c "mkdir /home/tom/test"????????//管理员切换普通用户
2.[root@svr5 ~]# ll -d /home/tom/test
3.[tom@svr5 ~]# su - -c "systemctl restart sshd"????????????//以管理员重启服务
4.密码:
5.● sshd.service - OpenSSH server daemon
6.Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
7.active: active (running) since 五 2018-01-19 08:59:40 CST; 1 months 4 days ago
步骤二:允许softadm管理系统服务的权限
1)修改/etc/sudoers配置
修改/etc/sudoers可以直接使用vim编辑该文件,或使用visudo命令修改该文件。
为softadm授予相关脚本的执行权限,允许通过systemctl工具来管理系统服务。
如果没有softadm账户可以先创建该账户。
1.[root@svr5 ~]# vim /etc/sudoers????????????//修改文件后,需要使用wq强制保存
2... ..
3.softadm ALL=(ALL) /usr/bin/systemctl ????????
4.//授权softadm以root身份执行systemctl命令
2)切换为softadm用户,并验证sudo执行权限
1.[root@svr5 ~]# su – softadm
2.[softadm@svr5 ~]$ sudo -l
3.… …
4.[sudo] password for softadm: ????????????????????????//输入softadm的口令
5... ..
6.用户 softadm 可以在该主机上运行以下命令:

  1. (ALL) /usr/bin/systemctl
  2. 9.[softadm@svr5 ~]$ systemctl start httpd ????????????????//不用sudo时启动服务失败
    10.Authentication is required
    11... ..
    12.[softadm@svr5 ~]$ sudo systemctl restart httpd ????????//通过sudo启动服务成功
    步骤三:允许用户useradm通过sudo方式添加/删除/修改除root以外的用户账号
    1)修改/etc/sudoers配置
    为useradm授予用户管理相关命令的执行权限,例外程序以!符号取反,放在后面。在执行相关程序时,可以利用通配符
    1.[root@svr5 ~]# vim /etc/sudoers
    2... ..
    3.useradm ALL=(ALL) /usr/bin/passwd,!/usr/bin/passwd root,/usr/sbin/user
    ,

  3. !/usr/sbin/user root
    2)切换为useradm用户,验证sudo权限
    可以通过sudo方式来添加/删除/修改普通用户:
    1.[root@svr5 ~]# su – useradm
    2.[useradm@svr5 ~]$ sudo -l
    3... ..
    4.用户useradm可以在该主机上运行以下命令:
  4. (root) /usr/bin/passwd, !/usr/bin/passwd root, /usr/sbin/user,
    6.!/usr/sbin/user
    root
    7.[useradm@svr5 ~]$ sudo useradd newuser01 ????????????????//可以添加用户
    8.[useradm@svr5 ~]$ sudo passwd newuser01 ????????????????//可以修改普通用户的口令
    9.更改用户 newuser01 的密码 。
    10.新的 密码:
    11.重新输入新的 密码:
    12.passwd: 所有的身份验证令牌已经成功更新。
    但是不能修改root用户的密码:
    1.[useradm@svr5 ~]$ sudo passwd root
    2.对不起,用户 useradm 无权以 root 的身份在 localhost 上
    3.执行 /usr/bin/passwd root。
    步骤四:允许wheel组成员以特权执行/bin/下的所有命令
    此案例用来展示sudo的便利性及设置不当带来的危险性,生产环境下慎用。
    实现时参考下列操作(如果没有普通用户则先创建该账户):
    1.[root@svr5 ~]# vim /etc/sudoers
    2... ..
    3.%wheel ALL=(ALL) /bin/

    4.[root@svr5 ~]# usermod -a -G wheel zengye
    5.[zengye@svr5 ~]$ sudo -l
    6... ..
    7.用户 zengye 可以在该主机上运行以下命令:
    8.(root) /bin/*
    步骤五:为sudo机制启用日志记录,以便跟踪sudo执行操作
    1)修改/etc/sudoers配置,添加日志设置
    1.[root@svr5 ~]# visudo
    2.Defaults logfile="/var/log/sudo"
    3... ..
    2)以root(默认有所有权限)执行sudo操作
    1.[root@svr5 ~]# sudo -l ????????????????????????????????//查看授权的sudo操作
    2.[softadm@svr5 ~]# sudo systemctl status httpd ????????????//查看授权的sudo操作
    3)确认日志记录已生效
    1.[root@svr5 ~]# tail /var/log/sudo
    2... ..
    3.May 16 22:14:49 : root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=list
    4.Feb 22 22:35:43 : softadm : TTY=pts/11 ; PWD=/home/softadm ; USER=root ;
  5. COMMAND=/bin/systemctl status httpd
    3 案例3:提高SSH服务安全
    3.1 问题
    本案例要求提高Linux主机上SSH服务端的安全性,完成以下任务:
    1.配置基本安全策略(禁止root、禁止空口令)
    2.针对SSH访问采用仅允许的策略,未明确列出的用户一概拒绝登录
    3.实现密钥验证登录(私钥口令)、免密码登入
    4.确认密钥验证使用正常后,禁用口令验证
    3.2 步骤
    实现此案例需要按照如下步骤进行。
    步骤一:配置基本安全策略
    1)调整sshd服务配置,并重载服务
    1.[root@svr5 ~]# vim /etc/ssh/sshd_config
    2... ..
    3.Protocol 2 ????????????????????????????????????????//去掉SSH协议V1
    4.PermitRootLogin no ????????????????????????????????//禁止root用户登录
    5.PermitEmptyPasswords no ????????????????????????????//禁止密码为空的用户登录
    6.UseDNS no ????????????????????????????????????????//不解析客户机地址
    7.LoginGraceTime 1m ????????????????????????????????//登录限时
    8.MaxAuthTries 3 ????????????????????????????????????//每连接最多认证次数
    9... ..
    10.[root@svr5 ~]# systemctl restart sshd
    2)测试基本安全策略
    尝试以root用户SSH登录,失败:
    1.[root@svr5 ~]# ssh root@192.168.4.7
    2.root@192.168.4.7‘s password:
    3.Permission denied, please try again.
    将服务器上用户kate(如无该账户则先创建)的密码设为空,尝试SSH登录,也会失败:
    1.[root@svr5 ~]# passwd -d kate ????????????????????????//清空用户口令
    2.清除用户的密码 kate。
    3.passwd: 操作成功
  6. 5.[root@svr5 ~]# ssh kate@192.168.4.7
    6.kate@192.168.4.7‘s password:
    7.Permission denied, please try again.
    步骤二:针对SSH访问采用仅允许的策略,未明确列出的用户一概拒绝登录
    1)调整sshd服务配置,添加AllowUsers策略,仅允许用户zengye、john、useradm,其中useradm只能从网段192.168.4.0/24登录。
    1.[root@svr5 ~]# vim /etc/ssh/sshd_config
    2... ..
    3.AllowUsers zengye john useradm@192.168.4.0/24????????????//定义账户白名单
    4.##DenyUsers USER1 USER2????????????????????????????????//定义账户黑名单
    5.##DenyGroups GROUP1 GROUP2????????????????????????????//定义组黑名单
    6.##AllowGroups GROUP1 GROUP2????????????????????????????//定义组白名单
    7.[root@svr5 ~]# systemctl restart sshd
    2)验证SSH访问控制,未授权的用户将拒绝登录。
    1.[root@pc205 ~]# ssh useradm@192.168.4.5 ????????????????//已授权的用户允许登录
    2.useradm@192.168.4.5‘s password:
    3.[useradm@svr5 ~]$ exit
    4.[root@pc205 ~]# ssh zhangsan@192.168.4.5 ????????????????//未授权的用户被拒绝登录
    5.zhangsan@192.168.4.5‘s password:
    6.Permission denied, please try again.
    步骤三:实现密钥对验证登录(私钥口令)、免密码登入
    1)准备客户机测试环境
    为客户机的用户root建立SSH密钥对
    使用ssh-keygen创建密钥对,将私钥口令设为空(直接回车):
    1.[root@client ~]$ ssh-keygen -t rsa
    2.Generating public/private rsa key pair.
    3.Enter file in which to save the key (/root/.ssh/id_rsa):
    4.Created directory ‘/root/.ssh‘.
    5.Enter passphrase (empty for no passphrase): ????????????//直接回车将口令设为空
    6.Enter same passphrase again: ????????????????????????????//再次回车确认
    7.Your identification has been saved in /root/.ssh/id_rsa.
    8.Your public key has been saved in /root/.ssh/id_rsa.pub.
    9.The key fingerprint is:
    10.63:6e:cf:45:f0:56:e2:89:6f:62:64:5a:5e:fd:68:d2
    11.The key‘s randomart image is:
    12.+--[ RSA 2048]----+
    13.| |
    14.| |
    15.| . . . |
    16.| = = |
    17.| S = B . |
    18.| o B = . o |
    19.| + + = E .|
    20.| . + + o |
    21.| o |
    22.+-----------------+
    23.[root@client ~]$ ls -lh ~/.ssh/id_rsa* ????????????????//确认密钥对文件
    24.-rw-------. 1 root root 1.8K 8月 15 10:35 /root/.ssh/id_rsa
    25.-rw-r--r--. 1 root root 403 8月 15 10:35 /root/.ssh/id_rsa.pub
    2)将客户机上用户root的公钥部署到SSH服务器
    以用户root登入客户机,使用ssh-copy-id命令将自己的公钥部署到服务器:
    1.[root@client ~]$ ssh-copy-id root@192.168.4.5
    2.root@192.168.4.5‘s password:
    3.Now try logging into the machine, with "ssh ‘root@192.168.4.5‘", and check in:

  7. .ssh/authorized_keys
    5.to make sure we haven‘t added extra keys that you weren‘t expecting.
    3)在服务器上确认客户机用户root上传的公钥信息
    默认部署位置为目标用户的家目录下 ~/.ssh/authorized_keys文件:
    1.[root@svr5 ~]# tail -2 ~/.ssh/authorized_keys
    2.ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzz+5AiFMGQ7LfuiV7eBnOcmRO9JRTcqRoynGO2y5
    3.RyFL+LxR1IpEbkNrUyIZDk5uaX1Y8rwsf+pa7UZ2NyqmUEvNSUo0hQyDGsU9SPyAdzRCCvDgwpOFhaHi/OFnT+zqjAqXH2M9fFYEVUU4PIVL8HT19zCQRVZ/q3acQA34UsQUR0PpLJAobsf1BLe2EDM8BsSHckDGsNoDT9vk+u3e83RaehBMuy1cVEN5sLAaIrIeyM8Q0WxQNlqknL908HRkTlTeKrRoHbMnOBFj8StwlnscKHlkrsKkhUf8A9WWz/vL4GDwGND5jdca3I2hdITAySjMdfL1HMHnMYOgMjPM0Q== root@192.168.4.100
    4)在客户机上测试SSH密钥对验证
    在客户机用户root的环境中,以远程用户root登入192.168.4.5主机时,无需验证口令即可登入(因为私钥口令为空):
    1.[root@client ~]$ ssh root@192.168.4.5 ????????????????????//免交互直接登入
    2.Last login: Thu Aug 15 10:48:09 2013 from 192.168.4.100
    步骤四:确认密钥验证使用正常后,禁用口令验证
    1)调整sshd服务配置,将PasswordAuthentication设为no
    1.[root@svr5 ~]# vim /etc/ssh/sshd_config
    2... ..
    3.PasswordAuthentication no ????????????????????????????//将此行yes改成no
  8. 5.[root@svr5 ~]# systemctl restart sshd
    4 案例4:SELinux安全防护
    4.1 问题
    本案例要求熟悉SELinux防护机制的开关及策略配置,完成以下任务:
    1.将Linux服务器的SELinux设为enforcing强制模式
    2.从/root目录下移动一个包文件到FTP下载目录,调整策略使其能够被下载
    3.在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问
    4.2 步骤
    实现此案例需要按照如下步骤进行。
    步骤一:将Linux服务器的SELinux设为enforcing强制模式
    1)固定配置:修改/etc/selinux/config文件
    确认或修改SELINUX为enforcing模式:
    1.[root@svr5 ~]# vim /etc/selinux/config
    2.SELINUX=enforcing????????????????????????????????//设置SELinux为强制模式
    3.SELINUXTYPE=targeted????????????????????????????//保护策略为保护主要的网络服务安全
    2)临时配置:使用setenforce命令
    查看当前SELinux状态,如果是disabled则需要根据第1)步的配置重启系统;如果是permissive则使用setenforce命令修改为enforcing即可:
    1.[root@svr5 ~]# getenforce????????????????????????//查看当前状态为警告模式
    2.Permissive
    3.[root@svr5 ~]# setenforce 1 ????????????????????//设置SELinux为强制模式
    4.[root@svr5 ~]# getenforce????????????????????????//查看当前模式为强制模式
    5.Enforcing
    6.[root@svr5 ~]# setenforce 0 ????????????????????//设置SELinux为强制模式
    7.[root@svr5 ~]# getenforce????????????????????????//查看当前模式为警告模式
    8.Permissive
    步骤二:在SELinux启用状态下,调整策略打开vsftpd服务的匿名上传访问
    1)配置一个允许匿名上传的vsftpd服务作为测试环境
    1.[root@svr5 ~]# yum –y install vsftpd
    2... ..
    3.[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
    4.anonymous_enable=YES ????????????????????????????????//开启匿名访问
    5.write_enable=YES
    6.anon_upload_enable=YES ????????????????????????????//允许上传文件
    7.anon_mkdir_write_enable=YES ????????????????????????//允许上传目录
    8.[root@svr5 ~]# systemctl start vsftpd????????????????//启动服务

  9. 10.//默认Vsftpd共享目录为/var/ftp/
    步骤三:从/root目录下移动2个包文件到FTP下载目录,调整文件的安全上下文
    1)建立两个FTP下载用的测试文件
    由root用户创建两个测试压缩包,一个直接建立到/var/ftp/目录下,另一个先在/root/下建立,然后移动至/var/ftp/目录。
    1.//测试文件1,直接在ftp目录下创建文件
    2.[root@svr5 ~]# tar –czf /var/ftp/log1.tar /var/log
    3.[root@svr5 ~]# mv log1.tar /var/ftp/
    4.[root@svr5 ~]# ls -lh /var/ftp/
    5.-rw-r--r--. 1 root root 8M 8月 16 10:16 log1.tar
    6.[root@svr5 ~]# ls -Z /var/ftp/
    7.-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar

  10. 9.//测试文件2,在/root下建立,然后移动至/var/ftp目录
    10.[root@svr5 ~]# tar –czf log2.tar /var/log
    11.[root@svr5 ~]# mv log2.tar /var/ftp/
    12.[root@svr5 ~]# ls -lh /var/ftp/
    13.-rw-r--r--. 1 root root 8M 8月 16 10:16 log2.tar
    14.[root@svr5 ~]# ls -lZ /var/ftp/
    15.-rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0 log2.tar
    3)通过FTP方式测试下载
    使用wget命令分别下载这两个包文件,第二个包将会下载失败(看不到文件)。
    1.[root@svr5 ~]# wget ftp://192.168.4.5/log1.tar????????????//下载第一个文件,成功

  11. 3.[root@svr5 ~]# wget ftp://192.168.4.5/log2.tar????????????//下载第二个文件,失败
    4)检查该测试包的安全上下文,正确调整后再次下载第二个包成功。
    文件已经存放到共享目录下,但客户端无法访问下载,是因为被SELinux拦截了!
    1.[root@svr5 ~]# ls -lZ /var/ftp/
    2.-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log1.tar
    3.-rw-r--r--. 1 root root unconfined_u:object_r:admin_home_t:s0 log2.tar

  12. 5.[root@svr5 ~]# chcon -t public_content_t /var/ftp/d2.tar.gz
    6.[root@svr5 ~]# ls -Z /var/ftp/lo2.tar
    7.-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 log2.tar

  13. 9.[root@svr5 ~]# wget ftp://192.168.4.5/log2.tar????????????//再次下载,成功
    注意:上例中的chcon操作可替换为(效果相同):
    #restorecon /var/ftp/d2.tar.gz
    或者
    #chcon --reference=/var/ftp/d1.tar.gz /var/ftp/d2.tar.gz
    2)启用SELinux时验证FTP上传访问
    在targeted策略的布尔值设置中,默认禁止FTP匿名写入和完全访问:
    1.[root@client ~]# ls > test.txt
    2.[root@client ~]# ftp 192.168.4.5
    3... ..
    4.Name (192.168.4.7:root): ftp????????????????????//使用匿名账户ftp登陆
    5.331 Please specify the password.
    6.Password:????????????????????????????????????????//密码为空(回车即可)

  14. 8.ftp> cd pub????????????????????????????????????????????????//切换共享目录
    9.250 Directory successfully changed.
    10.ftp> put test.txt ????????????????????????????????????????//尝试上传测试文件
    11.local: test.txt remote: test.txt
    12.227 Entering Passive Mode (192,168,4,5,121,146).
    13.553 Could not create file. ????????????????????????????????//上传失败
    14.ftp> quit
    15.221 Goodbye.
    3)调整与FTP相关的SELinux布尔值,开放上传写入权限
    检查与allow_ftpd相关的SELinux布尔值,如果是off,则将其修改为on:
    1.[root@svr5 ~]# getsebool -a |grep allow_ftpd ????????????????//查看布尔值
    2.allow_ftpd_anon_write --> off
    3.allow_ftpd_full_access --> off
    4... .
    5.[root@svr5 ~]# setsebool -P allow_ftpd_anon_write=1 ????????//设置布尔值
    6.[root@svr5 ~]# setsebool -P allow_ftpd_full_access=1
    7.[root@svr5 ~]# getsebool -a |grep allow_ftpd ????????????????//确认修改结果
    8.allow_ftpd_anon_write --> on
    9.allow_ftpd_full_access --> on
    4)再次访问vsftpd服务,经测试发现匿名上传已经可用
    1.[root@client ~]# ftp 192.168.4.5
    2... ..
    3.Name (192.168.4.5:root): ftp
    4.331 Please specify the password.
    5.Password:

  15. 7.ftp> cd pub
    8.250 Directory successfully changed.
    9.ftp> put test.txt ????????????????????????????????????????//尝试上传测试文件
    10.226 Transfer complete. ????????????????????????????????????//上传成功
    11.237 bytes sent in 6.3e-05 secs (3761.90 Kbytes/sec)
    12.ftp> quit
    13.221 Goodbye

Linux基本防护措施

标签:and   nod   you   2-2   tar   ecs   air   config文件   次数   

原文地址:http://blog.51cto.com/13740508/2134464

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!