【Linux】人事档案——用户及组管理

目录

[1 用户及组管理](#1 用户及组管理)

2 用户及用户组管理命令

[2.1 useradd:建立用户 useradd命令用于建立用户,该](#2.1 useradd:建立用户 useradd命令用于建立用户,该)

[2.2 passwd:更改用户密码](#2.2 passwd:更改用户密码)

[2.3 usermod:更改用户信息](#2.3 usermod:更改用户信息)

[2.4 groupadd:建立用户组](#2.4 groupadd:建立用户组)

[2.5 finger:查找并显示用户信息](#2.5 finger:查找并显示用户信息)

[2.6 groupmod:更改GID与组名称](#2.6 groupmod:更改GID与组名称)

[2.7 userdel:删除用户组](#2.7 userdel:删除用户组)

[2.8 groupdel:删除用户组](#2.8 groupdel:删除用户组)

[2.9 w:显示当前登录系统的用户及用户进程信息](#2.9 w:显示当前登录系统的用户及用户进程信息)

[2.10 who:显示当前登录系统的用户信息](#2.10 who:显示当前登录系统的用户信息)

[2.11 last:显示当前及过去登录系统的用户信息](#2.11 last:显示当前及过去登录系统的用户信息)

[3 用户切换](#3 用户切换)

[3.1 su:切换用户](#3.1 su:切换用户)

[3.2 sudo:以其他用户身份执行命令](#3.2 sudo:以其他用户身份执行命令)

小试牛刀~


1 用户及组管理

用户需要使用操作系统时,都要先输入用户名及密码登录到系统后才可以使用,在安装RHEL 5.x后默认只有一个名为root的超级用户,该用户是整个系统的管理员,为了让其他用户也可以使用这个系统我们还需要建立其他的用户。

Linux系统中对用户来说用户组有两种:初始组、额外组。每个用户必须属于一个初始组,同时也可以加入到多个额外组中。对于Linux系统中的用户初始组是必需的,额外组是可选的。

当在Linux系统中输入用户名及密码登录后,在整个使用过程中Linux系统会将每个用户看做一个32位的整数,这个整数就是UID。

在Linux系统中有以下三种类型的用户:

1.一般用户 一般用户是登录计算机工作的人。不同的人使用不同的用户名以便他们可以独立操作。默认情况下UID会是一个500到60000的整数。

2.超级用户 超级用户默认是root 用户,该用户的UID为0。

3.系统用户 在Linux中有些服务在安装时会分配服务自身使用的UID和用户名。系统用户预留的UID是从1到499的整数。

默认情况下

|----------|------------|-------------------------|
| 当前用户 | 提示符 | 家目录(只有用户自己可以访问) |
| 管理员 | 以"#"结尾 | 在"/root"中 |
| 一般用户 | 以"$"结尾 | 在"/home"目录下一个和用户名相同的目录中 |

管理员:

一般用户:

2 用户及用户组管理命令

2.1 useradd:建立用户 useradd命令用于建立用户,该

  • useradd用于建立用户,用户建立完成后还需要通过"passwd"命令指定用户的密码。

2.2 passwd:更改用户密码

  • 一般情况下root用户才能更改用户密码
  • 切换有密码的用户时,密码为要切换用户的密码,而不是当前用户密码(su谁,密码就要填谁的

2.3 usermod:更改用户信息

2.4 groupadd:建立用户组

2.5 finger:查找并显示用户信息

2.6 groupmod:更改GID与组名称

2.7 userdel:删除用户组

2.8 groupdel:删除用户组

2.9 w:显示当前登录系统的用户及用户进程信息

2.10 who:显示当前登录系统的用户信息

2.11 last:显示当前及过去登录系统的用户信息

3 用户切换

推荐平时使用 时还是可以使用一个非root的用户,只有在需要完成一些只有root用户可以用的操作时才使用root用户

3.1 su:切换用户

su命令可以在不重新登录系统的情况下临时改变用户的身份,该命令语法如下。

要从root用户切换到普通用户user,则使⽤ su user。
要从普通⽤⼾user切换到root用户则使⽤ su root(root可以省略),此时系统会提⽰输⼊root⽤⼾的 ⼝令。

在使用su命令切换到其他用户后可以使用"exit"命令恢复原来的用户身份。

3.2 sudo:以其他用户身份执行命令

使用su命令切换用户时,有一个明显的安全问题就是一般用户必须知道欲切换用户的密码时才可以成功执行su命令。

假设有这样一种情况,管理员希望系统中的某些用户可以使用部分只有管理员才可以使用的命令,这时如果使用su命令管理员就必须将自己的密码告诉这些用户,这样显然是不安全的。这时可以通过sudo命令解决这个问题

只有root用户可以使用sudo命令

-u [<用户名>|#<UID>]

指定执行指定命令的用户,如不指定则表示希望使root用户执行指定命令。

下一篇权限再讲~~

小试牛刀~

(1)建立一个名为"lost"的用户组。


(2)建立一个名为"kate"的用户并指定该用户UID为1000。


(3)设置用户"kate"的密码为"redhat"。


(4)建立一个名为"shannon"的用户并指定其初始组为"lost"。


(5)为用户"kate"指定一个名为"lost"的额外组。


(6)建立一个名为"charlie"的用户指定其家目录为"/home/lost"。

相关推荐
青草地溪水旁2 小时前
pthread_mutex_lock函数深度解析
linux·多线程·pthread
太空的旅行者3 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师5 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
灿烂阳光g5 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux
风中的微尘6 小时前
39.网络流入门
开发语言·网络·c++·算法
Ronin3056 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
混分巨兽龙某某7 小时前
基于Qt Creator的Serial Port串口调试助手项目(代码开源)
c++·qt creator·串口助手·serial port
ZzzK,7 小时前
JAVA虚拟机(JVM)
java·linux·jvm
小冯记录编程7 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio