📅  最后修改于: 2020-10-31 13:19:13             🧑  作者: Mango
在讨论用户管理时,我们需要了解三个重要术语-
我们已经讨论了应用于文件和文件夹的深入权限。在本章中,让我们讨论用户和组。
在CentOS中,有两种类型的帐户-
系统帐户-用于守护程序或其他软件。
交互式帐户-通常分配给用户以访问系统资源。
两种用户类型之间的主要区别是-
守护程序使用系统帐户来访问文件和目录。通常不允许通过Shell或物理控制台登录进行交互式登录。
最终用户使用交互式帐户通过Shell或物理控制台登录名访问计算资源。
通过对用户的基本了解,现在让我们在会计部门为Bob Jones创建一个新用户。使用adduser命令添加一个新用户。
以下是一些adduser常用开关-
Switch | Action |
---|---|
-c | Adds comment to the user account |
-m | Creates user home directory in default location, if nonexistent |
-g | Default group to assign the user |
-n | Does not create a private group for the user, usually a group with username |
-M | Does not create a home directory |
-s | Default shell other than /bin/bash |
-u | Specifies UID (otherwise assigned by the system) |
-G | Additional groups to assign the user to |
创建新用户时,请按以下方式使用-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中管理组使管理员可以方便地将容器中的用户组合到适用于所有组成员的权限集上。例如,记帐中的所有用户可能都需要访问相同的文件。因此,我们创建一个会计组,添加会计用户。
在大多数情况下,任何需要特殊权限的操作都应在一个小组中完成。与仅向一个用户应用特殊权限相比,这种方法通常可以节省时间。例如,Sally负责报告,只有Sally才需要访问某些文件以进行报告。但是,如果Sally有一天生病并且Bob报告了该怎么办?还是对报告的需求增长了?建立组后,管理员只需要做一次。随着需求的变化或扩展,将应用添加用户。
以下是用于管理组的一些常见命令-
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]#
由于会计组可能会处理敏感文件,因此我们需要对other或world施加一些限制性权限。
[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-用于建立一个新组。
Switch | Action |
---|---|
-g | Specifies a GID for the group |
-K | Overrides specs for GID in /etc/login.defs |
-o | Allows overriding non-unique group id disallowance |
-p | Group password, allowing the users to activate themselves |
让我们建立一个名为“秘密”的新小组。我们将密码添加到组中,使用户可以使用已知密码添加自己。
[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 ~]$
实际上,不经常使用组密码。次要组是足够的,并且在其他用户之间共享密码不是一个很好的安全实践。
groups命令用于显示用户属于哪个组。在对当前用户进行一些更改之后,我们将使用此功能。
usermod用于更新帐户属性。
以下是常见的usermod开关。
Switch | Action |
---|---|
-a | Appends, adds user to supplementary groups, only with the -G option |
-c | Comment, updatesthe user comment value |
-d | Home directory, updates the user’s home directory |
-G | Groups, adds or removesthe secondary user groups |
-g | Group, default primary group of the user |
[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]#