👨💻5 用户身份与文件权限
type
status
date
slug
summary
tags
category
icon
password
1.Linux的用户类型有哪几种?分别有何特点?
- 管理员用户(Root):
- 特点:管理员用户的UID为0,拥有系统的最高权限。可以执行系统中任何操作,包括管理文件权限、安装软件、修改系统设置等。
- 权限:没有任何限制,能够完全控制系统,修改和删除任何文件,执行关键系统任务。
- 普通用户:
- 特点:普通用户的UID通常从1000开始。由管理员创建,用于日常工作和个人使用。
- 权限:只能对自己拥有的文件和资源执行操作,无法修改系统关键文件或其他用户的文件,除非获得特定权限(例如通过
sudo
)。
- 系统用户:
- 特点:系统用户的UID范围通常为1-999。它们通常用于运行系统服务或进程(如数据库、Web服务器等),而不是用于登录或日常操作。
- 权限:这些用户通常拥有受限的权限,用于执行特定的系统服务,以避免被黑客利用或造成系统损坏。
2.请描述/etc/passwd文件的结构。
在Linux系统中,
/etc/passwd
文件用于存储系统中所有用户的基本信息。该文件是纯文本格式,包含每个用户的多个字段,字段之间以冒号(:
)分隔。每一行代表一个用户的账户信息,结构如下:每个字段的详细说明:
- 用户名:系统中用户的登录名,通常是唯一的。例如:
user1
。
- 密码占位符:由于安全原因,实际的密码不存储在此文件中,而是存储在
/etc/shadow
文件中,这里用一个x
占位符表示。
- 用户ID (UID):唯一标识用户的数字ID。
- UID为
0
表示管理员(root)。 - 1-999通常分配给系统用户。
- 从1000开始分配给普通用户。
- 组ID (GID):用户所属的基本组的ID,系统会根据这个ID在
/etc/group
文件中找到对应的组信息。
- 用户信息:用于描述用户的额外信息,如全名、联系方式等。该字段可以为空,通常仅用于显示目的。
- 家目录:用户登录后的主目录路径,通常为
/home/用户名
。管理员用户的家目录通常是/root
。
- 登录Shell:用户登录时使用的Shell程序的路径,例如:
/bin/bash
或/bin/sh
,它决定用户在登录后使用哪种命令行环境。
示例:
user1
:用户名。
x
:密码占位符,实际密码存储在/etc/shadow
中。
1001
:用户ID (UID)。
1001
:组ID (GID)。
User One,,,
:用户信息字段(这里为空)。
/home/user1
:用户的家目录。
/bin/bash
:用户的登录Shell。
这个结构保证了系统中每个用户的身份、组和权限信息的规范管理。
3.请描述/etc/group文件的结构。
在Linux系统中,
/etc/group
文件用于存储系统中所有用户组的基本信息。每个用户组包含多个用户,文件格式为纯文本,每行代表一个用户组,字段之间以冒号(:
)分隔。它的结构如下:每个字段的详细说明:
- 组名:组的名称,通常是唯一的。例如:
admin
,它用于标识该组。
- 密码占位符:组密码的占位符。通常这个字段为空或者使用
x
,大多数情况下组不需要密码。少数情况下,组可以设置密码来允许用户临时加入组(通过newgrp
命令)。
- 组ID (GID):该组的唯一数字ID,与用户的GID相关联,帮助系统识别用户所属的组。
- 组内用户列表:该组内的所有用户,以逗号(
,
)分隔。只有这些用户会被明确列出为该组的成员。该字段可以为空,如果为空表示只有基本用户组没有其他组成员。
示例:
admin
:组名。
x
:密码占位符,实际密码信息存储在/etc/gshadow
文件中。
1001
:组ID (GID)。
user1,user2,user3
:属于该组的用户列表。
注意事项:
- 基本用户组:每个用户在创建时都会有一个与用户名相同的基本组,该用户是该组的唯一成员,通常不在用户列表中列出。
- 扩展用户组:用户可以属于多个组,扩展组的用户列表会在
/etc/group
中列出。
通过这个文件,系统可以方便地管理用户组及其成员,从而在权限和访问控制方面实现更加灵活的管理。
4.请描述/etc/shadow文件的结构。
/etc/shadow
文件用于存储Linux系统中用户的加密密码及与密码相关的安全信息。这个文件只有root用户和特定的系统进程可以读取,以保护密码的安全性。每行表示一个用户的信息,各字段之间用冒号 (:) 分隔。其结构和字段含义如下:
各字段的详细说明:
- 用户名 (Login Name): 与
/etc/passwd
文件中的用户名相同,表示用户的登录名。
- 密码 (Password): 这个字段存储用户的加密密码。如果字段为
或
!
,表示该用户已被禁用或无效,无法登录。
- 最近修改时间 (Last Changed): 表示用户密码最后一次被修改的时间,格式为自 1970 年 1 月 1 日以来的天数。
- 最小天数 (Minimum Age): 指定在修改密码后,用户必须等待的最小天数,才能再次修改密码。如果设为 0,则用户可以随时修改密码。
- 最大天数 (Maximum Age): 指定用户密码的有效天数,一旦超过该天数,用户必须修改密码。
- 警告天数 (Warning Period): 在密码过期之前,系统会开始警告用户的天数。在这个期间,用户将收到密码即将过期的提醒。
- 不活动天数 (Inactive Period): 指定密码过期后,用户在多长时间内仍然可以使用过期密码。如果在这个时间内用户未修改密码,帐户将被禁用。
- 过期时间 (Expiration Date): 指定用户帐户的过期时间,格式与最近修改时间相同,表示自 1970 年 1 月 1 日以来的天数。
- 保留字段 (Reserved Field): 该字段通常保留为空,未来可能用于扩展功能。
示例行:
- 用户名:
user1
- 密码:
$6$abc123$xyz4567890abcdefg1234567890
(表示加密后的密码)
- 最近修改时间:
18345
(自 1970 年 1 月 1 日以来的天数)
- 最小天数:
0
(用户可以随时修改密码)
- 最大天数:
99999
(密码有效期非常长)
- 警告天数:
7
(密码过期前 7 天开始提醒)
- 不活动天数:
空
(没有设定)
- 过期时间:
空
(没有设定)
/etc/shadow
文件的设计提供了对密码的安全管理,使得只有系统管理员能够访问敏感的密码信息。5.添加、删除用户用什么命令?添加、删除用户组用什么命令?改变用户所属的组用什么命令?
6.修改用户的密码用什么命令?切换当前登录的用户用什么命令?
- 修改用户密码的命令是:
passwd 用户名
- 切换当前登录用户的命令是:
su 用户名
或者你可以用
sudo -u 用户名
切换到指定用户的身份7.创建user1用户,并允许user1执行sudo命令来切换到root用户权限,请简述步骤
创建
user1
用户并允许其执行 sudo
命令切换到 root 权限的步骤如下:- 创建
user1
用户:
- 为
user1
设置密码:
- 将
user1
添加到sudo
组(使其具备sudo
权限):
- 验证
user1
是否有sudo
权限(切换到user1
并测试):
这将创建用户并赋予
sudo
权限。上一篇
4 Vim编辑器与Shell命令脚本
下一篇
6 存储结构与管理硬盘
Loading...