linux之用户和用户相关的命令

linux之用户和用户相关的命令

简介

在Linux系统中,用户和用户组是极其重要的概念。用户组是用户的集合,而用户则是系统的登录者和资源的使用者。

用户

在Linux系统中,每个用户都有一个用户名和密码,用于登录系统。Linux是一个多用户操作系统,允许多个用户同时登录系统并使用其资源。Linux系统的用户通常分为以下几类:

超级用户:这类用户的用户名通常是root,其UID和GID均为0。这是Linux系统中的"上帝",拥有最大的权限,可以操作系统中的任何文件和命令。在生产环境中,通常禁止root用户通过SSH远程登录服务器,以加强系统安全。

程序用户:这类用户通常是系统进程所需要的用户,其UID范围在1到499之间。

普通用户:这类用户的UID范围在500到65535之间。

用户组

用户组是用户的集合,每个用户都属于至少一个用户组。Linux系统下的每一个目录、文件,都会有其属于的用户和用户组。Linux系统中的每一个进程在执行时,也会有一个属于的用户和用户组。通常在实际操作中,我们往往更加关注用户组而非单独的用户。Linux系统中的每个用户组都有一个唯一的GID。

总的来说,Linux通过UID和GID来对用户和用户组进行管理。在Linux系统中,每个用户和每个用户组都有唯一的UID和GID。用户的角色和权限是通过UID和GID来确定的,而管理员通常会设置用户名和组名以使得用户和用户组的管理更加人性化

用户组

1)创建/添加用户组:groupadd

groupadd group_name:创建一个新的用户组,例如 groupadd developers。

2)删除用户组:groupdel

groupdel group_name:删除一个用户组,例如 groupdel developers。

3)修改用户组:groupmod

groupmod -g GID group_name:修改用户组的GID。

groupmod -n new_group_name group_name:修改用户组的名称。

4)查看用户组信息:getent 或 cat

getent group group_name:查看指定用户组的信息。

cat /etc/group:查看所有用户组的信息。

5)查看当前用户所属的用户组:groups 或 id

groups username:查看指定用户所属的用户组。

id -Gn username:查看指定用户的用户组,每个组名之间用空格分隔。

6)查看当前登录用户的用户组:groups 或 id

groups:查看当前登录用户所属的所有用户组。

id -Gn:查看当前登录用户的用户组,每个组名之间用空格分隔。

7)切换到其他用户组:newgrp 或 sg

newgrp group_name:切换到指定用户组,并执行指定的命令或程序。

sg group_name command:使用指定的用户组执行指定的命令或程序。

8)添加用户到用户组:usermod -aG group_name username

usermod -aG group_name username:将指定用户添加到指定用户组中。

9)从用户组中删除用户:gpasswd -d username group_name

gpasswd -d username group_name:从指定用户组中删除指定用户。

10)查看当前登录用户的所有用户组和成员:getent group | grep $(whoami)

getent group | grep $(whoami):查看当前登录用户的所有用户组及其成员信息。

用户

1)创建用户:useradd 或 adduser

useradd username:创建一个新的用户,例如 useradd mike。

adduser username:创建一个新的用户并添加到默认组,例如 adduser mike。

2)设置用户密码:passwd username

passwd username:为指定用户设置密码。

3)删除用户:userdel 或 deluser

userdel username:删除一个用户,例如 userdel mike。

deluser username:删除一个用户并删除其主目录,例如 deluser --remove-home mike。

4)修改用户信息:usermod

usermod -u UID username:修改用户的UID。

usermod -g groupname username:修改用户的所属组。

usermod -d /path/to/homedir username:修改用户的主目录。

5)查看用户信息:getent 或 id 或 cat

getent passwd username:查看指定用户的信息。

id username:查看指定用户的详细信息,包括UID、GID和所属组等。

cat /etc/passwd:查看所有用户的信息。

6)查看当前登录用户信息:whoami 或 id -u -n

whoami:查看当前登录用户的用户名。

id -u -n:查看当前登录用户的UID和用户名。

7)切换到其他用户:su username 或 sudo username

su username:切换到指定用户,需要输入目标用户的密码。

sudo username:以目标用户的权限执行指定的命令,需要输入当前用户的密码。

8)添加用户到sudo组:usermod -aG sudo username

usermod -aG sudo username:将指定用户添加到sudo组,使其具有管理员权限。

相关推荐
何以不说话9 小时前
堡垒机jumpserver
运维·sql
开开心心就好9 小时前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
D11_9 小时前
[特殊字符]️ 5379工具箱 - 全部网站链接汇总
服务器·百度·阿里云·typescript·编辑器
花间相见9 小时前
【AI开发】—— Ubuntu系统使用nvm管理Node.js多版本,版本切换一键搞定(实操完整版)
linux·ubuntu·node.js
PPPPPaPeR.9 小时前
从零实现一个简易 Shell:理解 Linux 进程与命令执行
linux·开发语言·c++
Byte不洛10 小时前
Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解
linux·多线程·并发编程·pthread·生产者消费者模型
小Pawn爷10 小时前
13.virtualbox安装ubuntu
linux·运维·ubuntu
乾元10 小时前
暗网情报:自动化采集与情感分析在威胁狩猎中的应用
运维·网络·人工智能·深度学习·安全·架构·自动化
VekiSon10 小时前
Linux内核驱动——Ubuntu 网络启动环境配置与操作
linux·arm开发·嵌入式硬件·ubuntu
YYYing.10 小时前
【Linux/C++进阶篇(二) 】超详解自动化构建 —— 日常开发中的“脚本” :Makefile/CMake
linux·c++·经验分享·ubuntu