Linux 文件及用户的一些日常命令

一、用户提权限

在 Linux 中切换为 root 用户主要有 3 种常用方法 ,切换后就能直接执行修改权限(chown/chmod)等管理员操作,具体步骤如下:

方法 1:sudo -i(推荐,加载完整 root 环境)

这是最安全的临时切换方式,会加载 root 用户的所有环境变量(如 PATHHOME),适合批量执行管理员命令。

  1. 执行切换命令

    bash

    运行

    复制代码
    sudo -i
  2. 输入当前用户的 sudo 密码(输入时无回显,直接回车即可)。

  3. 验证是否切换成功 命令行提示符会从 $ 变成 #,且用户名主机名变为 root@主机名,例如:

    plaintext

    复制代码
    root@ubuntu:~#
  4. 修改权限操作示例 (比如修改 /opt/test 目录的所有者)

    bash

    运行

    复制代码
    chown -R your_username:your_username /opt/test  # 变更所有者
    chmod -R 755 /opt/test                          # 变更读写执行权限
  5. 退出 root 用户 执行完操作后,输入以下命令回到普通用户:

    bash

    运行

    复制代码
    exit

方法 2:sudo -s(继承当前用户环境)

sudo -i 类似,但不加载 root 的环境变量 ,继承当前普通用户的 HOME 等配置,适合临时执行 1-2 个管理员命令。

  1. 切换命令

    bash

    运行

    复制代码
    sudo -s
  2. 验证与操作 提示符同样会变成 #,操作权限和 root 一致,修改权限的命令和方法 1 相同。

  3. 退出

    bash

    运行

    复制代码
    exit

方法 3:su - root(需要 root 密码,部分系统默认禁用)

这种方法需要知道 root 用户的独立密码,Ubuntu 等系统默认不设置 root 密码,需先手动设置。

  1. (可选)设置 root 密码 (如果没设置过)

    bash

    运行

    复制代码
    sudo passwd root

    按提示输入两次新密码,即可启用 root 密码。

  2. 切换到 root

    bash

    运行

    复制代码
    su - root
  3. 输入 root 密码 ,回车后即可切换,提示符变为 #

  4. 退出

    bash

    运行

    复制代码
    exit

关键注意事项

  1. 切换为 root 后权限极高 :可以修改 / 删除任何系统文件,操作时务必谨慎(比如 chmod 777 不要随便用在系统目录)。
  2. 优先用临时切换方式 :避免直接登录 root(风险高),用完立即 exit 回到普通用户。
  3. 权限修改命令速查
    • 改所有者:chown [-R] 用户名:用户组 目标路径
    • 改读写权限:chmod [-R] 权限值 目标路径(如 755 代表所有者读 / 写 / 执行,其他人读 / 执行)

二、用户权限升至最高(等效 root 权限)

root 用户登录 的情况下,要将 cyan 用户的权限提升至最高(等效 root 权限),有两种核心方法,推荐优先使用更安全的「加入管理员组」方式,避免直接修改 UID 带来的风险。

方法 1:将 cyan 加入 sudo/wheel 管理员组(推荐,可控且安全)

这是 Linux 标准做法,加入组后 cyan 可通过 sudo 执行所有 root 级命令,且有操作审计日志,风险可控。不同发行版的管理员组名称不同,流程如下:

1. Debian/Ubuntu 系列(管理员组:sudo

bash

运行

复制代码
# 将 cyan 追加到 sudo 组,-aG 表示"追加到组",不覆盖原有组
usermod -aG sudo cyan
2. RHEL/CentOS/Fedora 系列(管理员组:wheel

bash

运行

复制代码
# 将 cyan 追加到 wheel 组
usermod -aG wheel cyan
3. 验证与生效
  • 无需重启系统,cyan 用户注销后重新登录,权限即可生效。

  • 验证:切换到 cyan 用户,执行 sudo ls /root,输入 cyan 自己的密码,能正常列出 root 目录则说明权限生效。

    bash

    运行

    复制代码
    su - cyan  # 切换到 cyan
    sudo ls /root  # 测试 root 权限命令

方法 2:将 cyan 的 UID 改为 0(等效 root,高风险,不推荐)

Linux 中 UID=0 的用户就是 root 用户 ,修改后 cyan 无需 sudo 直接拥有所有 root 权限,但无任何操作限制,误操作会直接破坏系统,仅建议特殊场景临时使用。

1. 执行修改命令

bash

运行

复制代码
# 将 cyan 的 UID 改为 0,-u 表示修改 UID
usermod -u 0 cyan
2. 风险提醒
  • 该用户的所有操作都会被视为 root 操作,没有审计日志,误删 /etc /bin 等系统目录会直接导致系统崩溃。
  • 如需恢复,需以 root 身份将 UID 改回非 0 值(比如 usermod -u 1001 cyan)。

关键注意事项

  1. 优先选方法 1 :加入管理员组的方式既能提权,又能通过 sudo 控制操作范围(比如限制仅允许执行特定命令),安全性远高于直接改 UID。

  2. 避免多人共用 UID=0:多个用户 UID=0 会导致权限混乱,无法追溯操作人。

  3. 权限回收 :若要收回 cyan 的最高权限,只需将其从管理员组移除:

    bash

    运行

    复制代码
    # Ubuntu/Debian
    gpasswd -d cyan sudo
    # RHEL/CentOS
    gpasswd -d cyan wheel

三、修改用户密码:

cyan 用户登录时,修改密码有 两种常用方法,根据是否需要改 root 密码或自身密码选择即可,操作简单且无需额外权限:

方法 1:修改 cyan 自己的密码(直接操作,无需 root)

这是最常用的场景,直接执行命令即可修改当前用户密码:

  1. 在终端输入命令: bash

    运行

    复制代码
    passwd
  2. 按提示先输入 当前 cyan 用户的密码(输入时无回显,直接回车)。

  3. 再输入 新密码 (建议 8 位以上,包含字母 + 数字 / 符号,避免弱密码),回车后再次输入新密码确认

  4. 提示 password updated successfully 即表示修改成功。

方法 2:修改其他用户(含 root)的密码(需要 sudo 权限)

如果 cyan 已经加入 sudo/wheel 组,还能修改其他用户甚至 root 的密码:

  1. 修改 root 密码: bash

    运行

    复制代码
    sudo passwd root
  2. 修改任意用户(比如 testuser)的密码:

    bash

    运行

    复制代码
    sudo passwd testuser
  3. 按提示输入 新密码并确认 即可,无需输入原密码(这是 root 权限的特性)。

注意事项

  1. 密码设置要符合系统复杂度要求(部分系统会拒绝纯数字 / 过短密码)。
  2. 忘记自己密码时,需用 root 用户或其他有 sudo 权限的用户帮你重置。

四、修改文件夹的所有者

要解决 sudo 创建的文件夹只能用 sudo 写入 的问题,核心是修改文件夹的 所有者权限 ,让 cyan 用户能直接操作。以下是两种安全且常用的方法,按推荐优先级排序

方法 1:修改文件夹所有者(推荐,彻底解决)

sudo 创建的文件夹默认所有者是 root,把所有者改成 cyan,就能直接对文件夹进行读写、创建文件等操作。

命令流程(当前是 cyan 用户登录)
  1. 查看文件夹当前所有者(确认问题根源)

    bash

    运行

    复制代码
    # 替换为你的目标文件夹路径,比如 /opt/myfolder
    ls -ld /path/to/your/folder
    • 输出示例(所有者是 root): plaintext

      复制代码
      drwxr-xr-x 2 root root 4096 Aug 20 10:00 /path/to/your/folder
  2. 修改所有者为 cyanchown 命令变更所有者,需要加 sudo(因为是修改 root 所属的文件夹):

    bash

    运行

    复制代码
    # -R 表示递归修改(文件夹内已有文件/子文件夹也会改成 cyan 所有)
    sudo chown -R cyan:cyan /path/to/your/folder
    • 解释:cyan:cyan 表示 用户:用户组,通常用户名和用户组同名。
  3. 验证修改结果 再次执行 ls -ld 命令,看到所有者变成 cyan 即成功:

    plaintext

    复制代码
    drwxr-xr-x 2 cyan cyan 4096 Aug 20 10:00 /path/to/your/folder
  4. 测试操作 现在直接在文件夹里创建文件,无需 sudo

    bash

    运行

    复制代码
    touch /path/to/your/folder/test.txt

方法 2:修改文件夹权限(适合多用户共享场景)

如果需要多个用户访问该文件夹,可修改权限为 组可写全局可写(注意:全局可写有安全风险,谨慎使用)。

命令流程
  1. 查看当前权限

    bash

    运行

    复制代码
    ls -ld /path/to/your/folder
    • 输出示例(权限是 rwxr-xr-x,表示所有者可写,组和其他用户仅可读):

      plaintext

      复制代码
      drwxr-xr-x 2 root root 4096 Aug 20 10:00 /path/to/your/folder
  2. 方案 A:组可写(安全,适合多用户) 把文件夹的组权限改为可写,同时确保 cyan 在该组中:

    bash

    运行

    复制代码
    # 1. 给组添加写权限
    sudo chmod -R g+w /path/to/your/folder
    # 2. (可选)如果需要,把文件夹组改成 cyan 所在的组
    sudo chgrp -R cyan /path/to/your/folder
  3. **方案 B:全局可写(不推荐,风险高)**让所有用户都能写入,容易导致文件被误改:

    bash

    运行

    复制代码
    sudo chmod -R o+w /path/to/your/folder

关键对比与注意事项

方法 优点 缺点 适用场景
修改所有者 彻底解决,权限可控,安全 cyan 能操作 个人专属文件夹
组可写 支持多用户共享 需管理用户组 团队协作文件夹
全局可写 配置简单 所有用户都能改,安全隐患 测试环境临时使用

额外技巧:创建文件夹时避免权限问题

以后创建需要普通用户操作的文件夹,可直接用 sudo 指定所有者,一步到位:

bash

运行

复制代码
# 创建文件夹并直接设置所有者为 cyan
sudo mkdir -p /path/to/new/folder && sudo chown -R cyan:cyan /path/to/new/folder
相关推荐
渡我白衣2 小时前
计算机组成原理(5):计算机的性能指标
服务器·网络·c++·人工智能·网络协议·tcp/ip·网络安全
炼丹精神小伙2 小时前
VS Code 多跳板机连到目标服务器
运维·服务器
同聘云2 小时前
阿里云国际站服务器防火墙如何使用及防护???
服务器·阿里云·云计算
咖丨喱2 小时前
【Miracast 协议详解】
linux
列逍2 小时前
Linux文件(一)
linux·文件操作·write·read·重定向·open·文件描述符
陌sr,2 小时前
关于TMK的生成及安全注入方式
android·运维·服务器·安全·pos机·edc·刷卡
gaize12132 小时前
华为云与火山引擎云服务对比分析
服务器·云计算
wanhengidc2 小时前
云手机 一款多功能利器
运维·服务器·安全·智能手机·生活
Ghost Face...2 小时前
深入解析dd命令:缓存与磁盘速度之谜
linux·缓存