云计算工程师系列 Day02 第二章 文件和用户管理 (持续更新中....)

云计算基础大课

第二章 文件和用户管理

简介:从登陆CentOS-7Linux系统开始。详细阐述了Linux系统文件目录结构。丰富生动的案例,精彩演绎的Linux管理的第一步-文件管理和用户管理工作。

目标:熟悉掌握CentOS 7系统的文件和用户管理的操作与命令

第一节,Linux文件目录的功能

(1)一级目录的内容

云计算工程师系列 Day02 第二章 文件和用户管理 (持续更新中....)_第1张图片

01.etc:各种设置
02.root:超级管理员
03.dev:设备(Device)硬件都会以文件的形式在本文件夹体现出来
04.bin:二进制目录 这里面的文件都是命令 可以让计算机立刻工作的命令,也叫程序(类似于exe程序) 是普通用户使用的
05.sbin:super bin 超级管理员使用的命令
06.boot:启动目录 内核(vmlinuz-3.10.0)

(2)Home目录 普通用户的家目录

云计算工程师系列 Day02 第二章 文件和用户管理 (持续更新中....)_第2张图片

第二节,Linux文件管理

(1)touch & ls

touch:创建一个空白文件或更改现有文件的时间戳
ls:列出目录内容

(2)cp & cat

cp:复制文件或目录
cat:列出文件内容,合并文件或创建新文件

(3)vim

vim:一个文本编辑器,用于编辑文件内容

打开或新建文件:

vim filename

在 vim 中,有两种主要模式:普通模式(Normal Mode)和插入模式(Insert Mode)。您可以从普通模式进入插入模式,编辑文件内容,然后回到普通模式保存更改和退出。

普通模式

  1. i 插入模式,你可以开始输入文本
  2. a 附加模式,从光标所在位置插入
  3. o 新开一行并进入插入模式
  4. O 在当前行上方新开一行并进入插入模式
  5. hjkl 光标左移、下移、上移、右移

完成编辑后,按 Esc 从插入模式返回到普通模式

普通模式下执行命令:

  1. u 撤销上一步操作
  2. Ctrl + r 重做上个被撤销的操作
  3. yy 复制(yank)当前行
  4. p 在当前光标之后粘贴
  5. P 在当前光标之前粘贴
  6. dd 删除(剪切)当前行
  7. : 输入 进入末行命令模式

末行模式 (执行命令,以 : 开始):

  1. :w 保存文件但不退出
  2. :wq 或 :x 或 ZZ : 保存文件并退出
  3. :q! 不保存文件并强制退出
  4. :q 如果没有做更改,退出vim
  5. :%s/old/new/g 换全文中所有的 old 字符串为 new
  6. :set number 显示行号
  7. :set nonumber 隐藏行号

查找和替换

  1. /pattern 在文本中向下搜索 pattern
  2. ?pattern 在文本中向上搜索 pattern
  3. n 继续搜索下一个匹配
  4. N 反向搜索前一个匹配

跳转至特定行

  1. G 跳转至文件末尾
  2. gg 跳转至文件开头
  3. [line_number]G 跳转至文件中的第 line_number 

(4)路径

绝对路径:从根目录开始的完整路径,例如/usr/local/bin
相对路径:相对于当前位置的路径,例如 ../

云计算工程师系列 Day02 第二章 文件和用户管理 (持续更新中....)_第3张图片

第三节,Linux文件类型

(1)普通文件()

(2)目录文件(d)

(3)链接文件(l): 符号链接

(4)特殊文件:例如块设备(b)和字符设备(c)

第四节,Linux用户简介

用户账号信息:登录名、密码、用户ID(UID)、组ID(GID)、描述信息、家目录、默认shell等

(1)/etc/passwd:存储用户信息

(2)/etc/group:存储群组信息

第五节,Linux用户shadow文件

(1)/etc/shadow:包含加密后的用户密码以及相关的密码管理信息

云计算工程师系列 Day02 第二章 文件和用户管理 (持续更新中....)_第4张图片

(2)shadow文件格式和重要字段介绍

在 CentOS 7 (以及其他大多数基于 Linux 的系统)中,/etc/shadow 文件存储了用户的密码数据以及与之相关的一些管理信息。这个文件的格式通常包含以下字段,以冒号 : 分隔:
  1. 用户名(username)

: 登录系统的用户的名字。

  1. 加密密码(encrypted password)

: 用户的加密密码。如果这一字段是一个星号(*)或者一个感叹号(!),则代表这个账户不能被用来登录系统。

  1. 最后一次密码更改日期(last password change)

: 表示自1970年1月1日以来密码上次更改经过的天数。例如,如果密码最后更改在1970年1月2日,则此字段为1。

  1. 密码更改前不可更改天数(minimum password age)

: 新密码设置的后,在这个天数内用户不能更改它。

  1. 密码过期前天数(maximum password age)

: 用户需要更改密码之前可以使用当前密码的最长天数。超过这个天数,用户在下次登录时会被迫更改密码。

  1. 密码到期前警告天数(warning period)

: 当密码即将过期时,在正式过期前给用户的警告提前天数。

  1. 密码过期后的宽限时间(inactive period)

: 密码过期后,账户被锁定之前的天数。如果一个账户在这个期间内没有被使用,那么系统会锁定账户直到系统管理员重新激活它。

  1. 账号过期时间(account expiration date)

: 该字段以自1970年1月1日以来的天数来表示账号过期的日期。一旦到期,账户将无法使用。

  1. 保留字段(reserved field)

: 目前这一字段不被使用,通常被设置为空或者包含了特定系统的特殊信息。

以下是 /etc/shadow 文件中的一个示例条目:

johndoe:$6$tr5qR/3.Ww$:17500:0:99999:7:::

  1. johndoe
  2. $6$tr5qR/3.Ww$

$6$

  1. 17500
  2. 0
  3. 99999
  4. 7
  5. 空字段
  6. 空字段
  7. 空字段

当设置用户密码安全策略时,管理员会根据需要对这些字段进行配置。这样可以帮助增强系统的安全性,例如通过强迫用户定期更换密码来降低密码泄露的风险。

(3)使用命令passwd更改密码和管理shadow文件

命令 passwd 在Unix和Linux系统中主要用于创建和更改用户密码。这个命令默认会更新 /etc/shadow 文件中对应用户的密码字段。

以下是使用 passwd 命令的一些基本用法:

  1. 更改当前用户的密码:

passwd

系统会提示您输入当前的密码(如果已设置),然后要求您输入新密码并确认。

  1. 更改指定用户的密码(需要超级用户权限):

sudo passwd username

这里 username 是您想要更改密码的用户。该命令会提示您输入并确认新的密码,不需要输入现有密码。

  1. 锁定用户账户(需要超级用户权限):

sudo passwd -l username

username 是您想要锁定的用户。该操作会在用户的密码前添加一个 !,这会阻止用户登录系统。

  1. 解锁用户账户(需要超级用户权限):

sudo passwd -u username

这会去掉密码字段前的 !,允许用户再次登录系统。

这些基本命令只涉及 passwd 能够更改的几个方面。要更加细致地管理 /etc/shadow 文件中的其他信息(比如密码过期时间等),需要使用其他工具,比如 chage 和对 shadow 文件的直接编辑(必须非常小心执行,因为错误的编辑可能导致安全问题或系统访问问题)。

chage 命令可以用来更改一个账户密码到期的信息,例如,下面的命令将显示指定用户的密码过期信息:

sudo chage -l username

要修改最后更改密码的日期、密码过期之前的天数等,可以使用下面的命令:

sudo chage -E "expiration_date" username

sudo chage -m "min_days" -M "max_days" -W "warn_days" username

其中 -E 指定账户的过期日期, -m 设定更换密码的最短天数, -M 设置更换密码的最长天数, -W 则是设置密码过期警告的天数。

第六节,用户管理命令

(1)账号部分

useradd:创建新用户账号
usermod:修改用户账号信息
userdel:删除用户账号

(2)信息部分

id:显示用户的UID和GID
who:显示当前登录用户信息
su:切换用户账号

第七节,Linux组管理

(1)创建部分

groupadd:创建新群组
groupmod:修改群组信息
groupdel:删除群组

(2)管理部分

gpasswd:管理群组成员和密码
/etc/group和/etc/gshadow文件介绍

第八节,Linux中SU/SUDO命令

(1)su:切换到另一个用户账号,常用于切换到root账号

(2)sudo:以另一个用户的安全权限执行命令,通常用于授权普通用户执行超级用户命令

(3)配置/etc/sudoers文件使用visudo编辑/etc/sudoers文件

第二章总结:

本章聚焦于CentOS 7系统的文件结构、文件和目录管理命令、Linux文件类型、以及用户与群组管理。通过本章的学习,你应该能够熟练地管理Linux系统的文件和用户账号,包括文件创建、编辑、权限设置,用户的添加、修改、删除,以及群组的管理。

课后思考:

如何在CentOS中查找特定文件或目录?

使用find命令可以根据文件名、大小、类型等条件搜索文件

示例:find / -name filename

如何为不同用户配置不同的权限策略?

使用chmod命令来更改文件和目录的权限,分配不同的访问权限给不同的用户或用户组

可以通过chown和chgrp命令更改文件和目录的所有者和所属群组

能否解释为何重要文件如/etc/passwd和/etc/shadow不能被普通用户直接访问?

为了确保安全性,Linux系统将关键文件的访问权限限制为只有超级用户(root)才可以访问和修改

这防止了普通用户对系统文件进行非授权更改,保护了系统的稳定性和安全性

/bin与/sbin目录有何异同?

/bin目录包含的命令是系统用户和管理员常用的基本命令,例如ls和cp

/sbin目录包含的命令是供超级用户(root)使用的系统管理命

你可能感兴趣的:(Linux,linux,笔记)