Linux用户管理


在讨论 用户 管理时,我们有三个重要的术语来理解

  • 用户
  • 权限

我们已经讨论了应用于文件和文件夹的深入权限。在本章中,我们来讨论一下用户和组。

CentOS用户

在CentOS中,有两种类型的帐户

  • 系统帐户 - 用于守护进程或其他软件。

  • 交互式帐户 - 通常分配给用户访问系统资源。

两种用户类型的主要区别是

  • 系统帐户 被守护进程用来访问文件和目录。这些通常不允许通过shell或物理控制台登录进行交互式登录。

  • 交互式帐户 被最终用户用于从外壳或物理控制台登录访问计算资源。

通过对用户的基本了解,现在让我们在会计部门为Bob Jones创建一个新用户。使用 adduser 命令添加新用户。

以下是一些 adduser 常用开关 -

参数 动作
-c 向用户帐户添加注释
-m 如果不存在,则在默认位置创建用户主目录
-g 默认组来分配用户
-n 不为用户创建私人组,通常是使用用户名的组
-M 不创建主目录
-s 默认的shell不是 /bin/bash
-u 指定UID(否则由系统分配)
-G 用于分配用户的其他组

创建新用户时,请按如下所示使用 -c,-m,-g,-n 开关

[root@localhost Downloads]# useradd -c "Bob Jones  Accounting Dept Manager"
-m -g accounting -n bjones

现在让我们看看我们的新用户是否已经创建

[root@localhost Downloads]# id bjones
(bjones) gid = 1001(accounting) groups = 1001(accounting)

[root@localhost Downloads]# grep bjones /etc/passwd
bjones:x:1001:1001:Bob Jones  Accounting Dept Manager:/home/bjones:/bin/bash

[root@localhost Downloads]#

现在我们需要使用passwd命令启用新帐户

[root@localhost Downloads]# passwd bjones
Changing password for user bjones.
New password:  
Retype new password:  
passwd: all authentication tokens updated successfully.

[root@localhost Downloads]#

用户帐户未启用,允许用户登录到系统。

禁用用户帐户

有几种方法可以禁用系统上的帐户。这些范围从手工编辑/ etc / passwd文件开始。甚至使用带 -l 开关的 passwd 命令。这两种方法都有一个很大的缺点:如果用户具有 ssh 访问权限并使用RSA密钥进行身份验证,他们仍然可以使用此方法登录。

现在让我们使用 chage 命令,将密码过期日期更改为上一个日期。另外,最好在账户上注明我们为什么禁用它。

[root@localhost Downloads]# chage -E 2005-10-01 bjones

[root@localhost Downloads]# usermod  -c "Disabled Account while Bob out of the country for five months" bjones

[root@localhost Downloads]# grep bjones /etc/passwd
bjones:x:1001:1001:Disabled Account while Bob out of the country for four
months:/home/bjones:/bin/bash

[root@localhost Downloads]#

管理组

在Linux中管理组使得管理员可以方便地将容器中的用户与适用于所有组成员的权限集合在一起。例如,Accounting中的所有用户可能需要访问相同的文件。因此,我们创建一个会计组,添加会计用户。

大多数情况下,任何需要特殊权限的内容都应该在一个组中完成。这种方法通常会节省时间,而不会对一个用户应用特殊权限。例如,Sally负责报告,只有Sally需要访问某些报告文件。但是,如果莎莉病了一天,鲍勃确实报道了什么呢?或者报告需求增长?一个团队成立时,管理员只需要做一次。添加用户是根据需要更改或扩展应用的。

以下是用于管理组的一些常用命令 -

  • chgrp命令
  • GROUPADD
  • usermod命令

chgrp - 更改文件或目录的组所有权。

让我们为会计组中的人员创建一个目录来存储文件并为文件创建目录。

[root@localhost Downloads]# mkdir /home/accounting

[root@localhost Downloads]# ls -ld /home/accounting
drwxr-xr-x. 2 root root 6 Jan 13 10:18 /home/accounting

[root@localhost Downloads]#

接下来,让我们将 小组所有权 交给 会计 组。

[root@localhost Downloads]# chgrp -v  accounting /home/accounting/
changed group of ‘/home/accounting/’ from root to accounting

[root@localhost Downloads]# ls -ld /home/accounting/
drwxr-xr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

现在,会计组中的每个人都已 读取执行 / home / accounting的 权限。他们也需要写入权限。

[root@localhost Downloads]# chmod g+w /home/accounting/

[root@localhost Downloads]# ls -ld /home/accounting/
drwxrwxr-x. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

由于 会计小组 可能会处理敏感文件,因此我们需要为 其他世界 应用一些限制性许可。

[root@localhost Downloads]# chmod o-rx /home/accounting/

[root@localhost Downloads]# ls -ld /home/accounting/
drwxrwx---. 2 root accounting 6 Jan 13 10:18 /home/accounting/

[root@localhost Downloads]#

groupadd - 用于创建新组。

参数 命令
-g 指定组的GID
-K 在/etc/login.defs中覆盖GID的规格
-o 允许覆盖非唯一的组ID禁止
-p 组密码,允许用户激活自己

我们来创建一个名为secret的新组。我们将为该组添加密码,允许用户使用已知的密码添加自己。

[root@localhost]# groupadd secret

[root@localhost]# gpasswd secret
Changing the password for group secret
New Password:  
Re-enter new password:

[root@localhost]# exit
exit

[centos@localhost ~]$ newgrp secret
Password:

[centos@localhost ~]$ groups
secret wheel rdc

[centos@localhost ~]$

实际上,组的密码不经常使用。次要群体是足够的,在其他用户之间共享密码并不是一个很好的安全做法。

命令是用来显示用户属于哪个组。在对当前用户进行一些更改后,我们将使用它。

usermod 用于更新帐户属性。

以下是常见的 usermod 开关。

参数 动作
-a 追加,只有使用-G选项才能将用户添加到补充组
-c 注释,更新用户注释值
-d 主目录,更新用户的主目录
-G 组,添加或删除辅助用户组
-g 组,用户的默认主要组
[root@localhost]# groups centos
centos : accounting secret

[root@localhost]#

[root@localhost]# usermod -a -G wheel centos

[root@localhost]# groups centos
centos : accounting wheel secret

[root@localhost]#