Linux基础知识13:用户、用户组管理

Linux是多用户操作系统。系统允许注册多个用户,且用户还可以组成用户组。一个用户可以参加多个用户组。如此,就产生了用户、用户组的管理问题。这些管理问题主要涉及用户、用户组的创建、删除以及权限控制等。关于用户、用户组的绝大部分操作命令都需要root权限,所以操作时应取得root权限,或在命令前加上sudo。有些查询命令会因某些参数影响短时间内不会自行退出运行界面,此时可使用Ctr_c强行退出。

一、用户组管理

1.创建用户组命令groupadd

语法:groupadd 用户组名

选项:无

参数:用户组名

举例:创建一个名为mygroup的用户组,命令如下:

groupadd mygroup

2.删除用户组命令 groupdel

语法:groupdel 用户组名

选项:无

参数:用户组名

举例:删除前面创建的mygroup用户组,命令如下:

groupdel mygroup

3.查看用户所属组命令id

语法:id 用户名

选项:无

参数:用户名,被查看的用户名省略时表示查询当前用户

4.加入用户组命令 usermod

语法:usermod -aG 用户组名 用户名

选项:-aG,usermod还有其它功能,此选项用于修改用户所属组

说明:该命令选项的作用是用户加入新的用户组,用户参加的其它用户组并不退出。

举例:将用户user1加入到mygroup用户组,同时不影响user1曾加入的其它组,命令如下:

usermod -aG mygroup user1

5.退出用户组命令 gpasswd

语法:gpasswd -d 用户名 用户组名

选项:-d,gpasswd还有其它功能,-d用于退出用户组

参数:用户名、用户组名

举例:将用户user1从用户组group1中退出,命令如下:

gpasswd -d user1 group1

6.查询当前系统中用户组 getent group

语法:getent group

参数:group,用户组

说明:

a.运行结果包含三份用冒号相隔的信息,分别是:组名称,密码(x表示有密码),组的ID。

b.如果仅想显示普通用户组,过滤掉系统用户,可在命令后再加参数:{1000..60000}。

二、用户管理

1.创建用户命令 useradd

功能:在安装Linux时曾设置过用户名、密码等,这仅是创建用户的一种方式。使用这个创建用户命令可以随时创建新的用户。

语法:useradd -g -d 用户名

选项:-g,指定用户的组,如不指定则会自动创建组名与用户名的相同的组。

-d,指定用户工作目录;如不指定可使用-m生成:/home/用户名的工作目录。

说明:指定用户组、指定工作目录应当也已存在。

举例:创建一个名为stu1的用户,加入stu用户组,使用默认工作目录,目录如下:

useradd -g stu stu1

2.用户切换命令 su

功能:上一篇文章中曾涉及su作为切换到root用户的命令,普通用户间的切换也是使用su命令。

语法:su - 用户名

说明:

a.su命令后加上选项"-",表示切换用户的同时也切换环境变量。

b.退出切换的命令是:exit

3.删除用户 userdel

语法:userdel -r 用户名

选项:-r,使用-r选项表示在删除用户的同时删除其工作目录

参数:用户名

说明:

举例:删除用户stu1,同时删除其工作目录,命令如下:

userdel -r stu1

4.查看当前系统中用户命令 getent passwd

语法:getent passwd

选项:无

参数:passwd,以查询密码方式查找用户列表

说明:

a.用户类别:超级用户(ID=0),即root用户,权限最高;系统用户(ID=1-999),系统内建的用户;普通用户(ID=1000~60000),Linux用户建立的账户。

b.如果仅查询普通用户的信息,可在命令后加上查询范围做参数,命令为:getent passwd {1000..60000}。

c.查询结果中有七份信息(用冒号分隔),分别是:用户名、密码(用x表示)、用户ID、组ID、描述信息(一般空)、工作目录、执行终端(默认bash)。

相关推荐
库玛西17 分钟前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
薛定谔的悦4 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
新时代牛马7 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
Julien20047 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey8 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
MayZork10 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
zbyyd11 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
w2005122414 小时前
Pod管理
linux·服务器·云原生·容器·k8s·podman
chen<>15 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++
一直C15 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code