系统安全及应用

一、基本安全措施

系统账号清理

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

  方法一:usermod -s

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

  方法三:chsh -s

示例:有个用户xuexi

    方法一:usermod -s /sbin/nologin xuexi

      方法二:chsh xuexi

Changing shell for xuexi.

New shell [/bin/bash]: /sbin/nologin

Shell changed.

      方法三:chsh -s /sbin/nologin  xuexi

除了上述三种方式,也可以直接vi编辑/etc/passwd文件进行修改

2、锁定长期不使用的账号

  方法一:passwd -l (将在密文前增加2个“!”)解锁passwd -u 查看passwd -S

  方法二:usermod -L(将在密文前增加1个“!”)解锁usermod -U

示例:tail -5 /etc/shadow  看后5

     方法一:passwd -l xuexi 锁定

     方法二:usermod -L xuexi 锁定

注意:若用passwd -l命令对某账号进行锁定,若用usermod -U命令解锁,需要进行两次操作才行。

除了上述两种方法,也可以直接vi编辑/etc/shadow文件进行修改。

3、删除无用的账号:userdel -r 用户名

4、锁定账号文件/etc/passwd/etc/shadow

方法一:i锁(不能追加内容,不能修改)

锁定:chattr  +i /etc/passwd   /etc/shadow  

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

查看:lsattr  /etc/passwd    /etc/shadowetc

方法二:a锁(可以追加内容,不能修改)

锁定:chattr  +a/etc/passwd

解锁:chattr  -a/etc/passwd

注意:锁定后即使是超户,也不能修改该文件,即不能创建、删除、修改用户信息。

           只能超户解锁,非超级用户破解不了

密码安全控制

1、设置密码有效期

   修改密码有效期:chage -M 天数 用户名

                               Passwd -x 天数 用户名

2、设置今后添加用户时的默认密码有效期:

 方法:vi编辑/etc/login.defs文件,修改“PASS_MAX_DAYS”后面的数值

要求用户下次登录时修改密码:方法:chage -d 0 用户名

命令历史限制

1、减少历史的命令条数

方法一:vi编辑/etc/profile文件,修改“HISTSIZE=”后面的数值

方法二:export HISTSIZE=数值

注:/etc/profile  系统全局变量文件,所有和变量相关的我们都应该放在这里进入vim编辑

全局生效export(让一个变量全局生效)

2、注销时自动清空历史命令

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

清空历史记录:history  -c

终端自动注销

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

方法二:export TMOUT=数值

示例:方法一:vi编辑/etc/profile文件,添加“TMOUT=600

              source /etc/pofile(生效操作)

      方法二:export TMOUT=600  闲置600秒后自动注销

二、切换用户 su 命令

1、作用:切换用户

2、格式:su - 目标用户(有“-”初始化环境变量,无“-”环境变量不改变)

3、查看su操作记录,安全日志文件:/var/log/secure

三、提升权限sudo命令

作用:授权普通用户限定使用命令范围的权限

配置sudo授权

方法一:添加单个用户的sudo授权

通过visudo进入配置文件/etc/sudoers,添加内容(用vim进入配置文件是只读模式)

格式:用户  IP地址=主机名   命令(命令前加“!”表示“除了”此命令)

给普通用户单独开权限 xuexi  192.168.10.0/24 =    / sbin/fdisk

授权sbin下所有命令,但是不让使reboot命令:

给普通用户:xuexi   192.168.10.0/24 =       /sbin/*,!  /sbin/reboot

让普通用户自己分区,禁止他任何能破坏系统的操作

 xuexi  192.168.10.0/ 24 =     /sbin/*,! /sbin/reboot,!  /sbin/fdisk  /dev/sda*

指定普通用户看日志xuexi  192.168.10.0/ 24=  /bin/cat  /var/log/messages*,

/usr/bin/head  /var/log/messages*,/usr/bin/tail  /var/log/messages*,

/usr/bin/nl  /var/log/messages*,/usr/bin/less  /var/log/messages*,

/bin/more  /var/log/messages*,/usr/bin/tac  /var/log/messages*

普通用户 xuexi   192.168.10.0/ 24 =   /sbin/service sshd reload(允许sshd重启)

不退出不立即生效 ,先写允许,在写拒绝

普通用户输入sudo -l 查看有没有特殊权限(输入普通用户密码)

方法二:批量授权(根据实际需求,设置别名)

设置别名后,添加格式:用户别名  主机别名=命令别名(所有别名均大写)

查看sudo操作记录

方法:第一步:visudo添加“Defaults logfile=/var/log/sudo

          第二步:cat/var/log/sudo

查询授权操作   sudo  -l  

普通用户输入sudo -l 查看有没有特殊权限(输入普通用户密码)

原文地址:https://www.cnblogs.com/wangna123/p/9852544.html