用户与组管理什么是用户,用户是人吗?
用户是干啥的?用户账号超级管理员: root
普通用户: ruochen
系统/程序用户: 系统中为某个程序而产生的用户,这类用户一般不允许登录操作系统
组账号定义: 用户的集合
基本组: 与用户同名的一个组
附加组: 将其他用户增加到某个组中,那么这个组称为其他用户的附加组
用户作用Linux 基于用户身份对资源进行访问控制
UID 和 GID 号uid(user identity) : 用户标识号
gid(group identity): 组标识号
root用户uid号: 0
普通用户uid号:1000-60000(rhel7) 500+(rhel6)
系统用户uid号: 1-999(rhel7) 1-499(rhel6)
用户相关文件/etc/passwd 保存用户的账号信息sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
ruochen:x:1000:1000:ruochen:/home/ruochen:/bin/bash复制代码/bin/bash(默认登录shell)
/sbin/nologin(不允许用户登录系统)
字段1: 用户账号名称
字段2: 'x' 代表密码占位符 /etc/shadow
字段3: 用户账号的uid号
字段4: 用户基本组账号的gid号
字段5: 用户的全名
字段6: 宿主目录(用户的家目录)
字段7: 用户登录shell信息
/etc/shadow 保存用户的密码信息root:用户账号名称
$6$3rb.lU2l/JOMd/T5$dwR0X/HIgpbHZtIqtWQbTYyB268B80nJAnXgQ8foZsOm8eRx7wynqTdZG485k8jKu5fnbEpHJOCChpWGndXHL1:用户密码信息,采用哈希算法加密
18050:上次修改密码的时间(1970.1.1)
0:密码的最短有效天数
99999:密码的最长有效天数
7:密码过期警告时间
:密码过期后是否还允许登录0不允许10允许十天-1长期
:密码过期时间
:保留字段(未使用)复制代码
组账号相关文件/etc/group 保存组账号基本信息
/etc/gshadow 保存组账号密码信息
用户和组管理软件:yum install system-config-users -y
[root@localhost ~]# system-config-users
查看用户信息[root@localhost ~]# id ruochen # id username
基于命令行的用户和组管理
创建用户useradd [选项] username-u: 为账号指定 uid
-g: 指定用户 gid
-s: 为账号指定默认的登录shell
-G: 将用户添加到指定的附属组里面
-c: 为用户添加文本描述
-d: 为主目录指定不同于登录名的名称
-m: 创建用户的家目录(默认创建)
-M: 不创建用户的家目录
-p passwd: 为用户指定一个默认密码
-r: 创建一个系统账号
-e: 指定用户账号的逾期时间 YYYY-MM-DD[root@localhost~]#useraddsusa
[root@localhost~]#useradd-u3000-s/sbin/nologinuser
复制代码
查看用户信息id username[root@localhost~]#iduser
uid=3000(user)gid=3000(user)groups=3000(user)复制代码
删除用户userdel -r username[root@localhost~]#userdel-rsusa
[root@localhost~]#idsusa
id:susa:nosuchuser
[root@localhost~]#userdel-ruser
[root@localhost~]#iduser
id:user:nosuchuser
[root@localhost~]#
复制代码
修改用户信息usermod [选项] username-u: 重新指定用户的 uid 号
-s: 重新指定用户的登录shell
-G: 将用户添加到附加组内
-L: 用于锁定账号,使用户无法登录
-U: 用于解除账号锁定,使用户能够登录[root@localhost~]#usermod-u2000-s/sbin/nologinharry
[root@localhost~]#usermod-u2000-s/bin/bashharry
[root@localhost~]#idharry
uid=2000(harry)gid=1001(harry)groups=1001(harry)复制代码
为用户创建密码passwd username
echo 'passwd' | passwd --stdin username[root@localhost~]#passwdharry
Changingpasswordforuserharry.
Newpassword:
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
[root@localhost~]#su-harry
[harry@localhost~]$
[root@localhost~]#usermod-Lharry
[root@localhost~]#su-harry
Lastlogin:SatMay1622:17:41EDTonpts/1
[harry@localhost~]$
复制代码此处已经锁定用户了,为何还能登录?[root@localhost~]#usermod-Uharry
[root@localhost~]#su-harry
Lastlogin:SatMay1622:18:29EDTonpts/1
[harry@localhost~]$
复制代码
更改用户密码信息chage -m 0 -M 90 -W 7 -I -1 username
-d 0: 强制用户下此登录修改密码
-E YYYY-MM-DD: 指定密码的过期时间
-l username: 列出用户当前密码设置
创建组groupadd [选项] groupname
-g: 指定组的 gid 号
删除组groupdel groupname[root@localhost~]#groupdelmanager复制代码创建下列用户、组和组的成员关系:一个名为 manager 的组
一个名为harry 的用户,其属于 manager 组,这个组是该用户的从属组
一个名为natasha 的用户,其属于 manager 组,这个组是该用户的从属组
一个名为strlt 的用户,其在系统中没有可交互的shell,并且该用户不是 manager 组的成员
用户natasha、harry和strlt 的密码都要设置为 default[root@localhost~]#groupaddmanager
[root@localhost~]#useradd-Gmanagerharry
[root@localhost~]#useraddnatasha
[root@localhost~]#usermod-Gmanagernatasha
[root@localhost~]#useradd-s/sbin/nologinstrlt
[root@localhost~]#echo'default'|passwd--stdinharry
Changingpasswordforuserharry.
passwd:allauthenticationtokensupdatedsuccessfully.
[root@localhost~]#echo'default'|passwd--stdinnatasha
Changingpasswordforusernatasha.
passwd:allauthenticationtokensupdatedsuccessfully.
[root@localhost~]#echo'default'|passwd--stdinstrlt
Changingpasswordforuserstrlt.
passwd:allauthenticationtokensupdatedsuccessfully.复制代码
查看当前登录到系统的用户users, w, who[root@localhost~]#w复制代码
23:16:53 up | 2:23, | 3 users, | load average: 0.19, 0.17, 0.14| - | - | - | - |
登录时间 | 运行时间 | 用户总数 |负载程度(1/5/15)
USER | TTY | LOGIN@ | IDLE | JCPU | PCPU | WHAT| - | - | - | - | - | - |
登录用户 | 登录所用终端 | 登录时间(LOGIN@ == LOGIN AT)| 用户空闲时间 | 消耗CPU时间 | 任务执行后消耗时间 | 任务是谁root:020:55?xdm?7:030.16sgdm-session-worker[pam/gdm-pas
rootpts/021:091:18m0.32s0.32s-bash
rootpts/121:335.00s0.22s0.00sw复制代码whoami显示当前用户下的用户名
who am i显示登录时用的用户名
who显示当前真正登录系统的用户(不会显示su切换的用户)[root@localhost~]#who
root:0-05-1620:55(:0)
rootpts/0-05-1621:09(192.168.37.1)
rootpts/1-05-1621:33(:0)
[root@localhost~]#whoami
root
[root@localhost~]#whoami
rootpts/0-05-1621:09(192.168.37.1)
[root@localhost~]#su-ruochen
[ruochen@localhost~]$whoami
rootpts/0-05-1621:09(192.168.37.1)
[ruochen@localhost~]$whoami
ruochen复制代码
linux终端命令行用户名和密码 Linux入门篇 —— Linux 用户与组管理详解(system-config-users 命令行)| 七日打卡...