📜  在 linux 中只读 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:23:12.804000             🧑  作者: Mango

在 Linux 中只读 - Shell/Bash

在 Linux 中,有时候需要对文件或目录进行限制,使其只能读取,不能修改或删除。这个限制可以通过在文件或目录上设置只读权限来实现。本文将介绍如何在 Shell/Bash 中将文件或目录设置为只读。

1. 文件只读

要将文件设置为只读,可以使用 chmod 命令。chmod 命令用于改变文件或目录的访问权限。要将文件设置为只读,可以使用以下命令:

chmod 444 file.txt

这将使 file.txt 文件的权限设置为 r--r--r--,即只读权限。此时,任何用户都只能读取文件,但不能修改或删除文件。 当然也可以使用以下命令:

chmod u-w file.txt
chmod g-w file.txt
chmod o-w file.txt

这个命令也将 file.txt 的权限设置为只读。但是,此时文件属主、文件所在组和其他用户都不能写入文件。

2. 目录只读

要将目录设置为只读,需要加上 -R 参数,表示递归地给目录下的所有子目录和文件设置权限。要将目录设置为只读,可以使用以下命令:

chmod -R 555 dir

这会使 dir 目录的权限设置为 r-xr-xr-x,也就是属主、所在组和其他用户只有读取和执行权限,但是不能写入或删除文件。这样做可以防止误删除或更改文件。

需要注意的是,只读权限设置是有限制的。如果用户对目录或文件拥有写入权限,那么文件或目录就可以被修改,即使在只读模式下也是如此。因此,在设置只读权限之前,最好确定用户没有写入权限。

3. 取消只读

如果要取消只读权限,并将文件或目录设置为可写入和可执行权限,可以使用以下命令:

chmod 755 file.txt
chmod -R 755 dir

这会将 file.txt 的权限设置为 rwxr-xr-x,并将 dir 的权限设置为 rwxr-xr-x(其中 R 表示递归修改)。

结语

本文介绍了如何在 Shell/Bash 中将文件或目录设置为只读权限,以及如何取消只读权限。要记住的是,在设置只读权限之前,应该确保用户没有写入权限。只有这样,文件或目录才能真正地保护起来。