避免删除我自己目录中的文件 - chmod 命令

避免删除我自己目录中的文件 - chmod 命令

我想确保特定目录中的文件无法被删除。我应该选择哪一个chmod才能读取和使用这些文件,同时仍无法删除它们?我希望稍后能够撤消此操作,chmod以防我再次想删除它们。

答案1

也许您正在尝试删除那些只能由 root 用户写入的文件。有两种方法可以做到这一点。以 root 用户身份删除文件。或者,将该文件公开。

sudo rm -rf <directory name>

chmod用于许可。有3个权限

  1. 写。

  2. 执行。

如果您想公开启用所有这些,请运行以下命令

sudo chmod 777 <directory name>

阅读有关许可的更多信息这里这里

如果您想禁用公共和组的权限,您应该运行以下命令

sudo chmod 700 <directory name>

第一个号码用于owner(root 用户),第二个号码用于group,第三个号码用于other access(我称之为公共)

在此输入图像描述

您可以记住权限号码这边走

  • 读=4
  • 写入 = 2
  • 执行=1

答案2

创建和删除文件的权限属于它们所在的目录。从该目录删除写权限,您仍然可以读/写该目录中的文件,但您既不能删除也不能创建它们。

mkdir try
touch try/one try/two
chmod u-w try         # Remove write (w) permission from the user (u)

# No more deletions or creations but files can still be edited

echo boo > try/one    # Ok
date > try/two        # Ok
echo baa > try/new    # Fails
rm try/two            # Fails

chmod u+w try         # Restore delete/create access

rm try/two            # Ok

答案3

为了防止删除目录中的单个文件,您可以将它们设置为不可变。使用该命令chattr +i filename使文件不可变。不可变文件无法修改、重命名或删除。注意:并非所有文件系统都支持不可变属性,只有超级用户或拥有 CAP_LINUX_IMMUTABLE 能力的进程才能设置或清除该属性。

相关内容