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 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
郭涤生3 小时前
第十章_信号_《UNIX环境高级编程(第三版)》_笔记
服务器·笔记·unix
QT 小鲜肉3 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
额呃呃3 小时前
select详细分析
服务器
网创联盟,知识导航3 小时前
沐雨云香港大宽带云服务器 · 配置全览
服务器·阿里云·腾讯云
oMcLin3 小时前
Ubuntu 22.04 无法连接外部网络的故障排查与解决(解决 DNS 配置问题)
linux·网络·ubuntu
还不秃顶的计科生4 小时前
LeetCode 热题 100第二题:字母易位词分组python版本
linux·python·leetcode
咯哦哦哦哦4 小时前
WSL + ubantu22.04 + 远程桌面闪退+黑屏闪退解决
linux·开发语言
fantasy5_54 小时前
Linux 动态进度条实战:从零掌握开发工具与核心原理
linux·运维·服务器
weixin_462446234 小时前
exo + tinygrad:Linux 节点设备能力自动探测(NVIDIA / AMD / CPU 安全兜底)
linux·运维·python·安全