> 文章列表 > 轻松搞懂Linux中的用户管理

轻松搞懂Linux中的用户管理

轻松搞懂Linux中的用户管理

在这里插入图片描述

文章目录

概念

用户管理是Linux系统管理员必须掌握的重要技能之一。Linux系统是一个多用户操作系统,可以支持多个用户同时使用,每个用户拥有自己的账户和权限,因此管理员需要了解如何创建、管理和删除用户账户,并设置用户权限以及如何为用户分配组和角色等。在本篇博客中,我将详细讨论Linux用户管理的各个方面,以及常见的用户管理工具和技巧,帮助读者掌握Linux用户知识。

用户账户

用户账户是Linux系统中的基本概念,每个用户都有一个唯一的账户名和密码,用于登录系统并执行各种操作。管理员可以创建、修改和删除用户账户,以及配置用户的权限和属性。

  1. 创建用户账户

在Linux系统中,可以使用useradd命令来创建用户账户。语法如下:

useradd [选项] 用户名

例如,要创建一个名为bob的用户,可以使用以下命令:

useradd bob

执行该命令后,系统会自动为bob用户创建一个主目录/home/bob,并分配一个默认的shell/bin/bash。如果需要指定其他的shell或目录,可以使用以下选项

  • -m:自动创建用户的主目录
  • -s shell:指定用户的默认shell。
  • -c:设置用户的注释信息。
  • -d:指定用户的主目录。
  • -g:指定用户所属的主组。

例如,以下命令将创建一个名为“john”的新用户,并将其主目录设置为“/home/john”,默认Shell设置为“/bin/bash”:

useradd -d /home/john -s /bin/bash john
  1. 修改用户账户

管理员可以使用usermod命令修改现有的用户账户。例如,要将bob用户的默认shell修改为/bin/zsh,可以使用以下命令:

usermod -s /bin/zsh bob

还可以使用usermod命令修改用户的UID、GID、主目录和登录名等属性。例如,要将alice用户的UID修改为1001,可以使用以下命令:

usermod -u 1001 alice
  1. 删除用户账户

在不需要某个用户账户时,可以使用userdel命令将其删除。例如,要删除bob用户的账户和主目录,可以使用以下命令:

userdel -r bob

其中,-r选项表示同时删除用户主目录。

  1. 修改用户密码

在Linux系统中,可以使用passwd命令来修改用户的密码。以下是修改用户密码的基本命令:

passwd 用户名

在执行上述命令时,系统会提示您输入新密码。请注意,在Linux系统中,密码不会在命令行中显示。

  1. 切换用户

在Linux系统中,可以使用su命令来切换用户。以下是切换用户的基本命令:

su 用户名

在执行上述命令时,系统会提示您输入目标用户的密码。当高权限用户切换低权限用户时,不需要输入密码

用户组

用户组是一组相关用户的集合,它们共享相同的权限和属性。在Linux系统中,每个用户都必须属于至少一个用户组。管理员可以创建、修改和删除用户组,以及将用户添加到不同的组中。

  1. 创建用户组

在Linux系统中,可以使用groupadd命令来创建用户组。例如,要创建一个名为dev的用户组,可以使用以下命令:

groupadd dev
  1. 修改用户组

管理员可以使用groupmod命令修改现有的用户组。例如,要将dev用户组的GID修改为1001,可以使用以下命令:

groupmod -g 1001 dev

还可以使用groupmod命令修改用户组的名称。例如,要将dev用户组的名称修改为developers,可以使用以下命令:

groupmod -n developers dev
  1. 删除用户组

在不需要某个用户组时,可以使用groupdel命令将其删除。例如,要删除developers用户组,可以使用以下命令:

groupdel developers #保留用户文件
groupdel -r developers #不保留用户文件

用户权限

Linux系统中的文件和目录都有一些权限属性,包括读、写、执行等。用户可以通过权限属性来控制对文件和目录的访问和操作。管理员可以通过用户权限来控制用户的访问和操作范围。

  1. 文件和目录权限

Linux系统中,每个文件和目录都有一个所有者和一个所属用户组。所有者和用户组可以分别设置读、写和执行权限。管理员可以使用chmod命令来修改文件和目录的权限属性。

在Linux系统中,每个文件或目录都有三种不同类型的访问权限,分别是读取(r)、写入(w)和执行(x)。这些权限是分配给三个不同的用户组,包括文件所有者、文件所属组和其他用户。

chmod命令的语法格式如下:

chmod [who][operator][permission] file

其中,who代表要设置权限的用户组,operator表示要执行的操作,permission表示要设置的权限。

who的取值包括:

  • u:表示文件所有者
  • g:表示文件所属组
  • o:表示其他用户
  • a:表示所有用户(等价于ugo)

operator的取值包括:

  • +:表示添加权限
  • -:表示删除权限
  • =:表示设置权限为指定值

permission的取值包括:

  • r:表示读取权限
  • w:表示写入权限
  • x:表示执行权限
  • s:表示设置SUID或SGID位
  • t:表示设置粘着位

例如,要将文件test.txt的所有者的写权限关闭,可以使用以下命令:

chmod u-w test.txt

chmod命令也可以使用数字修改文件权限

r --> 4
w --> 2
x --> 1

拿 rwxrw-r-x 来说,所有者、所属组和其他人分别对应的权限值为:
所有者 = rwx = 4+2+1 = 7
所属组 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
所以,此权限对应的权限值就是 765。

例如:打开file.txt文件的所有权

chmod 777 file.txt
  1. sudo权限

在Linux系统中,管理员可以通过sudo命令将某个普通用户提升为管理员用户,以便其执行需要管理员权限的操作。管理员可以使用visudo命令编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。例如,以下行允许用户bob以管理员身份执行所有命令:

bob ALL=(ALL) ALL

其中,第一个bob表示用户账户,第二个ALL表示可以在任何主机上执行,(ALL)表示可以作为任何用户执行,第三个ALL表示可以执行任何命令。

用户管理工具

Linux系统中,有许多命令行工具和图形化工具可以帮助管理员进行用户管理。以下是一些常用的用户管理工具。

  1. useradd
    useradd命令用于创建用户账户。管理员可以使用各种选项来指定用户的属性和权限。

  2. usermod
    usermod命令用于修改现有的用户账户。管理员可以使用各种选项来修改用户的属性和权限。

  3. userdel
    userdel命令用于删除用户账户。管理员可以使用-r选项来同时删除用户主目录。

  4. groupadd
    groupadd命令用于创建用户组。管理员可以使用各种选项来指定用户组的属性和权限。

  5. groupmod
    groupmod命令用于修改现有的用户组。管理员可以使用各种选项来修改用户组的属性和权限。

  6. groupdel
    groupdel命令用于删除用户组。

  7. visudo
    visudo命令用于编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。

  8. GNOME 用户和组
    除了命令行工具外,还有一些图形化工具可以帮助管理员进行用户管理。GNOME 用户和组是一个在 GNOME 桌面环境下使用的用户管理工具,可以帮助管理员轻松管理用户和用户组。

    要打开 GNOME 用户和组,可以按下Alt+F2快捷键打开运行对话框,然后输入gnome-system-tools并按回车键。在打开的“用户和组”窗口中,可以添加、修改和删除用户和用户组。

  9. Webmin
    Webmin 是一个基于 web 的管理界面,可以让管理员通过 web 浏览器管理 Linux 系统。Webmin 提供了许多模块,包括用户和组模块,可以帮助管理员进行用户管理。

总的来说,Linux 用户管理是非常重要的,管理员可以通过用户管理来控制用户的访问和操作范围,以保证系统的安全性和稳定性。在本文中,我们介绍了 Linux 用户管理的基础知识,包括用户账户的创建、删除和修改,以及用户组的创建、删除和修改。我们还介绍了一些图形化工具,包括 GNOME 用户和组和Webmin,可以帮助管理员更方便地进行用户管理。

同时,我们还提到了一些注意事项,如不要将 root 用户授权给其他用户、使用强密码等。这些注意事项可以帮助管理员确保系统的安全性。希望这篇文章对初学者和有经验的管理员都有所帮助。