用户权限管理

发布时间 2023-07-10 10:48:48作者: 村尚chun叔

组管理

创建组
groupadd 参数 组名
-g 设置组id号,默认从1000开始,1~999是系统预留的组

修改组
groupmod 参数 组名
-g gid缩写,可设置组ID
-n name缩写,可设置组名

删除组
groupdel 祖名

用户管理

root用户的权限最大是因为root 的UID为0,如果将其他用户的UID也改为0,那么他们将获得和root一样的权限。

cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码:UID:GID:用户注释:用户家目录:用户使用的解释器

创建用户
useradd 参数 用户名

-g:表示指定用户的用户主(主要)组,选项值可以是用户组ID,也可以是组名
-G:表示指定用户的用户附加(额外)组,选项值可以是用户组ID,也可以是组名

-u :uid,用户的id(用户的标识符),系统默认会从500 /或1000之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】

-c:comment,添加注释(选择是否添加)

-s:指定用户登入后所使用的shell 解释器,默认/bin/bash【专门的接待员】,如果不想让其登录,则可以设置为/sbin/nologin   (重要)

-d:指定用户登入时的启始目录(家目录位置)

-n:取消建立以用户名称为名的群组(了解)

id 用于检查用户和组以及对应的UID,GID等信息

[root@pylinux ~]# id yu
uid=1000(yu) gid=1000(yu) 组=1000(yu)

[root@pylinux ~]# id -u yu    #显示用户id
1000
[root@pylinux ~]# id -g yu    #显示组id
1000
[root@pylinux ~]# id -un yu    #显示用户名
yu
[root@pylinux ~]# id -gn yu    #显示组名
yu

修改用户信息
usermod 参数 用户名

-g:表示指定用户的用户主组,选项的值可以是用户组的ID,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组的ID,也可以是组名

-u:uid,用户的id(用户的标识符),系统默认会从500 之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】

-L:锁定用户,锁定后用户无法登陆系统lock

-U:解锁用户unlock

-c<备注>:修改用户帐号的备注文字

-d<登入目录>:修改用户登入时的目录

-s<shell>:修改用户登入后所使用的shell

修改密码

非交互式修改密码
[root@master ~]# echo '123456789'|passwd --stdin hejj
Changing password for user hejj.
passwd: all authentication tokens updated successfully.

删除用户

userdel 参数 用户名

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

userdel -rf oldchao    # 强制删除用户与其家目录

whoami、who、w、last、lastlog

whoami显示可用于查看当前登录的用户,我是谁

[root@pylinux ~]# whoami
root

w命令显示当前以登录的用户

[root@pylinux ~]# w
 04:15:01 up 15 days, 18:03,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    122.71.x5.xx     04:05    5.00s  0.07s  0.00s w
1.显示当前系统时间、系统从启动到运行的时间、系统运行中的用户数量和平均负载(1、5、15分钟平均负载)
2.第二行信息
user:用户名
tty:用户使用的终端号
from:表示用户从哪来,远程主机的ip信息
login:用户登录的时间和日期
IDLE:显示终端空闲时间
JCPU:该终端所有进程以及子进程使用系统的总时间
PCPU:活动进程使用的系统时间
WHAT:用户执行的进程名称

who

[root@pylinux ~]# who
root     pts/0        2018-07-12 04:05 (122.71.x5.xx)

名称      用户终端            用户登录的系统时间  从哪来的机器ip

last、lastlog命令查看用户详细的登录信息

#last命令显示已登录的用户列表和登录时间
[root@pylinux ~]# last
root     pts/0        122.71.x5.xx     Thu Jul 12 04:05   still logged in
root     pts/0        122.71.x5.xx     Thu Jul 12 04:02 - 04:05  (00:02)
root     pts/1        122.71.x5.xx     Wed Jul 11 16:56 - 16:57  (00:00)

wtmp begins Sun Jul  8 06:23:25 2018
lastlog命令显示当前机器所有用户最近的登录信息


last读取的是如下文件信息,二进制加密数据。
[root@yuanlai-0224 ~]# ll /var/log/wtmp
-rw-rw-r--. 1 root utmp 170112 Mar 12 15:16 /var/log/wtmp

[root@pylinux ~]# lastlog
用户名           端口     来自             最后登陆时间
root             pts/0    122.71.65.73     四 7月 12 04:05:09 +0800 2018
bin                                        **从未登录过**

yu               pts/0                     四 7月 12 04:05:51 +0800 2018
epmd                                       **从未登录过**
rabbitmq                                   日 9月 29 03:42:01 +0800 2019
py               pts/0                     四 7月 12 04:06:02 +0800 2018
testyu                                     **从未登录过**