第395集用户权限-Linux系统用户管理 | 字数总计: 6.7k | 阅读时长: 26分钟 | 阅读量:
用户权限 - Linux系统用户管理 1. 用户基本概述 Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响。
1.1 用户和组存在的意义
1.系统上的每一个进程(运行的程序)都需要特定的用户运行
2.每一个文件都有特定的用户拥有
3.访问一个文件或目录受到用户的限制
4.进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关
1.2 查看当前登录的用户信息 1 2 [root@liyanzhao-node1 /] uid=0(root) gid=0(root) groups =0(root)
1.3 用户分类
UID范围
用户类型
说明
0
超级管理员
拥有最高权限
1-200
系统用户
由系统分配给系统进程使用
201-999
系统用户
用来运行服务账户,不需要登陆系统(动态分配)
1000+
常规普通用户
普通用户账户
注意 : 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户。
1.4 组的类别
组类型
说明
基本组
优先使用基本组, 用户只能属于一个基本组, 用户默认基本组
附加组
基本组不能满足授权要求, 创建附加组, 用户可以属于多个附加组
私有组
私有组, 创建用户时如果没有指定基本组, 系统会创建和用户同名的组
1.5 用户相关配置文件 用户的信息存放在/etc/passwd,用户的密码都保存在/etc/shadow,这两个文件是linux系统中最重要的文件之一。
如果没有这两个文件或者这两个文件出问题,会导致无法正常登录linux系统。
/etc/passwd 账户文件 1 2 [root@node1 ~] root:x:0:0:root:/root:/bin/bash
/etc/passwd由 : 为分割符, 分为7个字段,每个字段的具体含义如下:
字段名称
注释说明
1.用户名称
用户的账号名称
2.密码占位符
存放账户的口令,暂用x表示,密码保存在/etc/shadow
3.用户的UID
用户标识号
4.用户基本组GID
组标识号
5.用户注释
用户详细信息
6.用户家目录
root家目录是/root普通用户家目录存在/home/username(可自定义)
7.用户登录Shell
用户登录Linux使用的shell #cat /etc/shells
/etc/shadow 用户密码文件 1 2 [root@liyanzhao ~] bgx1:!!:16312:0:99999:7:::
/etc/shadow由 : 为分割符, 分为9个字段,每个字段的具体含义如下:
字段名称
注释说明
1.用户登陆名
用户的账号名称
2.加密后的密码
用户密码,这是加密过的口令(未设密码时为!!)
3.最近一次密码更改时间
从1970年到最近一次更改密码时间之间过了多少天
4.密码最少使用几天
密码最少使用几天才可以更改密码(0表示无限制)
5.密码最长使用几天
密码使用多少天需要修改密码(默认99999永不过期)
6.密码到期前警告期限
密码过期前多少天提醒用户更改密码(默认过期提前7天警告)
7.密码到期后保持活动的天数
在此期限内, 用户依然可以登陆系统并更改密码, 指定天数过后, 账户被锁定
8.账户到期时间
从1970年起,账户在这个日期前可使用,到期后失效
9.标志
保留
1.6 使用chage更改用户密码使用情况 1 2 3 4 5 6 7 -d -m -M -W -I -E -l
配置示例 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [root@liyanzhao ~] Sun Aug 31 00:00:00 CST 2014 [root@liyanzhao ~] Sun Aug 31 00:00:01 CST 2014 [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16312:0:99999:7::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:0:99999:7::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:99999:7::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:15:7::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:15:6::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:15:7::: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:15:6:5:: [root@liyanzhao ~] [root@liyanzhao ~] bgx1:!!:16314:2:15:6:5:6627567: [root@liyanzhao ~] 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 3 4 5 6 7 8 9 10 [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~]
1.1 用户相关的命令 添加用户前需要确定:
确定用户的默认组是否有特殊要求
确定用户是否允许登陆
确定用户的密码策略
确定用户的有效期
确定用户的uid是否有特殊要求
1.1.1 使用useradd命令新增用户
注意 : adduser命令软链接指向useradd命令
常用选项 :
选项
功能
-u
指定用户的UID,不能和现有ID冲突
-g
指定用户用户默认基本组
-G
指定用户附加组,用逗号隔开添加多个附加组
-d
指定用户家目录
-c
指定用户注释信息
-M
不建立家目录
-s
指定用户默认shell
-r
创建系统账户, 没有家目录
示例 :
1 2 3 4 5 6 7 8 9 10 11 [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] bgx:x:5001:505:2017 new student:/home/bgx:/bin/bash [root@node1 ~] [root@node1 ~]
1.1.2 使用usermod命令修改用户组 常用选项 :
选项
功能
-u
修改用户的UID
-g
修改用户所属的基本组GID
-G
修改用户附加组, 使用逗号隔开多个附加组, 覆盖原有的附加组
-a
追加更多的附加组, 必须和-G使用: -aG 追加附加组
-m
家目录迁移, 必须和-d一起使用, 移动用户的家目录到新的位置
-d
指定用户的家目录新位置
-c
修改用户的注释信息
-s
更改用户使用的shell
-l
更改用户登录名
-L
锁定用户
-U
解锁用户
示例 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@liyanzhao ~] bgx:x:5001:505:2018 new student:/home/bgx:/bin/bash [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] bgx_liyanzhao:x:6001:5008:2019 new student:/bgx:/bin/sh [root@liyanzhao ~] uid=6001(bgx_liyanzhao) gid=5008(network_sa) groups =5008(network_sa),503(sa),504(dba),5009(devops) [root@liyanzhao ~] drwx------. 2 bgx_liyanzhao network_sa 4096 2014-09-23 00:13 /bgx
锁定和解锁用户 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@liyanzhao ~] [root@liyanzhao ~] ➜ ~ ssh bgx_liyanzhao@192.168.56.11 bgx_liyanzhao@192.168.56.11's password: Permission denied, please try again. # 解锁用户 [root@liyanzhao ~]# usermod -U bgx_liyanzhao # 正常登录系统 ➜ ~ ssh bgx_liyanzhao@192.168.56.11 bgx_liyanzhao@192.168.56.11' s password:Welcome to Aliyun Esc Linux -sh-4.1$
1.1.3 使用finger命名查询用户信息以及登录信息 1 2 3 4 5 6 7 8 9 [root@liyanzhao ~] [root@liyanzhao ~] Login: bgx_liyanzhao 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.
1.1.4 使用chfn修改用户信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@liyanzhao ~] Changing finger information for bgx_liyanzhao. Name [2019 new student]: 2020 new student Office []: 110 Office Phone []: 89270000 Home Phone []: 15210xxxxxx [root@liyanzhao ~] Login: bgx_liyanzhao 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.
1.1.5 使用chsh命令更改用户登录shell 1 2 3 4 5 6 7 [root@liyanzhao ~] Changing shell for bgx_liyanzhao. New shell [/bin/sh]: /bin/bash Shell changed. [root@liyanzhao ~] bgx_liyanzhao:x:6001:5008:2020 new student,110,89270000,15210xxxxxx:/bgx:/bin/bash
1.1.6 检查用户登陆情况 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@liyanzhao ~] liyanzhao pts/0 2017-10-30 09:30 (192.168.56.2) bgx_liyanzhao pts/1 2014-09-23 01:33 (192.168.56.2) root pts/2 2017-10-30 07:13 (192.168.56.2) [root@liyanzhao ~] 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
1.1.7 使用userdel删除账户 1 2 3 4 5 6 7 8 9 10 [root@liyanzhao ~] [root@liyanzhao ~] drwx------. 3 501 501 4096 2017-11-15 12:40 /home/user1/ [root@liyanzhao ~]
1.2 用户创建的原理 Linux创建用户默认会读取/etc/defaults/useradd的配置文件,如果当我指定参数时,使用指定参数,如果不指定参数,默认使用/etc/defaults/useradd中的配置。
当我们使用useradd命令新建用户时,用户家目录下会产生相应的.bash_*文件,这些文件默认是从/etc/skel目录中复制。如需变更环境拷贝目录站点可修改:/etc/defaults/useradd的配置文件。
注意 :如果执行useradd命令新建用户时,指定了参数,就会覆盖/etc/default/useradd默认的配置。
配置文件说明 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [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 INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
环境变量恢复 :
1 2 3 4 5 6 -bash-4.1$ cp -a /etc/skel/.bash* ./ -bash-4.1$ exit [root@student ~] [liyanzhao@student ~]$
2. 用户密码管理 创建完账户后,默认是没有设置密码的,所以该账户是没有办法登陆操作系统。只有使用passwd设置好密码后方可登录系统。
使用passwd为用户创建密码时,为了安全起见,请尽量设置复杂一些。可以按照如下规则设置密码:
密码的长度最好大于10位字符
密码中包含大小写字母数字以及特殊字符 ! @ # $
不规则性(不要出现自己名字、公司名字、自己电话、等等简单的密码)
需要注意 :
普通用户只能更改自己的密码(密码必须满足8位字符)
管理员用户能更改任何人的密码(密码长度无限制)
2.1 使用passwd命令修改用户密码 语法 : passwd [username]
passwd后面不加[username]则是修改当前登陆终端用户的密码
如果你登陆的是root管理员用户,后面可以指定要修改的用户
只有root管理员才可以修该其他用户的密码,普通账户只能修改自己的密码,并且普通用户没有修改其他用户密码的权限
示例 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [root@localhost ~] 更改用户 root 的密码。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~] 更改用户 liyanzhao 的密码 新的 密码: 重新输入新的 密码: passwd: 所有的身份验证令牌已经成功更新。 [bgx_liyanzhao@liyanzhao ~]$ passwd root passwd: Only root can specify a user name. [root@liyanzhao ~] Changing password for user liyanzhao. passwd: all authentication tokens updated successfully.
2.2 随机复杂密码生成的方式 1 2 3 4 5 6 7 8 9 10 [root@node1 ~] d09fe9b1xs [root@node1 ~] [root@liyanzhao ~] [root@liyanzhao ~] |K&13bR)i/
2.3 推荐密码保存工具 Lastpass官方网站 - 支持windows、MacOS、Iphone以及浏览器插件
3. 组的基本管理 组账户信息保存在/etc/group和/etc/gshadow两个文件中。
3.1 /etc/group 组账户信息 1 2 3 [root@node1 ~] root:x:0: bin:x:1:bin,daemon
/etc/group由:分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
说明
1.组的名称
组名
2.组的密码
存在/etc/gshadow
3.组GID信息
组标识号
4.仅显示附加成员
基本成员不显示
3.2 /etc/gshadow 组密码信息 1 2 3 [root@node1 ~] root::: bin:::bin,daemon
/etc/gshadow由 : 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
说明
1.组名称
组名
2.组密码
组密码
3.组管理员
组管理员
4.仅显示附加成员
基本成员不显示
3.3 使用groupadd命令新增组 语法 : groupadd [-g GID] groupname
1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@node1 ~] [root@node1 ~] no_gid:x:1000: [root@node1 ~] [root@node1 ~] yes_gid:x:5555: [root@liyanzhao ~] [root@liyanzhao ~] sys_group:x:990:
3.4 使用groupmod命令修改组 1 2 3 4 5 6 7 8 9 [root@liyanzhao ~] [root@liyanzhao ~] no_gid:x:1111: [root@liyanzhao ~] [root@liyanzhao ~] active_group:x:5555:
3.5 使用groupdel删除组 该命令没有特殊选项,如果一个用户有基本组和附加组,只能删除附加组,不能删除基本组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [root@liyanzhao ~] [root@docker ~] uid=1069(liyanzhao) gid=5005(liyanzhao) groups =5005(liyanzhao),5004(devops) [root@docker ~] [root@docker ~] uid=1069(liyanzhao) gid=5005(liyanzhao) groups =5005(liyanzhao) [root@liyanzhao ~] network_sa:x:5008: [root@liyanzhao ~] groupdel: cannot remove the primary group of user 'bgx_liyanzhao'
3.6 使用gpasswd设置组密码 1 2 3 4 5 [root@liyanzhao ~] [root@liyanzhao ~] Changing the password for group devops New Password: Re-enter new password:
3.7 使用newgrp命令切换基本组身份 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@docker ~] [root@docker ~] uid=1069(liyanzhao) gid=5005(liyanzhao) groups =5005(liyanzhao) [root@docker ~] [liyanzhao@docker ~]$ touch file_roots [liyanzhao@docker ~]$ ll -rw-rw-r-- 1 liyanzhao liyanzhao 0 Jun 13 10:06 file_roots [liyanzhao@docker ~]$ newgrp devops Password: [liyanzhao@docker ~]$ touch file_test [liyanzhao@docker ~]$ ll total 0 -rw-rw-r-- 1 liyanzhao liyanzhao 0 Jun 13 10:06 file_roots -rw-r--r-- 1 liyanzhao devops 0 Jun 13 10:08 file_test
4. 用户身份切换 Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份来做事了。那么在学习如何切换用户之前,我们先来了解下用户工作环境。
4.1 Shell分类
Shell类型
说明
示例
交互式shell
等待用户输入执行的命令(终端操作,需要不断提示)
终端操作
非交互式shell
执行shell脚本, 脚本执行结束后shell自动退出
执行脚本
登陆shell
需要输入用户名和密码才能进入shell
su - liyanzhao
非登陆shell
不需要输入用户和密码就能进入,比如执行sh, bash
su username
1 2 3 4 5 6 [root@liyanzhao ~] [root@liyanzhao ~] [liyanzhao@root 02:06:28]
4.2 bash shell配置文件 Bash的配置文件保存用户的工作环境
个人配置文件 : ~/.bash_profile ~/.bashrc
全局配置文件 : /etc/profile /etc/profile.d/*.sh /etc/bashrc
profile类文件 : 设定环境变量, 登陆前运行的脚本和命令
bashrc 类文件 : 设定本地变量, 定义命令别名
全局配置和个人配置设置冲突, 优先使用个人配置
4.3 shell配置文件应用顺序 1 2 3 4 5 /etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc ~/.bashrc -> /etc/bashrc -> /etc/profile.d/*.sh
验证方法 : 在每个配置文件加入一段 “echo”即可。最后通过登陆shell和非登录shell方式登陆linux, 即可验证执行顺序。
4.4 配置冲突验证 1 2 3 4 5 6 7 8 9 [liyanzhao@root 02:16:57] [liyanzhao@root 02:18:27] [bgx_liyanzhao@liyanzhao root]$ [liyanzhao@root 02:18:34] [bgx_liyanzhao@liyanzhao.com]
4.5 创建用户并登录系统 1 2 3 4 5 6 7 8 9 10 11 12 [root@node1 ~] [root@node1 ~] ➜ ~ ssh liyanzhao@192.168.56.111 liyanzhao@192.168.56.111's password: [liyanzhao@node1 ~]$ # 可以使用whoami查看当前登录用户 [liyanzhao@node1 ~]$ whoami liyanzhao
4.6 切换用户,使用命令su [-] username su命令后面跟-代表进入登陆式shell,如果su命令后不加-代表进入非登陆式shell,他们之间的区别在于加载的环境变量不一样。
普通用户su -代表直接切换至root用户身份, 但需要输入root用户密码
超级管理员root用户使用su - username切换普通用户不需要输入任何密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [liyanzhao@node1 ~]$ pwd /home/liyanzhao [liyanzhao@node1 ~]$ su 密码: [root@node1 liyanzhao] /home/liyanzhao [root@node1 liyanzhao] exit [liyanzhao@node1 ~]$ su - 密码: [root@node1 ~] /root
4.7 以某个用户的身份执行某个服务 使用命令su -c username
1 2 [root@liyanzhao ~] [root@liyanzhao ~]
5. 用户身份提权 su命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全。
为了改进这个问题,从而产生了sudo这个命令。
sudo执行一个仅有root身份才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。
默认只有root用户能使用sudo命令,普通用户想要使用sudo需要root预先设定,即使用 visudo命令去编辑相关的配置文件/etc/sudoers
5.1 CentOS7提权 1 2 3 4 [root@node1 ~] [root@node1 ~]$ sudo tail -f /var/log/secure
5.2 CentOS6提权 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@liyanzhao ~] [root@liyanzhao ~] liyanzhao ALL=(ALL) /bin/rm, /bin/cp root ALL= (ALL) ALL liyanzhao ALL 使用最高角色执行 /bin/rm, /bin/cp liyanzhao ALL=(ALL) NOPASSWD:/bin/cp, /bin/rm [root@liyanzhao ~] /etc/sudoers: parsed OK
5.3 普通用户验证sudo权限 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@liyanzhao ~] [liyanzhao@liyanzhao ~]$ sudo -l ... User liyanzhao may run the following commands on this host: (ALL) /bin/rm, (ALL) /bin/cp [liyanzhao@liyanzhao ~]$ rm -rf /opt/ rm : cannot remove `/opt': Permission denied # 4.使用sudo提权,验证用户权限是否可用,需要输入普通用户的密码 [liyanzhao@liyanzhao ~]$ sudo rm -rf /opt
5.4 sudo免密码配置选项 1 2 3 4 5 6 7 8 9 10 11 [root@liyanzhao ~] liyanzhao ALL=(ALL) /bin/rm, /bin/cp liyanzhao ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp [liyanzhao@liyanzhao ~]$ rm -f /root/002 rm : cannot remove `/root/002': Permission denied # 3.验证sudo免密码执行权限 [liyanzhao@liyanzhao ~]$ sudo rm -f /root/002
5.5 sudo配置组 如果每增加一个用户需配置一行sudo,这样设置非常麻烦。所以可以进行如下设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 %gbx ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] [root@node1 ~] [bgx1@liyanzhao ~]$ rm -rf /root/bgx_sudo rm : cannot remove `/root/bgx_sudo': Permission denied # 使用sudo [bgx1@liyanzhao ~]$ sudo rm -rf /root/bgx_sudo
5.6 实用案例:禁止root直接登录 需求:
仅允许使用普通账户登陆Linux服务器,禁止root直接登录
可以让普通用户不输入密码就能sudo su -切换到root账户
配置步骤 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@liyanzhao ~] [root@liyanzhao ~] [root@liyanzhao ~] User_Alias USER_SU = bgx1,bgx2,liyanzhao Cmnd_Alias SU = /bin/su USER_SU ALL=(ALL) NOPASSWD:SU ➜ ~ ssh root@192.168.56.11 root@192.168.56.11's password: Permission denied, please try again. # 使用普通用户登陆服务器 ➜ ~ ssh liyanzhao@192.168.56.11 liyanzhao@192.168.56.11' s password:Last login: Mon Oct 30 09:28:21 2017 from 192.168.56.2 [liyanzhao@liyanzhao ~]$ sudo su - [root@liyanzhao ~]
5.7 sudo执行流程
普通用户执行sudo命令, 会检查/var/db/sudo是否存在时间戳缓存
如果存在则不需要输入密码, 否则需要输入用户与密码
输入密码会检测是否该用户是否拥有该权限
如果有则执行,否则报错退出
6. 日志相关审计 通过sudo和syslog配合实现对所有用户进行权限的日志审计并将记录日志集中管理,实施后让所有运维和开发执行的sudo命令都有记录可查,杜绝了内部人员的操作安全隐患。
sudo日志审计,专门针对sudo命令的系统用户记录其执行的命令相关信息,所谓sudo命令日志审计,并不记录普通用户的操作,而是记录执行sudo命令的用户操作。
6.1 安装sudo、rsyslog 1 2 3 4 5 6 [root@node1 ~] [root@node1 ~] rsyslog-5.8.10-10.el6_6.x86_64 sudo-1.8.6p3-19.el6.x86_64
6.2 配置/etc/sudoers记录日志路径 1 2 3 4 5 6 7 8 9 [root@node1 ~] [root@node1 ~] Defaults logfile=/var/log/sudo.log [root@node1 ~] /etc/sudoers: parsed OK
6.3 配置rsyslog日志服务 1 2 3 4 5 6 [root@node1 ~] [root@node1 ~] Shutting down system logger: [ OK ] Starting system logger: [ OK ]
6.4 普通用户使用sudo权限验证日志记录 1 2 3 4 5 6 7 8 9 [liyanzhao@node1 ~]$ rm -rf /root/test/ rm : 无法删除"/root/test" : 权限不够[liyanzhao@node1 ~]$ sudo rm -rf /root/test/ [liyanzhao@node1 ~]$ cat /var/log/sudo.log Nov 7 07:56:58 : liyanzhao : TTY=pts/1 ; PWD=/home/liyanzhao ; USER=root ; COMMAND=/bin/rm -rf /root/test/
7. 命令总结 7.1 用户管理命令
命令
功能
useradd
创建用户
usermod
修改用户属性
userdel
删除用户
passwd
修改用户密码
chage
修改用户密码策略
chfn
修改用户信息
chsh
修改用户shell
finger
查看用户信息
id
查看用户ID信息
who
查看当前登录用户
w
查看详细登录信息
7.2 组管理命令
命令
功能
groupadd
创建组
groupmod
修改组属性
groupdel
删除组
gpasswd
设置组密码
newgrp
切换基本组
7.3 用户切换和提权
命令
功能
su
切换用户(非登录shell)
su -
切换用户(登录shell)
su -c
以指定用户身份执行命令
sudo
提权执行命令
visudo
编辑sudo配置文件