📜  chmod 只为我读写 (1)

📅  最后修改于: 2023-12-03 14:40:04.632000             🧑  作者: Mango

Chmod: 只为我读写

在Linux系统中,文件和目录的访问权限由它们的所属用户、所属用户组以及其他用户共三种身份控制。chmod 命令用于改变这些身份对文件和目录的访问权限。

原理

chmod 命令通过修改文件或目录的三个权限位来改变身份的访问权限,这三个权限位分别是:

  • r(读):表示对文件内容或目录下文件名列表的读取权限。
  • w(写):表示对文件内容或目录下的文件名列表的增删改权限。
  • x(执行):表示对文件或目录进入权限,对文件来说,表示运行该文件的权限。

每个身份对文件的权限有三种:

  • u(User):即所属用户的权限。
  • g(Group):即所属用户组中其他成员的权限。
  • o(Others):即其他所有人的权限。

例如,设置一个文件只为所属用户读写权限,可以使用以下命令:

chmod u=rw filename

这样,所属用户就有了文件的读写权限,而所属用户组和其他人则没有任何权限。

操作

chmod 命令中,我们可以使用不同的方式来指定权限。常用的包括:

  • 数字形式:通过三个八进制数来表示权限。每个八进制数由三个二进制数(即三个权限位)组成,如 777,其中第一个八进制数代表所属用户的权限,第二个代表所属用户组的权限,第三个代表其他人的权限。
  • 符号形式:通过 u/g/o 表示目标身份,+/- 表示增加还是删除权限,r/w/x 表示权限本身。

例如,可以使用以下命令将文件 filename 的权限改为只有所属用户读写权限:

chmod u=rw filename

同时,我们也可以通过以下命令将文件 filename 的权限改为 777(即所属用户、所属用户组和其他人都具有全部权限):

chmod 777 filename
建议

在使用 chmod 命令时,建议仅为必要的用户、用户组和其他人分配最少的权限,以保证系统的安全性。同时,也可以使用组权限和ACL权限等更高级的权限控制方式来确保文件和目录的安全。