zoukankan      html  css  js  c++  java
  • Linux系统安全及应用

     

    1 系统账号清理

         (1)将非登录用户的shell设为/sbin/nologin

               方法一:usermod    -s

               方法二:chsh命令,交互式修改

               方法三:chsh  -s

               除了前三种还可以用vim编辑/etc/passwd文件进行修改

        示例:

       (2) 长期不使用的账号锁定,查看及解锁

      方法一:  passwd    -l        查看:   passwd  -S

      方法二:  usermod   -L         解锁:usermod  -U 和passwd  -u

    除了上述方法外还可以vim编辑/etc/shadow文件进行修改

    示例:

              

            

          (3) 加i锁和解i锁及查看(锁定后即使超级用户也不能修改该文件,既不能创建,删除,修改用户信息)

                锁定账号文件 /etc/passwd,/etc/shadow

                    1>锁定 :chattr +i /etc/passwd /etc/shadow(普通用户只能读)

                    2>解锁: chattr -i /etc/passwd /etc/shadow

                    3>查看:  lsattr /etc/passwd /etc/shadow

            a锁和上述一样 ,只是不能修改内容只能追加内容,也就是vim保存不了,只能echo输入

    2 密码安全控制

         (1)设置密码有效期

                1>修改某个已存在用户的密码有效期

                    chage   -M  天数   用户名

                    passwd  -x  天数   用户名

       示列

     (3)设置以后添加用户时的默认密码的有效期

              vim编辑/etc/login.defs

              修改PASS_MAX_DAY后面的值

      (4) 要求用户下次登录是修改密码

              1>方法:chage -d 0  用户名

      (5)命令历史限制

             1.减少历史的命令条数

                  1>方法一:vim编辑/etc/profie文件,修改“HISTSIZE=”后面的数值 。    (修改完后输入命令soure /etc/profie使/etc/profie配置文件生效,此时是全局生效)

                  2>方法二:export HISTSIZE=数值  (当前用户环境下生效)

      (6) 注销时自动清空历史命令

                1>方法:vim编辑宿主目录下的“.bash_logout”文件,添加“history -c”

      (7)终端自动注销

                 1> 方法一: vim编辑/etc/profile文件,添加“TMOUT=数值”

                 2>方法二:export TMOUT=数值

       (8)更改端口号

                在/etc/ssh/目录下

                 # vim sshd_config

                  在port 22处更改端口号(工作中一般将端口号设置为一万以上)

    3 切换用户  su 命令

           1.作用:切换用户

           2.格式    su  -(有‘-’初始化环境变量,无“-”环境变量不改变)

            su 安全日志文件:/var/log/secure

      sudo 命令

                     su命令的缺点:在使用su命令时,不指定用户名默认切换至root用户,需要经常输root用户密码,但实际生产中root密码是不可以被广泛告知的。如果需要执行root             用户才有权限的命令,需要通过sudo命令或wheel组的设置来实现。

     sudo的配置文件 /etc/sudoers

     sudo命令

    -l 列出用户在主机上可用的和被禁止的命令:当配置好sudo权限规则后,可用这个参数来查看授权情况

    -v 验证用户的时间戳,当用户运行sudo,输入用户的密码后,在短时间内可以不用输入口令直接进行sudo操作;用-v可以跟踪最新的时间戳

    -u指定以某个用户身份执行特定的命令操作,chensiqi ALL=(ALL) /bin/cp

    -k同-K,删除时间戳,下一个sudo命令要求提供密码,前提是该用户授权中不能有NOPASSWD参数。时间戳默认5分钟也会失效。

     配置sudo授权(激活sudo)

    方法一: visudo 或 vim /etc/sudoers 修改,只有root用户才能使用

    在root这一行下面,按照root的格式,对benet进行授权

    visudo授权配置中,ALL的表示:

    第一个ALL:IP地址 

    第二个ALL:主机别名

    第三个ALL:限制的命令

    visudo  -c    检查sudo配置文件是否有错误

    sudo 授权命令

    默认设置为首次执行时,需输入当前用户的登陆密码,5分钟内再次执行sudo命令式则无需再输入密码。

    设置IP地址权限

      visudo

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=       ALL 

     单独授权某个命令

    在第三个ALL上操作(绝对路径)

      visudo

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=       /sbin/fdisk

     此时,只有sudo fdisk这个命令可以使用(因为只有fdisk被授权)

     授权多个命令

    在第三个ALL上操作(绝对路径),用逗号“,”分隔。

        visudo 

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=       /sbin/fdisk,/bin/ls

     批量授权(存在优先级,先输入允许操作的命令(绝对路径),在输入不允许操作的命令(绝对路径))

    对benet用户授权/sbin/下所有目录,除了/sbin/reboot命令 

     visudo 

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=(ALL)       /sbin/*,! /sbin/reboot

    批量授权,排除多个命令权限,用“,! ”分隔

    若为! /sbin/fdisk /dev/sda 表示不允许/sbin/fdisk执行/dev/sda*

     让一个普通用户自己分区,但禁止该用户采取任何破坏系统的操作(将A盘进行分区会破坏系统)

    visudo 

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=(ALL)       /sbin/*,! /sbin/reboot,! /sbin/fdisk /dev/sda*

     不允许/sbin/fdisk 执行/dev/sda*,但由于授予/sbin/所有前线,则可以对其他盘进行分区

     对普通用户授权:只看日志 

     visudo 

    在“root     ALL=(ALL)      ALL”行下,输入

     benet        192.168.184.130=(ALL)       /bin/cat /var/log/messages*

    !!!但是“看”的命令不仅仅是cat,还有more、less、head、tail、tac、sed、awk等,需要将它们全部授权(绝对路径)。

    查看sudo操作记录

    先 visudo 添加“Defaults logfile=/var/log/sudo”,再# cat /var/log/sudo

  • 相关阅读:
    Matlab P文件——加快Matlab程序,保护你的算法
    电烙铁的使用
    CV、PR方向的资源
    遗传算法初接触
    Linux进程控制
    C语言编程优化运行速度
    用MATLAB优化工具箱解线性规划
    50、linux shell命令,netstat,traceroute
    51、linux shell命令,route,ifconfig
    56、vi常见用法,多窗口模式,标记,多文件编辑,快捷操作及设置
  • 原文地址:https://www.cnblogs.com/woshifanren/p/9855633.html
Copyright © 2011-2022 走看看