个性化阅读
专注于IT技术分析

Unix和Linux用户管理介绍和操作教程

上一章Unix和Linux教程请查看:Unix和Linux文件管理基本操作

在本章中我们将详细讨论Unix中的用户管理,在Unix系统上有三种类型的帐户:

  • 根帐户这也被称为超级用户,可以完全不受约束地控制系统。超级用户可以不受任何限制地运行任何命令,应该假设该用户是系统管理员。
  • 系统账户——系统帐户是系统特定组件(例如邮件帐户和sshd帐户)操作所需的帐户。这些帐户通常用于系统上的某些特定功能,对它们的任何修改都可能对系统产生负面影响。
  • 用户帐户——用户帐户为用户和用户组提供对系统的交互访问。一般用户通常被分配到这些帐户,并且通常对关键系统文件和目录的访问是有限的。

Unix支持组帐户的概念,从逻辑上将许多帐户分组。每个帐户将是另一个组帐户的一部分,Unix组在处理文件权限和进程管理方面起着重要的作用。

1、管理用户和组

有四个主要的用户管理文件:

(1)/etc/passwd保存用户帐户和密码信息,这个文件包含关于Unix系统上的帐户的大部分信息。

(2)/etc/shadow—保存相应帐户的加密密码,并不是所有的系统都支持这个文件。

(3)/etc/group——这个文件包含每个帐户的组信息。

(4)/etc/gshadow——这个文件包含安全的组帐户信息。

使用cat命令检查所有上述文件,下表列出了在大多数Unix系统上用于创建和管理帐户和组的命令:

编号 命令 & 描述
1 useradd 向系统添加帐户
2 usermod 修改账户属性
3 userdel 从系统中删除帐户
4 groupadd 向系统添加组
5 groupmod 修改组属性
6 groupdel 从系统中删除组

2、创建组

现在我们将了解如何创建一个组,为此我们需要在创建任何帐户之前创建组,否则我们可以使用系统中现有的组,我们在/etc/groups文件中列出了所有的组。

所有默认组都是系统帐户特定的组,不建议将它们用于普通帐户,因此下面是创建新组帐户的语法:

groupadd [-g gid [-o]] [-r] [-f] groupname

下表列出了这些参数:

编号 选项 & 描述
1 -g GID 组ID的数值
2 -o 此选项允许添加具有非唯一GID的组
3 -r 此标志指示groupadd添加系统帐户
4 -f 如果指定的组已经存在,则此选项导致仅以成功状态退出。对于-g如果指定的GID已经存在,则选择其他的(唯一的)GID
5 groupname 要创建的实际组名

如果没有指定任何参数,则系统将使用默认值。下面的示例创建了一个具有默认值的开发人员组,这对于大多数管理员来说都是可以接受的。

$ groupadd developers

3、修改组

要修改组请使用groupmod语法:

$ groupmod -n new_modified_group_name old_group_name

要将developers_2组名称更改为developer输入:

$ groupmod -n developer developer_2

下面是如何将GID更改为545:

$ groupmod -g 545 developer

4、删除组

现在我们将了解如何删除一个组,要删除现有的组,只需要groupdel命令和group name,要删除组的命令是:

$ groupdel developer

这只删除组而不删除与该组关联的文件,文件的所有者仍然可以访问这些文件。

5、创建账号

让我们看看如何在你的Unix系统上创建一个新帐户,下面是创建用户帐户的语法:

useradd -d homedir -g groupname -m -s shell -u userid accountname

下表列出了这些参数:

编号 选项 & 描述
1 -d homedir 指定帐户的主目录
2 -g groupname 指定此帐户的组帐户
3 -m 创建不存在的主目录
4 -s shell 指定此帐户的默认shell
5 -u userid 你可以为此帐户指定一个用户id
6 accountname 要创建的实际帐户名

如果没有指定任何参数,则系统将使用默认值,useradd命令修改/etc/passwd、/etc/shadow和/etc/group文件并创建一个主目录。

下面是创建帐户mcmohd的示例,将其主目录设置为/home/mcmohd,并将组设置为开发人员,这个用户会将Korn Shell分配给它。

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

在发出上述命令之前,请确保已经使用groupadd命令创建了开发人员组。

6、修改账户

usermod命令允许你从命令行更改现有帐户,它使用与useradd命令相同的参数,以及允许更改帐户名称的-l参数。

例如要将帐户名mcmohd更改为mcmohd20并相应地更改主目录,需要发出以下命令:

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

7、删除账户

userdel命令可用于删除现有用户。如果不小心使用,这是一个非常危险的命令。对于.r命令,只有一个参数或选项可用,用于删除帐户的主目录和邮件文件。例如要删除帐户mcmohd20,请发出以下命令:

$ userdel -r mcmohd20
赞(0)
未经允许不得转载:srcmini » Unix和Linux用户管理介绍和操作教程

评论 抢沙发

评论前必须登录!