系统安全与应用【上】

news2024/12/25 10:05:59

文章目录

  • 1.账号安全控制
    • 1.1 系统账号清理
    • 1.2 密码安全控制
    • 1.3 命令历史限制
    • 1.4 终端自动注销
  • 2.系统引导和登录控制
    • 2.1 使用su命令切换用户
    • 2.2 限制使用su命令的用户
  • 3.可插拔式认证模块PAM
    • 3.1 linux中的PAM安全认证
    • 3.2 PAM认证原理
    • 3.3 PAM认证的构成
    • 3.4 PAM安全认证流程
    • 3.5 使用sudo机制提升权限
    • 3.6 查看sudo操作记录

1.账号安全控制

1.1 系统账号清理

系统账号清理

在这里插入图片描述

chattr + i [文件名]:锁定指定文件;

[root@clr ~]# chattr +i /etc/passwd /etc/shadow  #锁定这两个文件/etc/passwd /etc/shadow
[root@clr ~]# lsattr /etc/passwd #查看指定文件/etc/passwd的状态,是否被锁定
----i----------- /etc/passwd #----i-----------表示该文件被锁定
[root@clr ~]# ll /etc/passwd 
-rw-r--r--. 1 root root 2298 412 14:38 /etc/passwd  #查看可得所属主用户root具有编辑权限
[root@clr ~]# echo 1111 >> /etc/passwd  #尝试编辑/etc/passwd文件
-bash: /etc/passwd: 权限不够  #/etc/passwd /etc/shadow 这两个文件被锁定,将无法再修改编辑,例如修改用户密码、删除和添加用户都不允许,包括超级用户root

[root@clr ~]# useradd lisi  #/etc/passwd /etc/shadow 这两个文件被锁定,无法增加新用户
useradd:无法打开 /etc/passwd
[root@clr ~]# echo 123123 | passwd --stdin clr  #/etc/passwd /etc/shadow 这两个文件被锁定,无法修改用户密码
更改用户 clr 的密码 。
passwd: 鉴定令牌操作错误
[root@clr ~]# userdel clr  #/etc/passwd /etc/shadow 这两个文件被锁定,无法删除已有用户
userdel:无法打开 /etc/passwd

chattr - i [文件名]:解锁指定文件;

[root@clr ~]# chattr -i /etc/passwd /etc/shadow  #解锁指定文件
[root@clr ~]# lsattr /etc/passwd  #查看指定文件/etc/passwd的状态,是否被锁定
---------------- /etc/passwd  #----------------表示该文件未被锁定
[root@clr ~]# useradd lisi #添加用户
[root@clr ~]# userdel lisi #删除用户
[root@clr ~]# echo 123123 | passwd --stdin clr  #修改用户密码
更改用户 clr 的密码 。
passwd:所有的身份验证令牌已经成功更新。  #解锁这两个文件/etc/passwd /etc/shadow之后,可以删除、添加和修改用户密码

[root@clr ~]# which chattr  #查看命令chattr在系统中的位置
/usr/bin/chattr   

md5sum [文件名]:查看指定用户的校验和(作用:判断一个文件的数据是否被修改);

[root@clr ~]# cat /etc/passwd | wc -l  #统计系统中用户数量
44
[root@clr ~]# md5sum /etc/passwd
af6103b25d3d02c19014b675b93e1fb6  /etc/passwd #/etc/passwd文件的af6103b25d3d02c19014b675b93e1fb6校验和

[root@clr ~]# useradd zhangsan  #添加用户,会导致/etc/passwd文件被修改
[root@clr ~]# md5sum /etc/passwd
ea46a9545295017f2676c1489bbf1013  /etc/passwd  #/etc/passwd文件此时的ea46a9545295017f2676c1489bbf1013校验和,与之前不同,说明该文件已经被修改过
[root@clr ~]# md5sum /etc/shadow
09147db1291f537b3963350393f02345  /etc/shadow
[root@clr ~]# echo 123123 | passwd --stdin zhangsan  #修改用户密码会更改/etc/shadow这个文件
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@clr ~]# md5sum /etc/shadow  #查看此时/etc/shadow文件的校验码已经发生改变
d1e9f8e24fb741fee5f6bfa9d6e11c3c  /etc/shadow

[root@clr ~]# md5sum /etc/shadow >> ./data.txt  #将指定文件的md5sum校验和重定向写入到当前目录下的data.txt文件中
[root@clr ~]# ls  
anaconda-ks.cfg  initial-setup-ks.cfg  公共  视频  文档  音乐
data.txt         nohup.out             模板  图片  下载  桌面

[root@clr ~]# cat data.txt   #查看data.txt目录中是否有新增加/etc/shadow的校验和文件
d1e9f8e24fb741fee5f6bfa9d6e11c3c  /etc/shadow

注意:一个文件无法被写入或修改的可能原因:用户权限不够,不具有对该文件的修改权限;该文件被锁定,无法修改编辑lsattr [文件名]:查看该文件是否被锁定

1.2 密码安全控制

在这里插入图片描述

/etc/login.defs文件:查看用户账号的基本属性;

[root@clr ~]# vim /etc/login.defs
#
#PASS_MAX_DAYS   99999    #密码的最长有效天数,99999代表无限期,只针对新建用户有效,对于系统中已经存在的用户是无效的
PASS_MAX_DAYS   30       #修改密码有效期为30天
PASS_MIN_DAYS   0        #密码的最短有效天数
PASS_MIN_LEN    5        #密码的最短长度
PASS_WARN_AGE   7        #报警日期

# Min/max values for automatic uid selection in useradd
#
UID_MIN                  1000    #普通用户的UID号
UID_MAX                 60000

[root@clr ~]# useradd xiaogao  #修改/etc/login.defs文件,将密码有效期更改
为30天,添加新用户 
[root@clr ~]# vim /etc/shadow   #查看新用户的密码有效期

ftp:*:18353:0:99999:7:::
zhangsan:$6$.9TkGSqf$hw4Un3tB6VU.tl4QT1Uoau5p.ZYPq9VXCX5D5gsaTZgHfbsyN6JInrE8ZX4U38yccuGY2kF2n1P2yJBMimdar.:19459:0:99999:7:::
xiaogao:!!:19459:0:30:7:::   #可以看到新创建的用户xiaogou的密码有效期为30天

chage -M [密码有效期天数] [系统中已存在的用户名]:修改系统中已经存在用户的密码有效期;

[root@clr ~]# chage -M 50 xiaozhang  #修改系统中已经存在用户xiaozhang的密码有效期为50天;

[root@clr ~]# vim /etc/shadow #查看用户密码文件
nobody:*:18353:0:99999:7:::
xiaogao:!!:19459:0:30:7:::
xiaozhang:!!:19459:0:50:7::19459:  #可以查看到已将用户xiaozhang的密码有效期更改为50天

chage -d 0 [用户名]:强制指定用户在下次登录时修改密码;

[root@clr ~]# echo 123 | passwd --stdin zhangsan  #修改zhangsan用户的登录密码为123
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@clr ~]# chage -d 0 zhangsan  #强制指定用户zhangsan在下次登录时修改密码
[root@clr ~]# vim /etc/shadow

lisi:!!:19459:0:99999:7:::
zhangsan:$6$onQc494r$hLmUnQ1CFU9E8kJ5JjpDA9rmUUT5jo8vFpi/85yoQuL1jvvdylnoWIZyMnxFGk1sPcKKJEHL9TDHSR7J3SAsf0:0:0:99999:7:::  #可以查看到第三字段为0,表示zhangsan用户在下次登录系统时需要修改密码

在这里插入图片描述

1.3 命令历史限制

在这里插入图片描述

export HISTSIZE:export全局变量,实现在所有的shell环境中都有效,保留指定要求的历史命令条数;

[root@clr ~]# vim /etc/profile  #修改/etc/profile 文件,设置export HISTSIZE参数,更改保留历史命令条数;

# /etc/profile

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge
export HISTSIZE=10     #export实现全局变量在所有的shell环境中都有效,修改HISTSIZE的参数为20,表示历史命令只保留20条

[root@clr ~]# source /etc/profile  #source命令用于在当前shell环境中重新加载/etc/profile文件
[root@clr ~]# history   #只剩下修改后的10条历史命令
  141  chage -d 0 zhangsan
  142  vim /etc/shadow
  143  echo 123 | passwd --stdin zhangsan
  144  chage -d 0 zhangsan
  145  history
  146  vim /etc/profile
  147  source /etc/profile
  148  vim /etc/profile
  149  source /etc/profile
  150  history

history -c:临时清空历史命令,系统重启之后历史命令会依然保留;

[root@clr ~]# history -c  #临时清空历史命令
[root@clr ~]# history
  132  history
[root@clr ~]# reboot  #重启系统
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(CentOS 7-2) at 18:51:50.

Type `help' to learn how to use Xshell prompt.

[root@clr ~]# ls -A  
.abc.txt.swp     .bash_logout   .cache   data.txt   .ICEauthority         nohup.out  .Xauthority  视频  下载
anaconda-ks.cfg  .bash_profile  .config  .dbus      initial-setup-ks.cfg  .tcshrc    公共         图片  音乐
.bash_history #历史命令保留在该文件中    .bashrc        .cshrc   .esd_auth  .local                .viminfo   模板         文档  桌面

[root@clr ~]# vim .bash_history   #所有历史命令都保存在.bash_history文件中

atrm 3
atq
which grub.cfg
crontab -e
crontab -l
crontab -l
crontab -e
vim /etc/crontab
history
reboot
~                                                                                                                                 
".bash_history" 20L, 311C              

echo ’ ’ > ~/.bash_history:实现开机登录,自动清空历史命令;

[root@clr ~]# vim /etc/profile   #修改/etc/profile 文件,设置export HISTSIZE参数,更改保留历史命令条数,或者直接将~/.bash_history;

# /etc/profile

unset i
unset -f pathmunge
export HISTSIZE=20
echo '' > ~/.bash_history   #实现将~/.bash_history文件清空

[root@clr ~]# reboot #重启系统
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(CentOS 7-2) at 19:09:07.

Type `help' to learn how to use Xshell prompt.

[root@clr ~]# vim .bash_history   #.bash_history文件中历史命令已清除
[root@clr ~]# history
    1  vim .bash_history
    2  history

修改/etc/bashrc文件:实现开机登录,自动清空历史命令;

[root@clr ~]# vim /etc/bashrc

# vim:ts=4:sw=4
PS1="\[\e[1;35m\][\[\e[1;34m\]\u\[\e[1;36m\]@\[\e[1;34m\]\h \[\e[1;31m\]\w\[\e[1;35m\]]\[\e[1;36m\]\\$\[\e[0m\] "
history -c  #将history -c放置在history -c文件中,实现在开机自启或者切换shell环境时,都自动清除历史命令

在这里插入图片描述

1.4 终端自动注销

在这里插入图片描述

export TMOUT=[指定时间]:修改该参数,设置闲置指定时间后,终端自动注销,默认为0,表示终端永不注销;

[root@clr ~]# vim /etc/profile

echo '' > ~/.bash_history
export TMOUT=60    #修改该参数,设置闲置1分钟后,终端自动注销,默认为0,表示永不注销  
[root@clr ~]# source /etc/profile

2.系统引导和登录控制

2.1 使用su命令切换用户

在这里插入图片描述

su - 用户名:切换并加载目标用户的家目录和shell环境;

[root@clr ~]# cd /opt/  #切换到/opt/目录下
[root@clr /opt]# su zhangsan
[zhangsan@clr /opt]$ exit  #虽然此时登录的是zhangsan用户,但仍然还是处于/opt/目录下
exit
[root@clr /opt]# su - zhangsan
上一次登录:三 412 20:39:09 CST 2023pts/0 上
[zhangsan@clr ~]$ ls -A  #已经切换到zhangsan用户的家目录中
.bash_history  .bash_profile  .cache   .dbus      .ICEauthority  .mozilla  模板  图片  下载  桌面
.bash_logout   .bashrc #zhangsan用户加载的.bashrc文件       .config  .esd_auth  .local         公共      视频  文档  音乐
[root@clr ~]# su zhangsan  #超级用户root切换到普通用户zhangsan,不需要密码
[zhangsan@clr /root]$ su root  #普通用户zhangsan切换到root用户,需要密码
密码:

su: 鉴定故障
[zhangsan@clr /root]$ su lisi   #普通用户zhangsan切换到普通用户lisi,也需要密码
密码:
[lisi@clr /root]$ whoami  #查看当前登录用户
lisi

2.2 限制使用su命令的用户

在这里插入图片描述

gpasswd -a [用户名] wheel:将指定用户加入到wheel组中;

[root@clr ~]# vim /etc/group  #查看系统中已有的组名以及组账号
root:x:0:
mem:x:8:
kmem:x:9:
wheel:x:10:  #wheel组
cdrom:x:11:

[root@clr ~]# gpasswd -a xiaozhang wheel   #将xiaozhang用户加入到wheel组中
正在将用户“xiaozhang”加入到“wheel”组中
[root@clr ~]# id xiaozhang
uid=1005(xiaozhang) gid=1005(xiaozhang)=1005(xiaozhang),10(wheel)

[root@clr ~]# vim /etc/pam.d/su
  1 #%PAM-1.0
  2 auth            sufficient      pam_rootok.so  #代表root用户可以免密切换
  3 # Uncomment the following line to implicitly trust users in the "wheel" group.
  4 #auth           sufficient      pam_wheel.so trust use_uid
  5 # Uncomment the following line to require a user to be in the "wheel" group.
  6 auth           required        pam_wheel.so use_uid #代表加入wheel组的用户才可以认证登录,切换到其他用户
  7 auth            substack        system-auth
 
[root@clr ~]# su zhangsan  #root用户可以免密切换到其他任意用户
[zhangsan@clr /root]$ su root  #没有加入到wheel组的普通用户没有切换到root用户的权限
密码:
su: 拒绝权限
[zhangsan@clr /root]$ su lisi  #没有加入到wheel组的普通用户没有切换到其他用户的权限
密码:
su: 拒绝权限
[zhangsan@clr /root]$ exit
exit
[root@clr ~]# su xiaozhang  
[xiaozhang@clr /root]$ su zhangsan  #加入到wheel组的xiaozhang用户可以切换到普通用户zhangsan
密码:
[zhangsan@clr /root]$ exit
exit
[xiaozhang@clr /root]$ su root  #加入到wheel组的xiaozhang用户可以切换到超级用户root
密码:

在这里插入图片描述

如上图所示:第2行开启,第6行注释时,这种状态下是允许所有用户间使用su命令进行切换,但root使用su切换普通用户不需要输入密码。

在这里插入图片描述

如上图所示第2行和第6行都开启,表示只有root用户和wheel组内的用户才可以使用su命令

在这里插入图片描述

如上图所示:第2行注释,第6行都开启时,表示只有wheel组内的用户才能使用su命令,root用户也被禁用su命令。

在这里插入图片描述

如上图所示:**第2行和第6行都注释时,表示所有用户都能使用su命令,但root下使用su切换到其他普通用户也需要输入密码。**

在这里插入图片描述

3.可插拔式认证模块PAM

3.1 linux中的PAM安全认证

在这里插入图片描述

3.2 PAM认证原理

在这里插入图片描述

/etc/pam.d:PAM配置文件;

[root@clr ~]# ls /etc/pam.d  #查看相关服务的PAM配置文件
atd               fingerprint-auth-ac     ksu               pluto         runuser-l          sssd-shadowutils  systemd-user
chfn              gdm-autologin           liveinst          polkit-1      setup              su                vlock
chsh              gdm-fingerprint         login             postlogin     smartcard-auth     sudo              vmtoolsd
config-util       gdm-launch-environment  other             postlogin-ac  smartcard-auth-ac  sudo-i            xserver
crond             gdm-password            passwd            ppp           smtp               su-l
cups              gdm-pin                 password-auth     remote        smtp.postfix       system-auth
fingerprint-auth  gdm-smartcard           password-auth-ac  runuser       sshd               system-auth-ac

lib64/security:调用认证文件进行安全认证;

[root@clr ~]# cd /lib64/security #调用认证文件进行安全认证
[root@clr /lib64/security]# ll
总用量 1232
-rwxr-xr-x. 1 root root  19680 41 2020 pam_access.so
-rwxr-xr-x. 1 root root  11184 41 2020 pam_cap.so
-rwxr-xr-x. 1 root root  11192 41 2020 pam_chroot.so

3.3 PAM认证的构成

在这里插入图片描述
在这里插入图片描述

3.4 PAM安全认证流程

在这里插入图片描述

3.5 使用sudo机制提升权限

在这里插入图片描述
在这里插入图片描述

用户名 ALL=(root) /usr/sbin/ifconfig #赋予普通用户以root身份添加网卡IP地址的权限;

[root@clr ~]# su - zhangsan  #切换到普通用户zhangsan
上一次登录:三 412 22:05:21 CST 2023pts/0 
[zhangsan@clr ~]$ ifconfig ens33:0 192.168.80.120/24  #普通用户zhangsan给网卡添加IP地址,由于添加网卡属于超级管理员的操作,因此普通用户无法操作
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
SIOCSIFNETMASK: 不允许的操作
[zhangsan@clr ~]$ sudo ifconfig ens33:0 192.168.80.120/24 #添加sudo命令后,仍然无法添加网卡地址

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。
[sudo] zhangsan 的密码:
zhangsan 不在 sudoers 文件中。此事将被报告。
[zhangsan@clr ~]$ exit
登出
您在 /var/spool/mail/root 中有新邮件

[root@clr ~]# vim /etc/sudoers  #修改/etc/sudoers配置文件
root    ALL=(ALL)       ALL
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL  #wheel组成员操作权限,效果类似于超级用户

## Allows members of the users group to mount and unmount the 
## cdrom as root
%users  localhost=/sbin/shutdown -h now    #赋予users组成员在本地主机立即关机的权限
zhangsan ALL=(root) /usr/sbin/ifconfig  #赋予普通用户zhangsan以root身份添加网卡IP地址的权限
lisi ALL=!/bin/rm   #禁止普通用户lisi删除的权限

[zhangsan@clr ~]$ exit
登出
[zhangsan@clr ~]$ sudo ifconfig ens33:0 192.168.80.120/24   #普通用户zhangsan添加网卡IP地址
[sudo] zhangsan 的密码:
[zhangsan@clr ~]$ ifconfig

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.120  netmask 255.255.255.0  broadcast 192.168.80.255
        ether 00:0c:29:e6:e0:8a  txqueuelen 1000  (Ethernet)

[lisi@clr ~]$ cd /opt/
[lisi@clr /opt]$ rm -f clr.txt  #普通用户lisi不具有删除系统中原有文件的权限,但对于Lisi自己创建的文件可以删除
rm: 无法删除"clr.txt": 权限不够

[lisi@clr /opt]$ sudo rm -f clr.txt
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。
[sudo] lisi 的密码:
对不起,用户 lisi 无权以 root 的身份在 clr 上执行 /bin/rm -f clr.txt。  #显示lisi用户无权以root身份执行删除命令

GZY ALL = NOPASSWD: ADMIN:赋予别名GZY内的所有用户在所有主机上以root身份执行ADMIN程序内的所有命令权限,并且不需要使用密码;

[root@clr ~]# vim /etc/sudoers
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL   #赋予wheel组成员在所有主机上对所有命令的权限,效果类似于超级用户root
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)

#includedir /etc/sudoers.d
zhangsan ALL=(root) /usr/sbin/ifconfig    #赋予普通用户zhangsan,以root身份给网卡添加IP地址的权限
lisi ALL=!/bin/rm   #禁止lisi用户删除文件的权限
User_Alias GZY=zhangsan,lisi   #给zhangsan,lisi这两个用户设置别名GZY
Cmnd_Alias ADMIN=/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/sbin/shutdown
#给指定程序命令设置别名ADMIN,(赋予超级管理员用户的所有权限,重启系统、立即关机命令除外)
GZY ALL = NOPASSWD: ADMIN   #赋予别名GZY内的所有用户在所有主机上以root身份执行ADMIN程序内的所有命令权限,并且不需要使用密码

[root@clr ~]# su - zhangsan
上一次登录:三 412 23:44:03 CST 2023pts/0 上
[zhangsan@clr ~]$ which route
/usr/sbin/route
[zhangsan@clr ~]$ sudo route add -net 10.0.0.0/24 gw 192.168.80.20 dev ens33  #此时普通用户zhangsan可以使用超级用户root添加路由的权限
[zhangsan@clr ~]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.80.2    0.0.0.0         UG    100    0        0 ens35
0.0.0.0         192.168.80.2    0.0.0.0         UG    101    0        0 ens33
10.0.0.0        192.168.80.20   255.255.255.0   UG    0      0        0 ens33   #新添加的路由信息

[zhangsan@clr ~]$ sudo reboot  #禁止zhangsan用户的重启操作
对不起,用户 zhangsan 无权以 root 的身份在 clr 上执行 /sbin/reboot。
[zhangsan@clr ~]$ exit
登出
[root@clr ~]# su - lisi
上一次登录:三 412 23:48:56 CST 2023pts/0 上
[lisi@clr ~]$ sudo ifconfig ens33:1 192.168.80.34  #此时普通用户lisi可以使用超级用户root添加网卡IP地址的权限
[lisi@clr ~]$ ifconfig
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.80.34  netmask 255.255.255.0  broadcast 192.168.80.255
        ether 00:0c:29:e6:e0:8a  txqueuelen 1000  (Ethernet)

[lisi@clr ~]$ sudo init 6   #禁止普通用户lisi重启系统的权限
对不起,用户 lisi 无权以 root 的身份在 clr 上执行 /sbin/init 6

sudo -l:查看当前登录用户获得那些sudo授权;

[lisi@clr ~]$ sudo -l  #查看当前用户lisi获得那些sudo授权
匹配 %2$s 上 %1$s 的默认条目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME
    HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 lisi 可以在 clr 上运行以下命令:
    (root) !/bin/rm
    (root) NOPASSWD: /sbin/*, !/usr/sbin/reboot, !/usr/sbin/poweroff, !/usr/sbin/init, !/usr/sbin/shutdown

3.6 查看sudo操作记录

在这里插入图片描述

Defaults logfile = “/var/log/sudo” :保存日志文件,可以查看到所有用户登录系统的操作;

[root@clr ~]# vim /etc/sudoers

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
zhangsan ALL=(root) /usr/sbin/ifconfig
lisi ALL=!/bin/rm
User_Alias GZY=zhangsan,lisi
Cmnd_Alias ADMIN=/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/sbin/shutdown
GZY ALL = NOPASSWD: ADMIN

Defaults logfile = "/var/log/sudo"  #保存日志文件

[root@clr ~]# cd /var/log/
[root@clr /var/log]# vim sudo
Apr 13 00:09:36 : zhangsan : command not allowed ; TTY=pts/0 ; PWD=/root ;
    USER=root ; COMMAND=/sbin/reboot   #zhangsan用户不被允许的操作
Apr 13 00:09:51 : zhangsan : TTY=pts/0 ; PWD=/root ; USER=root ;
    COMMAND=/sbin/route add -net 10.0.0.1/24 gw 192.168.80.20 dev ens33  #zhangsan用户添加路由的操作
Apr 13 00:10:12 : lisi : command not allowed ; TTY=pts/0 ; PWD=/home/lisi ;  #用户lisi不被允许的操作
    USER=root ; COMMAND=/sbin/reboot                                                          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(八)【软件设计师】计算机系统—浮点数

浮点数 浮点数。当机器字长为n时&#xff0c;定点数的补码和移码可表示2的n方个数&#xff0c;而其原码和反码只能表示2"-1个数&#xff08;0的表示占用了两个编码)&#xff0c;因此&#xff0c;定点数所能表示的数值范围比较小&#xff0c;在运算中很容易因结果超出范围而…

实力爆表,日日新成为AI领航者

目录正式发布自建算力SenseChat编程能力图像生成后言上周五&#xff0c;阿里发布大模型通义千问&#xff0c;正式开始邀请内测。本周一&#xff0c;人工智能巨头商汤科技正式发布“日日新”大模型体系&#xff0c;全面丰富的产品体系&#xff0c;多个功能表现超预期&#xff0c…

MobTech MobPush|不同手机厂商推送问题

配置了华为厂商推送&#xff0c;为什么有的华为设备无法接收离线消息 首先&#xff0c;排查配置的华为厂商参数是否正确&#xff1b; 其次&#xff0c;检查华为设备EMUI版本&#xff0c;低于5.0可能不支持&#xff0c;如果低于5.0&#xff0c;可以尝试升级设备里的‘华为移动服…

Google代码覆盖率最佳实践

软件质量保障: 所寫即所思&#xff5c;一个阿里质量人对测试的所感所悟。谷歌一直倡导的领域之一是使用代码覆盖率数据评估风险并识别测试中的真空。然而&#xff0c;代码覆盖率的价值一直是个争议的话题。每次聊到代码覆盖率时&#xff0c;似乎都会引发无尽的争论。由于大家固…

微信小程序开发 | 小程序开发框架

小程序开发框架7.1 小程序模块化开发7.1.1 模块7.1.2 模板7.1.3 自定义组件7.1.4插件7.2 小程序基础样式库—WeUI7.2.1 初识WeUI7.2.2【案例】电影信息展示7.3 使用vue.js开发小程序7.3.1 初识mpvue7.3.2 开发工具7.3.3 项目结构7.3.4【案例】计数器7.4 小程序组件化开发框架7.…

Ztree树状的处理

1.用一个div进行包裹ztree结构&#xff0c;引用相关的js代码和css样式&#xff0c;这里用的样式是awesome.css 所引用的js文件&#xff0c;css文件可以在网上下载&#xff08;这里所用到的jquery-ztree文件放在网盘了&#xff09; <ul id"tree" class"ztre…

企业即时通讯软件开发基本功能有哪些?

即时通讯是基于互联网技术的新型交流沟通方式&#xff0c;是目前最流行的通讯方式&#xff0c;广泛的应用市场使得各种各样的即时通讯软件系统也层出不穷&#xff0c;企业即时通讯就是其中的一种延伸。是一种面向企业终端使用者的网络营销、网络沟通和内容管理的工具服务&#…

mysql基础安装以及问题

mysql 基础安装以及问题安装MySQL8.0的安装&#xff1a;MySQL5.7 版本的安装、配置卸载服务的启动与停止图形化工具推荐安装 官网&#xff1a;https://www.mysql.com MySQL8.0的安装&#xff1a; 这里是写你直接要安装的目录&#xff1a; 之后配置mysql8.0 注意&#x…

不会注册ChatGPT?4个国内网站让你尽情体验

最近火出圈的科技新词非“ChatGPT”莫属了。 但是由于ChatGPT注册起来比较困难&#xff0c;我到现在都还学不会如何注册.... 但是&#xff01;世上无难事&#xff01;只要有心人&#xff01; 我千辛万苦终于找到几个ChatGPT平替的网站了。 AI中文智能对话 地址&#xff1a;…

目标检测入门:发展历史

预备知识 分类classification 输出:物体的类别 评估方法:准确率 定位location 输出:方框在图片中的位置(x,y,w,h) 评估方法:交并比IOU 定位的解决思路: 思路一:看做回归问题 看做回归问题,我们需要预测出(x,y,w,h)四个参数的值,从而得出方框的位置 成为class…

数字证书的相关专业名词(下)---OCSP及其java中的应用

一、前言 上篇文章我们了解了根证书和校验证书有效性中的一个比较重要的渠道–CRL&#xff0c;但是CRL有着时间延迟&#xff0c;网络带宽消耗等缺点&#xff0c;本篇文章我们了解另一种更高效也是目前被广泛应用的校验证书有效性的另一种方式–OCSP&#xff0c;并且我会结合ja…

4年测试工程师经历,下一步转开发还是继续测试?

​测试四年&#xff0c;没有积累编程脚本能力和自动化经验&#xff0c;找工作时都要求语言能力&#xff0c;自动化框架。感觉开发同事积累的经历容易找工作。下一步&#xff0c;想办法转开发岗还是继续测试&#xff1f;&#xff1f;&#xff1f;正常情况下&#xff0c;有了四年…

matlab图像处理系列:图片圈数识别+编号标记位置

matlab图像处理系列&#xff1a;图片圈数识别编号标记位置一、app界面介绍二、实现过程step1图像二值化step2 图像close 做差step3 像素阈值处理step4 清除小区域step5 识别联通区域 并在原图上标记三、项目分享一、app界面介绍 读取图片按钮&#xff1a;使用ui交互工具&#x…

单词管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/87682568 更多系统资源库…

Prometheus - Grafana 监控 MysqlD Linux服务器 详细版

readme 其实上一篇文章已经把如何操作&#xff0c;基本上是写全了&#xff08;因为是从本文精炼出来的&#xff09;本文可能更多的是补充一些关于 Prometheus 和 Grafana 的理论 &#xff0c;关系等。 操作 标签&#xff1a;是必看&#xff0c;要操作的。 非必要看 标签&…

DP7416国产192K数字音频接收芯片兼容替代CS8416

目录192K 数字音频应用DP7416简介芯片特性192K 数字音频应用 采样率192khz&#xff0c;能将192,000hz以下的频率都录下来&#xff0c;而且对声波每秒连续采样192,000次。在回放的时候&#xff0c;这192,000个采样点按顺序播放&#xff0c;从而还原原来的声音。   过采样技术除…

微信小程序开发 | 综合项目-点餐系统

综合项目-点餐系统8.1 开发前准备8.1.1 项目展示8.1.2 项目分析8.1.3 项目初始化8.1.4 封装网络请求8.2 【任务1】商家首页8.2.1 任务分析8.2.2 焦点图切换8.2.3 中间区域单击跳转到菜单列表8.2.4 底部商品展示8.3 【任务2】菜单列表8.3.1 任务分析8.3.2 折扣信息区8.3.3 设计菜…

关系数据库及其设计

目录 一、关系数据库 二、关系数据库设计 1、需求分析 2&#xff0e;概念结构设计 3&#xff0e;逻辑结构设计 4&#xff0e;数据库表的优化与规范化 5、规范化的大学数据库 6、数据库中表间关系 三、关系数据库的完整性 1&#xff0e;实体完整性约束&#xff08;PRI…

51电动车报警器.md

1.项目接线 接线示意图和实物图 示意图&#xff1a; 实物图&#xff1a; 信号传输路线 路线1&#xff1a; 433遥控信号 ——> 433接收模块D0引脚以及D1引脚 ——> 单片机P1^2引脚以及P1^3引脚 ——> 单片机P1^1引脚 ——> 继电器IN引脚 ——> 继电器COM口和NO口…

安全防御 --- 防火墙高可靠技术

防火墙高可靠技术&#xff08;双机热备&#xff09; VRRP&#xff1a;负责的单个接口的故障检测和流量引导。每个VRRP备份组拥有一个虚拟的IP地址&#xff0c;作为网络的网关地址&#xff1b;在VRRP主备倒换时通过发送免费的ARP来刷新对接设备的MAC地址转发表来引导流量。VGMP&…