Linux系统用户管理

Just Do It
2023-11-01 / 0 评论 / 9 阅读 / 正在检测是否收录...

1.用户基本概述

Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响。

用户和组存在的意义

  • 1.系统上的每一个进程(运行的程序)都需要特定的用户运行
  • 2.每一个文件都有特定的用户拥有
  • 3.访问一个文件或目录受到用户的限制
  • 4.进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关

查看当前登录的用户信息

[root@xuliangwei-node1 /]
uid=0(root) gid=0(root) groups=0(root) 

用户分类

0 超级管理员(拥有最高权限)
1-200 系统用户,由系统分配给系统进程使用
201-999 系统用户,用来运行服务账户,不需要登陆系统(动态分配)
1000+ 常规普通用户

注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户。

组的类别

基本组 优先使用基本组, 用户只能属于一个基本组, 用户默认基本组
附加组 基本组不能满足授权要求, 创建附加组, 用户可以属于多个附加组
私有组 私有组, 创建用户时如果没有指定基本组, 系统会创建和用户同名的组

用户相关配置文件

用户的信息存放在/etc/passwd用户的密码都保存在/etc/shadow这两个文件是linux系统中最重要的文件之一。
如果没有这两个文件或者这两个文件出问题,会导致无法正常登录linux系统。

/etc/passwd 账户文件

[root@node1 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash


字段名称               注释说明
1.用户名称             
2.密码占位符         
3.用户的UID        
4.用户基本组GID      
5.用户注释          
6.用户家目录         
7.用户登录Shell     

/etc/shadow 用户密码文件

[root@xuliangwei ~]# tail -1 /etc/shadow
bgx1:!!:16312:0:99999:7:::


字段名称                       注释说明
1.用户登陆名             
2.加密后的密码            
3.最近一次密码更改时间     
4.密码最少使用几天        
5.密码最长使用几天      
6.密码到期前警告期限     
7.密码到期后保持活动的天数 
8.账户到期时间        
9.标志                        

按照图配置用户相关属性

使用chage更改用户密码密码使用情况

-d //设置最近一次更改密码时间, 0下次登陆系统强制修改密码
-m //设置用户两次改变密码之间使用"最小天数"
-M //设置用户两次改变密码之间使用"最大天数"
-W //设置密码更改警告时间 将过期警告天数设为“警告天数”
-I //设置密码过期天数后, 密码为失效状态
-E //设置用户过期时间, 账户失效后无法登陆
-l //显示用户信息


//修改时间为2014年08月31日,和图中时间匹配,方便后续验证
[root@xuliangwei ~]
Sun Aug 31 00:00:00 CST 2014
[root@xuliangwei ~]
Sun Aug 31 00:00:01 CST 2014
[root@xuliangwei ~]
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16312:0:99999:7:::


//设置最近一次修改密码时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:0:99999:7:::

//设置最短使用密码时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:99999:7:::

//设置密码最长使用时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:15:7:::

//设置密码警告时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:15:6:::
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:15:7:::

//设置密码过期时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:15:6:5::

//设置用户过期时间
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx1:!!:16314:2:15:6:5:6627567:

[root@xuliangwei ~]
Last password change            : Sep 01, 2014       //最近一次更改密码时间
Password expires                : Sep 16, 2014      //密码过期时间
Password inactive               : Sep 21, 2014     //密码失效时间
Account expires                 : Aug 31, 2015     //用户失效时间
Minimum number of days between password change      : 2  //密码最短使用时间
Maximum number of days between password change      : 15 //密码最长使用时间
Number of days of warning before password expires   : 7 //密码过期前警告天数


//如何验证,只调整时间为如下进行验证:

1.验证普通用户是否能修改密码, 不需要调整时间。

2.普通用户登陆系统后, 会提示警告密码还剩多少天过期
[root@xuliangwei ~]

3.普通用户登陆系统后, 强制要求修改密码
[root@xuliangwei ~]

4.普通用户登陆系统后, 提示账户已过期
[root@xuliangwei ~]

1.1 用户相关的命令

添加用户前需要确定

确定用户的默认组是否有特殊要求
确定用户是否允许登陆
确定用户的密码策略
确定用户的有效期
确定用户的uid是否有特殊要求

1.使用useradd命令新增用户, 注意: adduser命令软链接指向useradd命令

'-u' 指定用户的UID,不能和现有ID冲突
'-g' 指定用户用户默认基本组
'-G' 指定用户附加组,用逗号隔开添加多个附加组
'-d' 指定用户家目录
'-c' 指定用户注释信息
'-M' 不建立家目录
'-s' 指定用户默认shell
'-r' 创建系统账户, 没有家目录


//创建bgx用户,指定UID5001,基本组students 附加组sa,dba 注释信息:2018 new student, 登陆的shell:/bin/bash
[root@xuliangwei ~]
[root@xuliangwei ~]
[root@xuliangwei ~]
[root@xuliangwei ~]
[root@xuliangwei ~]
bgx:x:5001:505:2017 new student:/home/bgx:/bin/bash

//创建系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
[root@node1 ~]
[root@node1 ~]

2.使用usermod命令修改用户组

'-u'    修改用户的UID
'-g'    修改用户所属的基本组GID
'-G'    修改用户附加组, 使用逗号隔开多个附加组, 覆盖原有的附加组
'-a'    追加更多的附加组, 必须和-G使用: -aG 追加附加组
'-m'    家目录迁移, 必须和-d一起使用, 移动用户的家目录到新的位置
'-d'    指定用户的家目录新位置  
'-c'    修改用户的注释信息 
'-s'    更改用户使用的shell
'-l'    更改用户登录名
'-L'    锁定用户
'-U'    解锁用户


[root@xuliangwei ~]
bgx:x:5001:505:2018 new student:/home/bgx:/bin/bash

//修改用户uid,gid, 附加组, 注释信息, 用户家目录, 登录shell, 登录名

//建立组,指定组gid
[root@xuliangwei ~]
[root@xuliangwei ~]

//修改用户属性
[root@xuliangwei ~]

//检查是否修改成功
[root@xuliangwei ~]
bgx_xuliangwei:x:6001:5008:2019 new student:/bgx:/bin/sh

[root@xuliangwei ~]
uid=6001(bgx_xuliangwei) gid=5008(network_sa) groups=5008(network_sa),503(sa),504(dba),5009(devops)

//验证家目录
[root@xuliangwei ~]
drwx------. 2 bgx_xuliangwei network_sa 4096 2014-09-23 00:13 /bgx


锁定用户
[root@xuliangwei ~]
[root@xuliangwei ~]
//无法正常登录系统
➜  ~ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.

解锁用户
[root@xuliangwei ~]# usermod -U bgx_xuliangwei
//正常登录系统
➜  ~ ssh [email protected]
[email protected]'s password:
Welcome to Aliyun Esc Linux
-sh-4.1$

3.使用finger命名查询用户信息以及登录信息

//安装finger命令
[root@xuliangwei ~]# yum install finger -y
[root@xuliangwei ~]# finger bgx_xuliangwei
Login: bgx_xuliangwei           Name: 2019 new student
Directory: /bgx                         Shell: /bin/sh
On since Tue Sep 23 01:33 (CST) on pts/1 from 192.168.56.2
5 minutes 4 seconds idle
No mail.
No Plan.

4.使用chfn修改用户信息

[root@xuliangwei ~]
Changing finger information for bgx_xuliangwei.
Name [2019 new student]: 2020 new student
Office []: 110
Office Phone []: 89270000
Home Phone []: 15210xxxxxx

//使用finger再次检查
[root@xuliangwei ~]
Login: bgx_xuliangwei       Name: 2020 new student
Directory: /bgx                     Shell: /bin/sh
Office: 110, 89270000       Home Phone: 15210xxxxxx
On since Tue Sep 23 01:33 (CST) on pts/1 from 192.168.56.2
   6 minutes 49 seconds idle
No mail.
No Plan.

5.使用chsh命令更改用户登录shell

[root@xuliangwei ~]# chsh bgx_xuliangwei
Changing shell for bgx_xuliangwei.
New shell [/bin/sh]: /bin/bash
Shell changed.
[root@xuliangwei ~]# grep "bgx_xuliangwei" /etc/passwd
bgx_xuliangwei:x:6001:5008:2020 new student,110,89270000,15210xxxxxx:/bgx:/bin/bash

6.检查用户登陆情况

[root@xuliangwei ~]
xuliangwei pts/0        2017-10-30 09:30 (192.168.56.2)
bgx_xuliangwei pts/1    2014-09-23 01:33 (192.168.56.2)
root     pts/2          2017-10-30 07:13 (192.168.56.2)

[root@xuliangwei ~]
 01:43:18 up 1 day, 15:00,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
xuliangw pts/0    192.168.56.2     09:30     ?     0.35s  0.18s sshd: xu
bgx_xuli pts/1    192.168.56.2     01:33    9:24   0.03s  0.00s bash
root     pts/2    192.168.56.2     07:13    0.00s  1.49s  0.08s w

7.使用userdel删除账户

语法 : userdel [-r] username //-r 同时删除家目录

[root@xuliangwei ~]
[root@xuliangwei ~]
drwx------. 3 501 501 4096 2017-11-15 12:40 /home/user1/

//连同家目录一起删除
[root@xuliangwei ~]

1.2 用户创建的原理

Linux创建用户默认会读取/etc/defaults/useradd的配置文件,如果当我指定参数时,使用指定参数,如果不指定参数,默认使用/etc/defaults/useradd中的配置。
当我们使用useradd命令新建用户时,用户家目录下会产生相应的.bash_*文件,这些文件默认是从/etc/skel目录中复制。如需变更环境拷贝目录站点可修改:/etc/defaults/useradd的配置文件。
注意:如果执行useradd命令新建用户时,指定了参数,就会覆盖/etc/default/useradd默认的配置。

[root@student ~]
MAIL_DIR    /var/spool/mail
PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7
UID_MIN                  1000
UID_MAX                 60000
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

[root@student ~]
GROUP=100
HOME=/home                      //把用户的家目录建在/home中。
INACTIVE=-1                     //是否启用账号过期停权,-1表示不启用。
EXPIRE=                           //账号终止日期,不设置表示不启用。
SHELL=/bin/bash                 //新用户默认所有的shell类型。
SKEL=/etc/skel                  //配置新用户家目录的默认文件存放路径。
CREATE_MAIL_SPOOL=yes       //创建mail文件。


//用户登录linux操作系统,环境变量被误删,出现-bash-4.1$,如何解决!
-bash-4.1$ cp -a /etc/skel/.bash* ./
-bash-4.1$ exit

[root@student ~]
[xuliangwei@student ~]$

2. 用户密码管理

创建完账户后,默认是没有设置密码的,所以该账户是没有办法登陆操作系统。只有使用passwd设置好密码后方可登录系统。
使用passwd为用户创建密码时,为了安全起见,请尽量设置复杂一些。可以按照如下规则设置密码:

1.密码的长度最好大于10位字符
2.密码中包含大小写字母数字以及特殊字符 ! @ # $
3.不规则性(不要出现自己名字、公司名字、自己电话、等等简单的密码)

需要注意:

1.普通用户只能更改自己的密码(密码必须满足8位字符)
2.管理员用户能更改任何人的密码(密码长度无限制)

1.使用passwd命令修改用户密码

语法: passwd [username]







[root@localhost ~]# passwd  
更改用户 root 的密码。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。


[root@localhost ~]# passwd xuliangwei
更改用户 xuliangwei 的密码
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。



[bgx_xuliangwei@xuliangwei ~]$ passwd root
passwd: Only root can specify a user name.



[root@xuliangwei ~]# echo "123" | passwd --stdin xuliangwei
Changing password for user xuliangwei.
passwd: all authentication tokens updated successfully.

2.随机复杂密码生成的方式

//1.系统内置变量生成随机密码
[root@node1 ~]
d09fe9b1xs
[root@node1 ~]

//2.mkpasswd密码生成工具, -l设定密码长度,-d数子,-c小写字母,-C大写字母,-s特殊字符
[root@xuliangwei ~]
[root@xuliangwei ~]
|K&13bR)i/

3.推荐密码保存工具客户端,支持windows、MacOS、Iphone以及浏览器插件
Lastpass官方网站

3.组的基本管理

组账户信息保存在/etc/group/etc/gshadow两个文件中。

/etc/group 组账户信息

[root@node1 ~]
root:x:0:
bin:x:1:bin,daemon

// /etc/group由':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组的名称
2.组的密码(存在/etc/gshadow)
3.组GID信息
4.仅显示附加成员,基本成员不显示

/etc/gshadow 组密码信息

[root@node1 ~]# head -2 /etc/gshadow
root:::
bin:::bin,daemon


字段名称
1.组名称
2.组密码
3.组管理员
4.仅显示附加成员,基本成员不显示

1.使用groupadd命令新增组groupadd [-g GID] groupname

//创建基本组, 不指定gid
[root@node1 ~]
[root@node1 ~]
no_gid:x:1000:

//创建基本组, 指定gid为5555
[root@node1 ~]
[root@node1 ~]
yes_gid:x:5555:

//创建系统组,gid从201-999
[root@xuliangwei ~]
[root@xuliangwei ~]
sys_group:x:990:

2.使用groupmod命令新增组

//-g 修改组gid
[root@xuliangwei ~]
[root@xuliangwei ~]
no_gid:x:1111:

//-n 修改组名称
[root@xuliangwei ~]
[root@xuliangwei ~]
active_group:x:5555:

3.使用groupdel删除组

该命令没有特殊选项,如果一个用户有基本组和附加组,只能删除附加组,不能删除基本组


[root@xuliangwei ~]


[root@docker ~]
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei),5004(devops)
[root@docker ~]
[root@docker ~]
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei)


[root@xuliangwei ~]
network_sa:x:5008:
[root@xuliangwei ~]
groupdel: cannot remove the primary group of user 'bgx_xuliangwei'


4.使用gpasswd设置组密码

[root@xuliangwei ~]
[root@xuliangwei ~]
Changing the password for group devops
New Password:
Re-enter new password:

5.使用newgrp命令切换基本组身份


[root@docker ~]# useradd xuliangwei
[root@docker ~]# id xuliangwei
uid=1069(xuliangwei) gid=5005(xuliangwei) groups=5005(xuliangwei)


[root@docker ~]# su - xuliangwei


[xuliangwei@docker ~]$ touch file_roots
[xuliangwei@docker ~]$ ll
-rw-rw-r-- 1 xuliangwei xuliangwei 0 Jun 13 10:06 file_roots


[xuliangwei@docker ~]$ newgrp devops
Password:


[xuliangwei@docker ~]$ touch file_test
[xuliangwei@docker ~]$ ll
total 0
-rw-rw-r-- 1 xuliangwei xuliangwei 0 Jun 13 10:06 file_roots
-rw-r--r-- 1 xuliangwei devops     0 Jun 13 10:08 file_test

4.用户身份切换

Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份来做事了。那么在学习如何切换用户之前,我们先来了解下用户工作环境。

1.Shell分类

交互式shell    
非交互式shell   

登陆shell     
非登陆shell    


[root@xuliangwei ~]# pstree


[root@xuliangwei ~]# export PS1='[\h@\u \t]#'
[xuliangwei@root 02:06:28]#

2.bash shell配置文件

Bash的配置文件保存用户的工作环境

个人配置文件: ~/.bash_profile ~/.bashrc
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc

profile类文件, 设定环境变量, 登陆前运行的脚本和命令
bashrc 类文件, 设定本地变量, 定义命令别名

全局配置和个人配置设置冲突, 优先使用个人配置准

3.shell配置文件应用顺序

//登录式shell配置文件执行顺序
/etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc

//非登陆式shell配置文件执行顺序
~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh





4.如果全局配置和个人配置出现冲突, 那么如何验证呢?

编辑全局配置 /etc/profile     新增一行: PS1='[\h@\u \t]#'
[xuliangwei@root 02:16:57]

编辑个人配置 ~/.bash_profile     新增一行: PS1='[\u@\H]#'


[xuliangwei@root 02:18:27]
[bgx_xuliangwei@xuliangwei root]$

[xuliangwei@root 02:18:34]
[[email protected]]

5.创建用户,并登录系统

[root@node1 ~]# useradd xuliangwei
[root@node1 ~]# echo "123"|passwd --stdin xuliangwei

//使用xuliangwei用户登录当前Linux系统
➜  ~ ssh [email protected]
[email protected]'s password:
[xuliangwei@node1 ~]$

//可以使用whoami查看当前登录用户
[xuliangwei@node1 ~]$ whoami
xuliangwei

6.切换用户,使用命令su [-] username
su命令后面跟-代表进入登陆式shell 如果su命令后不加-代表进入非登陆式shell,他们之间的区别在于加载的环境变量不一样。

普通用户su -代表直接切换至root用户身份, 但需要输入root用户密码。
超级管理员root用户使用su - username切换普通用户不需要输入任何密码。

[xuliangwei@node1 ~]$ pwd
/home/xuliangwei

//不加 '-' 切换到root账户下时,当前目录没有变化
[xuliangwei@node1 ~]$ su
密码:
[root@node1 xuliangwei]
/home/xuliangwei
[root@node1 xuliangwei]
exit

//加 '-'切换到root账户,当前目录为root账户的家目录。
[xuliangwei@node1 ~]$ su -
密码:
[root@node1 ~]
/root

3.以某个用户的身份执行某个服务,使用命令su -c username

[root@xuliangwei ~]
[root@xuliangwei ~]

5.用户身份提权

su命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全。
为了改进这个问题,从而产生了sudo这个命令。
sudo执行一个仅有root身份才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。
默认只有root用户能使用sudo命令,普通用户想要使用sudo需要root预先设定,即使用 visudo命令去编辑相关的配置文件/etc/sudoers

Centos7提权

[root@node1 ~]
//日志审计
[root@node1 ~]$ sudo tail -f /var/log/secure

CentOS6提权


[root@xuliangwei ~]


[root@xuliangwei ~]
xuliangwei ALL=(ALL) /bin/rm, /bin/cp  


1.用户名      2.主机名   3.角色名       4.命令名
root            ALL=    (ALL)           ALL
xuliangwei      ALL     使用最高角色执行    /bin/rm, /bin/cp 
xuliangwei   ALL=(ALL)  NOPASSWD:/bin/cp, /bin/rm   //不需要密码使用rm、cp命令


[root@xuliangwei ~]
/etc/sudoers: parsed OK

4.普通用户验证sudo权限


[root@xuliangwei ~]


[xuliangwei@xuliangwei ~]$ sudo -l
...
User xuliangwei may run the following commands on this host:
    (ALL) /bin/rm, (ALL) /bin/cp


[xuliangwei@xuliangwei ~]$ rm -rf /opt/
rm: cannot remove `/opt': Permission denied

#4.使用sudo提权,验证用户权限是否可用,需要输入普通用户的密码
[xuliangwei@xuliangwei ~]$ sudo rm -rf /opt

5.sudo免密码配置选项


[root@xuliangwei ~]
xuliangwei ALL=(ALL) /bin/rm, /bin/cp  
xuliangwei   ALL=(ALL)  NOPASSWD:/bin/rm, /bin/cp  


[xuliangwei@xuliangwei ~]$ rm -f /root/002
rm: cannot remove `/root/002': Permission denied

#3.验证sudo免密码执行权限
[xuliangwei@xuliangwei ~]$ sudo rm -f /root/002

6.sudo配置组

//如果每增加一个用户需配置一行sudo,这样设置非常麻烦。所以可以进行如下设置

%gbx  ALL=(ALL)     NOPASSWD:/bin/rm, /bin/cp  
//group1这个组的所有用户都拥有sudo的权力。接下来只需要将用户加入该组即可。

//创建用户加入该组
[root@xuliangwei ~]
[root@xuliangwei ~]
[root@xuliangwei ~]

//root用户建立目录
[root@xuliangwei ~]

//切换用户并删除测试
[root@node1 ~]
[bgx1@xuliangwei ~]$ rm -rf /root/bgx_sudo
rm: cannot remove `/root/bgx_sudo': Permission denied

//使用sudo
[bgx1@xuliangwei ~]$ sudo rm -rf /root/bgx_sudo

当然配置文件/etc/sudoers包含了诸多配置项,可以使用命令man sudoers来获得帮助信息。

下面介绍一个很实用的案例,我们的需求是将Linux服务器设置成如下:
1.仅允许使用普通账户登陆Linux服务器,禁止root直接登录
2.可以让普通用户不输入密码就能sudo su -切换到root账户

//禁止root用户登陆
[root@xuliangwei ~]
[root@xuliangwei ~]

//配置sudo权限
[root@xuliangwei ~]
User_Alias USER_SU = bgx1,bgx2,xuliangwei
Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD:SU

//使用root登陆服务器失败
➜  ~ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.

//使用普通用户登陆服务器
➜  ~ ssh [email protected]
[email protected]'s password:
Last login: Mon Oct 30 09:28:21 2017 from 192.168.56.2

//使用sudo提权至root用户
[xuliangwei@xuliangwei ~]$ sudo su -
[root@xuliangwei ~]

7.sudo执行流程:

1.普通用户执行sudo命令, 会检查/var/db/sudo是否存在时间戳缓存
2.如果存在则不需要输入密码, 否则需要输入用户与密码
3.输入密码会检测是否该用户是否拥有该权限
4.如果有则执行,否则报错退出

6.日志相关审计

通过sudosyslog配合实现对所有用户进行权限的日志审计并将记录日志集中管理,实施后让所有运维和开发执行的sudo命令都有记录可查,杜绝了内部人员的操作安全隐患。
sudo日志审计,专门针对sudo命令的系统用户记录其执行的命令相关信息,所谓sudo命令日志审计,并不记录普通用户的操作,而是记录执行sudo命令的用户操作。

1.安装sudo、rysylog

[root@node1 ~]

//检测是否安装成功
[root@node1 ~]
rsyslog-5.8.10-10.el6_6.x86_64
sudo-1.8.6p3-19.el6.x86_64

2.配置/etc/sudoers记录日志路径

[root@node1 ~]

//查看追加的日志配置
[root@node1 ~]
Defaults  logfile=/var/log/sudo.log

//检查语法
[root@node1 ~]
/etc/sudoers: parsed OK 

3.配置rsyslog日志服务

[root@node1 ~]

//重启rsyslog服务
[root@node1 ~]
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

4.普通用户使用sudo权限验证日志记录

//使用普通执行sudo命令
[xuliangwei@node1 ~]$ rm -rf /root/test/
rm: 无法删除"/root/test": 权限不够
[xuliangwei@node1 ~]$ sudo rm -rf /root/test/

//检查用户在什么时间执行过什么操作
[xuliangwei@node1 ~]$ cat /var/log/sudo.log
Nov  7 07:56:58 : xuliangwei : TTY=pts/1 ; PWD=/home/xuliangwei ; USER=root ;
    COMMAND=/bin/rm -rf /root/test/

转 xuliangwei.com

0

评论

博主关闭了当前页面的评论