Linux下运维日常维护
系统用户篇1.1 密码恢复1.1.1 方法 1:通过单用户模式重置 root 密码重启系统并进入 GRUB 菜单:...
扫描右侧二维码阅读全文
31
2024/05

Linux下运维日常维护

  1. 系统用户篇

1.1 密码恢复

1.1.1 方法 1:通过单用户模式重置 root 密码

重启系统并进入 GRUB 菜单:

重启系统时,按下 Esc 键(或 Shift 键)以进入 GRUB 菜单。
编辑 GRUB 启动项:

在 GRUB 菜单中,选择你要启动的内核版本,按 e 键进入编辑模式。
找到以 linux 开头的行,通常包含内核参数。在这行末尾添加 rd.breakinit=/bin/bash

linux ... rd.break

Ctrl + XF10 以启动带有修改的内核。
挂载根文件系统:

系统会进入紧急模式(Emergency Mode)或单用户模式(Single User Mode)。如果使用 rd.break,需要重新挂载根文件系统为读写模式:

mount -o remount,rw /sysroot

进入 chroot 环境:

切换到 chroot 环境以访问实际的文件系统:

chroot /sysroot

重置 root 密码:

现在你可以设置 root 密码:

passwd

输入新密码并确认。
更新 SELinux 相关文件上下文(如果启用了 SELinux,建议执行):

touch /.autorelabel

退出并重新启动系统:

exit
exit

系统会重新启动,并应用新的 root 密码。

1.1.2 方法 2:通过 Live CD/DVD 或 USB 重置 root 密码

使用 Live CD/DVD 或 USB 启动系统:

使用 CentOS Live CD/DVD 或 USB 启动你的系统。
挂载根文件系统:

打开终端,查找根文件系统所在的分区(例如,/dev/sda1):

fdisk -l

挂载根文件系统:

mkdir /mnt/sysroot
mount /dev/sda1 /mnt/sysroot

进入 chroot 环境:

切换到挂载的文件系统:

chroot /mnt/sysroot

重置 root 密码:

设置 root 密码:

passwd

输入新密码并确认。
更新 SELinux 相关文件上下文(如果启用了 SELinux):

touch /.autorelabel

退出并重新启动系统:

exit
reboot

1.1.3 方法 3:使用 sudo 提升权限(前提是现有用户有 sudo 权限)

如果当前用户已经具有 sudo 权限,可以使用 sudo 命令获取 root 权限:

sudo -i

或者

sudo su -

如果现有用户没有 sudo 权限并且你没有设置 root 密码,你只能通过前述的方法 1 或方法 2 获取 root 权限。

通过上述步骤,你应该能够成功设置 root 密码并获取 root 权限。

1.2 用户组

要查看当前用户所属的用户组,可以使用以下命令:

groups

这个命令会列出当前用户所属的所有用户组。例如,如果当前用户是 test,输出可能如下:

test : test wheel

这表示用户 test 属于 test 和 wheel 两个组。

如果你想查看特定用户(比如 test)所属的用户组,可以使用以下命令:

groups test

或者使用 id 命令查看详细信息:

id

对于特定用户 test:

id test

这将输出类似以下的信息:

uid=1001(test) gid=1001(test) groups=1001(test),10(wheel)

uid 是用户的用户 ID。
gid 是用户的主要组 ID。
groups 列出了用户所属的所有组,组名和组 ID 一并列出。
这些命令都可以用来查看当前用户或任何指定用户所属的组。

加入用户组
要将用户加入一个用户组,可以使用 usermod 命令。以下是详细步骤:

将用户加入一个新组
假设你有一个用户 test,你想将其加入组 wheel,可以使用以下命令:

sudo usermod -aG wheel test

-a:表示追加用户到新组而不从现有组中删除。
-G:指定要加入的组。
检查用户是否加入了新组
运行以下命令来验证用户 test 是否已被成功加入到 wheel 组:

groups test

或者:

id test

示例
将用户 test 加入 wheel 组:

sudo usermod -aG wheel test

验证用户 test 的组:

groups test

输出类似:

test : test wheel

或者:

id test

输出类似:

uid=1001(test) gid=1001(test) groups=1001(test),10(wheel)

注意事项
确保你有足够的权限(通常需要 root 权限或具有 sudo 权限的用户)来运行 usermod 命令。
使用 -aG 参数时,要特别注意 -a 参数,它表示追加用户到新组。如果省略 -a,用户将只会加入指定的新组,并从其他组中删除。
完整步骤
以下是从查看当前用户组到将用户加入新组的完整示例:

查看当前用户组:

groups test

将用户 test 加入 wheel 组:

sudo usermod -aG wheel test

验证用户 test 的组:

groups test

通过这些步骤,你可以成功将用户 test 加入到新的用户组中,并验证其组成员身份。

1.2 用户注销

在 Linux 系统中,强行注销某个用户可以通过以下步骤实现。这涉及到查找并终止该用户的所有活动会话。可以使用 pkillkill 命令来终止用户的会话。

方法 1:使用 pkill 命令
pkill 命令可以终止与指定用户名相关的所有进程。

查找并终止用户的所有进程:

假设你想强行注销用户 test:

sudo pkill -KILL -u test

验证用户是否已注销:

可以使用 who 或 w 命令查看当前登录的用户:

who
w

方法 2:使用 kill 命令
如果你想手动选择要终止的进程,可以使用 kill 命令来逐个终止。

查找用户的进程:

使用 pspgrep 命令查找用户 test 的所有进程:

ps -u test

或者:

pgrep -u test

终止用户的进程:

使用 kill 命令逐个终止用户 test 的进程。例如,假设你要终止进程 ID 为 1234 的进程:

sudo kill -KILL 1234

也可以使用 killall 命令终止用户的所有进程:

sudo killall -u test

示例步骤
以下是强行注销用户 test 的完整示例:

使用 pkill 命令强行注销用户:

sudo pkill -KILL -u test

验证用户是否已注销:

who
w

使用 pskill 命令手动终止进程(可选):

查找用户的进程:

ps -u test

终止进程:

sudo kill -KILL <process_id>

通过这些步骤,你可以强行注销指定的用户,终止其所有活动会话。如果你需要更精细地控制哪些进程被终止,可以使用 pskill 命令逐个选择进程进行终止。

为一个用户设置home目录

在 Linux 系统中,为一个用户设置或更改其 home 目录,可以使用 usermod 命令。以下是详细步骤,包括创建新用户并设置 home 目录,以及更改现有用户的 home 目录。

创建新用户并设置 home 目录
如果你要创建一个新用户并设置其 home 目录,可以使用 useradd 命令。例如,创建一个名为 testuser 的新用户,并将其 home 目录设置为 /home/testuser

sudo useradd -m -d /home/testuser testuser
sudo passwd testuser

-m:自动创建用户的 home 目录。
-d /home/testuser:指定用户的 home 目录路径。
passwd testuser:为新用户设置密码。
更改现有用户的 home 目录
如果你要更改现有用户的 home 目录,可以使用 usermod 命令。例如,将用户 testuser 的 home 目录更改为 /newhome/testuser

创建新的 home 目录(如果尚不存在):

sudo mkdir -p /newhome/testuser

将现有的 home 目录内容复制到新的 home 目录:

sudo rsync -a /home/testuser/ /newhome/testuser/

-a:归档模式,表示递归复制,并保持文件权限、所有权和时间戳等信息。
更改用户的 home 目录:

sudo usermod -d /newhome/testuser -m testuser

-d /newhome/testuser:指定新的 home 目录路径。
-m:自动将旧的 home 目录内容移动到新的 home 目录。
更新用户的权限(确保用户对新目录有正确的权限):

sudo chown -R testuser:testuser /newhome/testuser

示例步骤
以下是更改现有用户 testuser 的 home 目录到 /newhome/testuser 的完整步骤:

创建新的 home 目录:

sudo mkdir -p /newhome/testuser

复制现有的 home 目录内容:

sudo rsync -a /home/testuser/ /newhome/testuser/

更改用户的 home 目录:

sudo usermod -d /newhome/testuser -m testuser

更新用户的权限:

sudo chown -R testuser:testuser /newhome/testuser

验证更改:

echo $HOME

确认用户的 home 目录已经更新。

通过这些步骤,你可以为一个用户设置或更改其 home 目录。无论是创建新用户还是更改现有用户的 home 目录,这些步骤都可以帮助你完成任务。

磁盘分区管理

要查看系统上的所有分区,可以使用以下命令之一:

使用 lsblk 命令:
lsblk
这会显示系统上的所有块设备(包括硬盘和分区),以树形结构展示。

使用 fdisk 命令:

sudo fdisk -l

这会列出系统上的所有硬盘和分区的详细信息,包括分区类型、起始位置、大小等。

使用 parted 命令:

sudo parted -l

这会显示系统上的所有硬盘和分区的详细信息,包括分区类型、起始位置、大小等。

以上任何一种方法都可以让你查看系统上的所有分区,并且你可以根据需要选择其中一种来使用。

Last modification:May 31st, 2024 at 10:55 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment