Linux系统目录权限chmod误操作权限修复方法

Linux中,如果意外误操作将/目录权限批量设置,比如chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的getfacl命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行。修复的方法如下:


1、通过一台权限正常的Linux(最好内核版本和故障服务器相同) 通过getfacl -R / >systemp.bak将这个正常系统的/目录下所有文件的权限都备份保存在systemp.bak中,如图:

1.JPG


2、如果异常服务器未重启等操作并且连接未端,可以使用scp命令将正常的备份文件传至异常服务器中,命令如下:

    scp root@目标机器IP:system.bak文件路径  本地存放system.bak路径

    也可用其他方法把systemp.bak移动到异常服务器中。


3、在异常服务器中执行命令setfacl --restore=systemp.bak即可将现在的系统权限恢复成和正常系统一样


4reboot重启系统

<think>好的,我现在需要帮助用户解决关于在Linux系统中使用sudo mkdir命令创建/tmp目录以及修复临时目录权限的问题。首先,我要确认用户的需求是什么。用户提到想了解如何通过命令'sudo mkdir /tmp'创建tmp目录的位置,以及修复临时目录权限方法。可能用户遇到了权限问题,或者在创建目录时遇到了错。 首先,我需要回忆Linux中的目录结构。通常,/tmp目录是系统默认的临时目录,位于根目录下。如果用户执行sudo mkdir /tmp,这会在根目录下创建一个名为tmp的目录。但正常情况下,系统应该已经存在/tmp目录,所以用户可能是在尝试修复或重新创建这个目录,比如当原来的/tmp被删或权限时。 接下来,用户可能遇到的问题是如何正确设置/tmp目录的权限。标准的/tmp目录权限通常是1777,即drwxrwxrwt,其中t表示粘滞位(sticky bit),这允许所有用户创建文件,但只有文件所有者才能删除自己的文件。如果权限正确,可能会导致应用程序无法正常运行或出现安全漏洞。 我需要检查用户提供的引用内容。引用[1]提到挂载分区和mount命令,引用[2]和[3]涉及创建目录、权限修改以及使用sudo执行命令,引用[4]则关于文件操作命令。这些引用可能帮助用户理解权限设置和目录创建的基本操作。 接下来,分步骤思考如何创建/tmp目录并设置权限。首先,使用sudo mkdir /tmp创建目录,但需注意如果目录已存在,系统会报错。然后,设置权限为1777,使用sudo chmod 1777 /tmp。可能需要检查当前权限是否已经正确,使用ls -ld /tmp查看。 另外,用户可能需要了解为什么需要粘滞位,以及如何正确应用它。粘滞位的作用是防止普通用户删除其他用户的文件,这在共享目录如/tmp中非常重要。 如果用户遇到无法创建目录的问题,可能是因为父目录(即根目录/)的权限问题,但通常根目录权限是允许root用户操作的,所以使用sudo应该可以解决。另外,如果/tmp目录已经存在但权限,直接修改权限即可,无需重新创建。 用户可能还会想知道如何验证操作是否成功,比如通过ls命令检查目录权限,或者测试在/tmp中创建和删除文件是否正常。 总结步骤应该是:1. 创建目录(如果需要);2. 设置正确的权限和所有权;3. 验证设置。同时,提醒用户注意系统默认的/tmp可能由tmpfiles.d或systemd管理,手动修改后可能需要考虑重启后的持久性问题,或者使用系统工具来修复。 最后,确保回答清晰,步骤正确,并引用相关参考资料中的内容,比如使用sudo和chmod命令,如引用[2]和[3]提到的权限修改和sudo的使用。</think>### 创建 `/tmp` 目录及修复权限的步骤 #### 1. **创建 `/tmp` 目录** - 如果系统中缺少 `/tmp` 目录(例如删除),可通过以下命令创建: ```bash sudo mkdir /tmp ``` 此命令会在根目录 `/` 下创建 `tmp` 文件夹。但正常情况下,系统已存在 `/tmp`,执行此命令会提示“目录已存在”[^3]。 #### 2. **设置权限和所有权** - **修复权限**:标准的 `/tmp` 目录权限应为 `1777`(包含粘滞位),确保所有用户可读写但无法删除他人文件: ```bash sudo chmod 1777 /tmp ``` 验证权限: ```bash ls -ld /tmp ``` 输出应为:`drwxrwxrwt`。 - **修复所有权**:若所有权异常(例如被修改),需恢复为 `root:root`: ```bash sudo chown root:root /tmp ``` #### 3. **验证修复结果** - 普通用户测试写入文件: ```bash touch /tmp/testfile ``` 若成功且无权限,则修复完成。 --- ### 特殊情况处理 - **系统使用 `tmpfs` 挂载 `/tmp`**: 某些系统通过 `tmpfs` 挂载 `/tmp`(内存中),需检查 `/etc/fstab` 配置。若需重建: ```bash sudo mount -t tmpfs -o defaults,noexec,nosuid,size=1G tmpfs /tmp ``` 并添加到 `/etc/fstab` 实现持久化[^1]。 - **重启后权限恢复问题**: 若权限问题在重启后复现,可能是系统服务(如 `systemd-tmpfiles`)覆盖了配置。需通过工具修复: ```bash sudo systemd-tmpfiles --create --prefix=/tmp ``` --- ### 引用说明 - 使用 `sudo mkdir` 创建目录时需确保父目录权限允许操作(根目录 `/` 默认允许 `root` 操作)[^2]。 - 权限 `1777` 中的粘滞位(`t`)防止用户删除他人文件,适用于共享目录如 `/tmp`[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值