Linux-sudo权限

Linux的安全

  • 1.设置账户的属性到期时间
  • 2.锁定帐号,解除锁定
  • 3.修改TTY终端
  • 4.锁定文件/etc/resolv.conf、/etc/hosts,以防止其内容被无意中修改

chage命令的语法格式

chage  -l    账户名称                   #查看账户信息
chage  -E 时间   账户名称         #修改账户有效期

失效的用户将无法登录

useradd ddy123
chage -E 2018-4-13 ddy123           #修改失效日期
chage -l ddy123

/etc/login.defs这个配置文件,决定了当前的帐号有效时间

cat /etc/login.defs
    PASS_MAX_DAYS    99999              #密码最长有效期
    PASS_MIN_DAYS    0                       #密码最短有效期
    PASS_MIN_LEN    5                         #密码最短长度
    PASS_WARN_AGE    7                     #密码过期前几天提示警告信息
    UID_MIN                  1000                  #UID最小值
    UID_MAX                 60000                #UID最大值

临时锁定用户的账户

对zhangsan这个用户禁止登入

useradd -s /bin/bash zhangsan
passwd -S/-l/-u 用户名         #密码使用 SHA512 加密

修改tty登录的提示信息隐藏系统版本

  • 当我们登入linux操作终端时候,会显示当前的登入信息(包括系统内核信息)
  • /etc/issue为保存登入的信息的,修改该文件防止内核信息泄露。

配置过程

cat /etc/issue                  #确认原始文件
Red Hat Enterprise Linux Server release 6.5 (Santiago)          #编辑修改的文件设置登入显示的内容
Kernel \r on an \m
修改以下就可以例如:
Windows Server 2012 Enterprise R2

锁定文件/etc/resolv.conf、/etc/hosts

chattr +i  文件名                  #锁定文件(无法修改、删除等)
 chattr -i  文件名                 #解锁文件
chattr +a  文件名                  #锁定后文件仅可追加
chattr -a  文件名                  #解锁文件
clsattr 文件名                      #查看文件特殊属性

权限+i锁定文件,使用lsattr查看属性

chattr +i /etc/resolv.conf /etc/hosts
lsattr /etc/resolv.conf /etc/hosts

使用sudo分配管理权限

  • 使用su命令临时切换账户身份,并执行命令
  • 允许softadm管理系统服务的权限
  • 允许用户useradm通过sudo方式添加/删除/修改除root以外的用户账号
  • 允许wheel组成员以特权执行/usr/bin/下的命令
  • 为sudo机制启用日志记录,以便跟踪sudo执行操作

使用su命令临时切换账户身份,并以root执行命令

su - [用户名]
su - student
whoami          #我是谁
su -                  #默认root

允许普通用户管理系统服务的权限

  • 修改/etc/sudoers配置
  • 为softadm授予相关脚本的执行权限,允许通过systemctl工具来管理系统服务。

配置过程

useradd ddy456
 vim /etc/sudoers           #该文件只读权限必须root用户强制保存才行、
    92 ddy456 ALL=(ALL) /usr/bin/systemctl      #添加权限ddy456用户可以管理系统服务

给单个用户能有修改其他人密码的权力

指定命令的路径 指令的含义
/usr/bin/passwd 拥有修改其他人的密码权限
!/usr/bin/passwd root 不管权限多大都不允许修改root
/usr/bin/user* 用有关于user所有命令的权限,*通配符
! /usr/bin/user* * root #所有关于useradd/userdel/usermod的命令对root都无法执行
useradd aaa
vim /etc/sudoers
    92 aaa ALL=(ALL)    /usr/bin/passwd,!/usr/bin/passwd root,/usr/bin/user*,! /usr/bin/user* * root
su - aaa
sudo passwd ddy456
sudo usermod -s /sbin/nologin ddy123

允许某些组成员以特权执行/bin/下的所有命令

vim /etc/sudoers
    101 %wheel ALL=(ALL) /bin/*
usermod -a -G wheel 用户名         #给与该用户能够运行/bin/下的所有命令

sudo机制启用日志记录,以便跟踪sudo执行操作

1.修改/etc/sudoers配置,添加日志设置

vim /etc/sudoers
    Defaults  logfile="/var/log/sudo"           #sudo日志的存放位置

2.操作查看日志内容

su - aaa
sudo passwd ddy123
exit

3.查看sudo的日志内容

cat /var/log/sudo

发表评论