-----------------------START--------------------------
一、新建用户并为其创建密码
1.涉及命令:
命令名称 | 命令含义 |
su | 切换用户 |
sudo | 向非root用户授权 |
useradd | 添加用户 |
passwd | 给用户设置密码 |
cat | 连接文件并打印到标准输出设备上 |
visudo | 编辑sudoers文件 |
2.前置知识:
安全性组件:通过实施以下类型的组件控制对 Linux 系统的访问
用户:用户在 Linux 系统中是单个的帐户。
组:组是用户的集合。在创建用户时将其分配到组中。仅根用户或拥有者可以更改分配了文件或目录的组。每个用户必须至少属于一个组。
所有权:创建文件或目录的用户将自动指定为文件或目录的拥有者。所有权只能由根用户手工更改。
权限:权限决定了用户对文件或目录的访问权。
用户和组 ID 编号:由于操作系统对数字的处理能力优于字符串,因此在 Linux 系统内部将用户和组作为数字来管理。
用户接收到的数字称为用户 ID (UID)。每个 Linux 系统都有一个特权用户,即根用户。该用户的 UID 始终为0
和用户一样,也为组分配了内部编号,称为组 ID (GID)。
用户帐户和主目录:每个用户都有一个由登录名标识的用户帐户和一个用于登录系统的个人口令。
使用用户帐户,可以保护用户的个人数据不被其他用户修改、查看或损坏。每个用户都可以设置自己的工作环境,而且此环境在该用户以后登录时保持不变。
作为一种安全措施,系统中每个用户都在目录 /home/ 下拥有自己的目录,主目录可以确保个人数据和桌面设置仅供用户访问。
用户和组配置文件:Linux 系统将所有用户和组的配置数据保存在以下文件中:
/etc/passwd
/etc/shadow
/etc/group
3.具体流程:
在新建用户时,我们可以以root身份进行上述命令而不受阻碍。
但若使用其他普通用户身份,我们需要先修改 sudoer 文件中的权限设置,使普通用户具有sudo权限。以下是为user用户赋予sudo权限的步骤:
a.切换到root用户:
[user@localhost ~]$ su -
b.使用vi编辑器编辑sudoers文件
[root@localhost ~]# visudo
修改前:
修改后:
附录1:vi编辑器的使用
c.切换回user用户:
[root@localhost ~]# su user
接下来,我们在user身份下添加一个新用户tux:
[user@localhost root]$ sudo useradd -m tux
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password:
[user@localhost root]$
代码解释:1.useradd -m 这里的-m参数表示新建用户的同时自动建立相应的目录。
2.这里需要输入该用户的密码(不是为新用户设置密码),输入时不会显示,直接输入完回车即可。
查看用户目录:
[user@localhost root]$ cat /etc/passwd
结果:
也可使用如下命令查看具体用户:
[user@localhost root]$ cat /etc/passwd|grep tux
二、新建用户组并将用户添加至该组
1.涉及命令:
命令名称 | 命令含义 |
groupadd | 添加用户组 |
usermod | 更改用户账户属性 |
id | 查看具体用户信息 |
2.具体流程:
a.添加用户组: 我们添加一个名称为xjtuse的组
[root@localhost ~]# groupadd xjtuse
通过 cat /etc/group 命令 我们可以查看到新添加的组
b.将用户添加至该组:
附:在 Linux 用户系统中存在两类组。
第一类是主要用户组(主组),第二类是附加用户组(附属组)。
主组:也被称为primary group、first group或initial login group,用户的默认组,用户的gid所标识的组。
附属组:也被称为Secondary group或supplementary group,用户的附加组。
1.我们将用户tux添加到xjtuse组作为附属组
[root@localhost ~]# usermod -a -G xjtuse tux
使用 id命令查看用户信息:
[root@localhost ~]# id tux
效果:
2.我们将用户bob修改到coding组作为其主组:
[root@localhost ~]# usermod -g coding bob
可以看到 bob的主组从503变成了506当然 我们也可以在添加用户时顺便为其分配组:
三、赋予用户权限
1.涉及命令:
命令名称 | 命令含义 |
which | 查看命令的路径 |
2.具体流程:(以赋予普通用户添加权限为例)
修改sudoers文件内容:
说明:
第一个字段:指的是授予哪一个用户或用户组可以执行这些命令,用户可以直接写用户名称,用户组前面需要加%,比如下图中的%wheel和%users。
第二个字段:表示在哪一台主机上执行哪些命令,多个命令之间可以用逗号隔开,因为Linux登录可以通过本地登录也可以通过远程登录,比如如果允许本地登录访问可以使用localhost,本地登录和远程登录都允许访问可以使用ALL。
第三个字段:表示普通用户执行这些指令时是否需要输入密码,不建议使用NOPASSWD。
保存后再切换到tux下即可赋予其添加用户的权限。
赋予用户其他权限的方式同理。
注意:也可直接赋予用户所有权限:(为user用户赋予所有权限)
附录:vi编辑器的使用:
Vi的模式:
命令模式:当 vi 启动时,它自动处于此模式。处于命令模式时,可以向 vi 指定命令。命令 i 会将其置于插入模式并且命令 : 会将其切换到命令行模式。
插入模式:处于此模式(关键字 --INSERT–)时, vi 会将所有输入作为文本接受。使用 Esc 将返回命令模式。
命令行模式:处于此模式(关键字 :)时, vi 将从命令行接受命令。按下 Enter将执行命令并自动切换回命令模式。
在命令模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。
输入模式在命令模式中输入:i、 l、 o、 O、 a、 A可以进入输入模式,在输入模式中可以进行文件的写入、修改、删除内容按下Esc可以退回到编辑模式
命令行模式可以执行各种的命令,例如保存退出、查找、显示行号
Vi常用命令:
-----------------------END--------------------------