Linux用户及用户组管理命令

Linux操作系统是一种基于UNIX的多用户、多任务的操作系统。在Linux系统中,用户和用户组的管理是非常重要的,因为它关系到系统安全和多用户环境下的资源共享。本文将详细介绍Linux中用户和用户组管理的相关命令,帮助用户更好地理解和管理Linux系统。

1. 用户管理命令

1.1 添加用户

  • useradd:添加新用户
    • 语法:useradd [选项] 用户名
    • 示例:useradd -m john 添加一个新用户john,并为其创建家目录。

系统将创建一个新用户john, 该用户的 Home 目录为/home/john

useradd 命令的参数较多 常用的组合为

useradd 用户名 -g 组名 --G 组名 -d Home 目录名 -p 密码

其中 -g 指定该用户的首要组

-G 指定该用户的次要组

-d 指定该用户的 Home 目录

-p 指定该用户的密码

如输入以下命令

useradd oracle --g oinstall --G dba --d /home/oracle --p ora123

系统将创建一个用户 oracle oracle 用户的首要组为 oinstall 次要组为 dba

Home 目录为/home/oracle 密码为 ora123

1.2 删除用户

  • userdel:删除用户账号
    • 语法:userdel [选项] 用户名
    • 示例:userdel -r john 删除用户john,并将其家目录一并删除。

1.3 修改用户信息

  • usermod:修改用户信息
    • 语法:usermod [选项] 用户名
    • 示例:usermod -G developers john 将用户john添加到developers组。

1.4 查看用户信息

  • id:显示用户的用户ID、组ID及所属的用户组

    • 语法:id 用户名
    • 示例:id john 显示用户john的用户ID、组ID及所属的用户组信息。
  • finger:显示用户的详细信息

    • 语法:finger [选项] 用户名
    • 示例:finger john 显示用户john的详细信息。

2. 用户组管理命令

2.1 添加用户组

  • groupadd:添加新的用户组
    • 语法:groupadd [选项] 组名
    • 示例:groupadd developers 添加一个名为developers的新组。

2.2 删除用户组

  • groupdel:删除用户组
    • 语法:groupdel 组名
    • 示例:groupdel developers 删除名为developers的用户组。

2.3 修改用户组信息

  • groupmod:修改用户组信息
    • 语法:groupmod [选项] 组名
    • 示例:groupmod -n newname developers 将developers组重命名为newname组。

2.4 查看用户组信息

  • getent:获取条目信息

    • 语法:getent group 组名
    • 示例:getent group developers 获取developers组的信息。
  • groups:显示用户所属的所有用户组

    • 语法:groups 用户名
    • 示例:groups john 显示用户john所属的所有用户组信息。

3. 其它相关命令

3.1. passwd

出于系统安全考虑 Linux系统中的每一个用户除了有其用户名外还有其对应的用户口令 用户可以随时用 passwd 命令改变自己的口令 该命令的一般格式为:

  • passwd

输入该命令后 按系统提示依次输入密码和密码确认后 即可完成用户密码的修改

此外 超级用户还可以修改其他用户的口令 命令如下:

  • passwd 用户名

3.2. su

su 命令这个命令非常重要 它可以让一个普通用户拥有超级用户或其他用户的权限 也可以让超级用户以普通用户的身份做一些事情 普通用户使用这个命令时必须有超级用户或其他用户的口令 如要离开当前用户的身份 可以键入 exit 命令 su 命令的一般形式为:

  • su - 用户名

3.3. chmod

chmod 命令是非常重要的 用于改变文件或目录的访问权限 该命令有两种用法 一种是包含字母和操作符表达式的文字设定法 另一种是包含数字的数字设定法

由于数字设定法不太直观 本文不做介绍 文字设定法的用法如下

  • chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义为:
1. 操作对象 who 可以是下述字母中的任一个或者它们的组合

u 表示用户(user) 即文件或目录的所有者

g 表示同组(group)用户 即与文件属主有相同组 ID 的所有用户

o 表示其他(others)用户

a 表示所有(all)用户 它是系统默认值
2. 操作符号可以是

  • 添加某个权限
  • 取消某个权限

= 赋予给定权限,并取消其他所有权限
3. mode 表示权限 常用的参数有

r 可读

w 可写

x 可执行

举例

**1.**将文件 script 的权限设为可执行 命令如下:

  • chmod =rx text

执行成功后 用 ls -l script 命令查看文件属性的结果如下

-r-xr-xr-x 1 user group 0 Feb 10 09:42 script
2. 将文件 text 的权限设为 文件属主可读 可写 可执行 与文件属主同组

的用户可读 其他用户不可读 命令如下:

  • chmod u=rwx,g=r,o= text

注意,后无空格 o=后有空格,执行成功后 用 ls --l text 命令查看文件属性的结果如下

-rwxr----- 1 user group 0 Feb 10 09:42 text

3.4. chown

chown 用于更改某个文件或目录的属主和属组 这个命令也很常用 例如

root 用户把自己的一个文件拷贝给用户 oracle 为了让用户 oracle 能够存

取这个文件 root 用户应该把这个文件的属主设为oracle 否则用户oracle

无法存取这个文件 chown 的基本用法为

chown [用户:组] 文件

举例

  • chown oracle:dba text

该命令将 text 文件的属主和属组分别改为 oracle 和 dba

4. 管理用户和用户组的注意事项

  • 在添加或删除用户和用户组时,需要注意对系统的影响,尤其是当操作的是系统关键用户或用户组时。
  • 修改用户信息或用户组信息时,需要确保新的信息符合系统的安全策略和业务需求。
  • 在进行用户和用户组管理操作时,建议使用root用户或具有相应权限的用户执行,以避免权限不足导致的错误。
  • 定期审计用户和用户组信息,确保系统的用户和用户组配置符合组织的安全策略。

通过上述命令和注意事项的介绍,相信用户可以更加熟练地进行Linux系统下的用户及用户组管理。合理地管理用户和用户组,不仅可以提高系统的安全性,还可以有效地实现资源共享和权限控制,为多用户环境下的系统管理提供便利。

目录

[1. 用户管理命令](#1. 用户管理命令)

[1.1 添加用户](#1.1 添加用户)

[1.2 删除用户](#1.2 删除用户)

[1.3 修改用户信息](#1.3 修改用户信息)

[1.4 查看用户信息](#1.4 查看用户信息)

[2. 用户组管理命令](#2. 用户组管理命令)

[2.1 添加用户组](#2.1 添加用户组)

[2.2 删除用户组](#2.2 删除用户组)

[2.3 修改用户组信息](#2.3 修改用户组信息)

[2.4 查看用户组信息](#2.4 查看用户组信息)

[3. 其它相关命令](#3. 其它相关命令)

[3.1. passwd](#3.1. passwd)

[3.2. su](#3.2. su)

[3.3. chmod](#3.3. chmod)

[3.4. chown](#3.4. chown)

[4. 管理用户和用户组的注意事项](#4. 管理用户和用户组的注意事项)


相关推荐
梅见十柒7 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热10 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎21 分钟前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
我们的五年30 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记1 小时前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教1 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特1 小时前
环境变量简介
linux
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!2 小时前
【Linux】进程状态
linux·运维
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump