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)。

相关推荐
z2023050819 小时前
RDMA之路由算法介绍 (6)
linux·服务器·网络·人工智能·ai
楼兰公子19 小时前
# RK3588 Linux 驱动开发完整学习指南RK3588_Linux_Driver_Development.md
linux·驱动开发
光电笑映19 小时前
Linux 文件 IO:从概念到系统调用
linux·运维·服务器
历程里程碑19 小时前
53 多路转接select
linux·开发语言·数据结构·数据库·c++·sql·排序算法
WYH28719 小时前
一、驱动基础
linux·嵌入式硬件
痕忆丶19 小时前
openharmony开发之磁盘相关
linux
z2023050819 小时前
RDMA 之RoCEv2 的报文格式(5)
linux·服务器·网络·人工智能
uesowys19 小时前
CentOS Linux安装部署Hermes Agent智能体
linux·centos·hermes agent
毋语天19 小时前
Linux 命令——文件、进程、网络与 Vim 编辑器
linux·网络·编辑器
William.csj19 小时前
Linux——查看cuda版本的全面方法
linux·运维·服务器