本文最后更新于 2025-02-26,学习久了要注意休息哟

在学习本篇之前,我们需要知道,我们用户管理管理那些东西,对比我们的Windows操作系统,我们的Windows系统在我们拿到电脑的那一刻,就会要求你创建一个用户,用于管理你的账号,我们的Linux系统有以下几个操作点:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

第一章 用户的定义

在Linux系统中,用户是操作系统中进行操作和管理资源的基本单位。每个用户都可以有不同的权限,以控制其对系统资源的访问。Linux系统中的用户可以是普通用户,也可以是具有特殊权限的超级用户(root)。

1.1 用户的属性

每个用户在Linux系统中都有一组属性,这些属性用于标识用户及其权限。常见的用户属性包括:

  • 用户名:用于唯一标识用户。
  • 用户ID (UID):每个用户都有一个唯一的UID,用于在系统中识别用户。
  • 组ID (GID):每个用户属于一个或多个组,组ID用来标识用户所属的组。
  • 家目录:每个用户都有一个默认的家目录,通常是/home/用户名,用于存储该用户的个人文件。
  • 默认Shell:指定用户登录时使用的Shell程序,通常为/bin/bash/bin/zsh等。
  • 用户密码:每个用户有一个密码,用于验证用户身份。

1.2 用户与组

在Linux中,用户不仅是系统的基本操作单位,组也是重要的概念。一个用户可以属于多个组,组的作用是对一组用户进行权限管理。用户和组的关系可以帮助管理员更好地控制文件和目录的访问权限。

  • 用户组:每个用户至少有一个默认的主组。用户可以加入其他的附加组,形成多组结构。这样,用户可以通过组来访问共享资源。
  • 主组和附加组:用户的主组通常是创建用户时指定的组,而附加组则可以通过usermod命令进行修改。
  • 组ID (GID):类似于UID,GID用来标识一个组。

用户和组的关系通常通过以下命令进行管理:

# 查看当前用户的组
groups

# 添加新组
sudo groupadd groupname

# 为用户添加到组
sudo usermod -aG groupname username

1.3 用户的配置文件

用户的配置文件存储了用户的个人设置和环境变量。它们通常位于用户的家目录下。常见的用户配置文件包括:

  • /etc/passwd:该文件存储了系统中所有用户的基本信息,如用户名、UID、GID、家目录路径等。该文件是所有用户配置的核心文件之一。
  • /etc/shadow:该文件存储了用户的密码信息和相关的过期日期。系统管理员可以在此文件中管理用户密码的安全设置。
  • /etc/group:该文件包含系统中所有组的信息,包括组名、GID以及每个组的成员。
  • ~/.bashrc:这是用户的Bash Shell配置文件,每当用户登录时,该文件会被执行。可以在其中设置环境变量、命令别名等。
  • ~/.profile:用户登录时会读取该文件,通常用于设置环境变量、路径等。

用户的配置文件可以帮助个性化设置环境,如配置别名、设置PATH路径等。例如,可以通过修改~/.bashrc文件来设置命令别名:

alias ll='ls -alF'=

第二章 用户管理

adduser 添加用户
useradd 添加用户
        adduser  用户名
        -home 路径   :指定用户主目录
        -uid  编号   :指定用户编号
        -gid  编号   :指定用户组编号
    当添加一个用户时会自动将用户信息添加到/etc/passwd, /etc/group, /etc/shadow
    并且会在/home下创建用户主目录

passwd  设置密码 -> 设置口令
        passwd  目标用户
        -l锁定用户; -u解锁用户; -S查询用户状态:sudo passwd -S edu         

userdel 删除用户
deluser 删除用户
        userdel 目标用户
    -r  删除用户时删除用户主目录:sudo userdel -r edu

su 切换用户
        su  目标用户
        -c  执行指令
exit  退回上一个用户

1.1 增加用户命令 useradd

1.1.1 命令解释

我们可以使用增加用户的命令 useradd ,命令格式如下

# usaradd [选项] [用户名]
# 
查看所有用户
sudo groupadd
  • 选项:

    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -s Shell文件 指定用户的登录Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名:

    指定新账号的登录名。

1.1.2 操作实例

操作实例1

在root 用户下操作
第一种办法
# useradd –d /home/linux -m linux
# passwd linux              // 设置密码
第二种办法
# useradd -m linux          // 创建用户
# passwd linux              // 设置密码
第三种办法 
# adduser linux             // 创建用户
    // 第三种办法是下面会提示输入密码   推荐使用

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。

1.2 删除用户 userdel

==删除用户后如果没有删除干净就重启系统,可能需要多重启几次==

当我们某一个用户不再使用的时候,我们需要对其进行删除,我们就需要使用到 `` 命令,命令格式如下

$ userdel [选项] [用户名]

经常使用到的选项为 -r ,他的主要作用是连带用户主目录一起删除

例如:

# userdel -r linux

1.3 修改用户

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:

$ usermod [选项] [操作] [目标用户]

基本选项和增加命令是一样的

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

1.4 增加用户组

sudo groupadd 用户名

1.4 口令管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

$ passwd [选项] [用户名]

可使用的选项:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。

实例:

# passwd linux