linux文件的权限

在 Linux 中,文件权限是用来控制对文件和目录的访问的。每个文件和目录都有三种类型的权限:读(r)、写(w)、执行(x),分别表示允许用户对文件进行读取、写入和执行操作。这些权限是针对文件的所有者、所属组和其他用户设置的。

文件权限的表示方式通常是由九个字符组成,分成三组,每组三个字符,分别代表文件所有者权限、所属组权限和其他用户权限。这九个字符中的每一个字符代表一种权限,可以是 r(读取)、w(写入)或 x(执行),或者是 -(表示没有相应的权限)。

例如,一个文件的权限字符串可能是 rwxr-xr--,它的含义是:

  • 文件所有者有读、写、执行权限。
  • 文件所属组有读、执行权限。
  • 其他用户只有读权限。

以下是如何设置文件权限的一些基本命令:

1.chmod修改文件权限

数字表示

chmod [权限设置] 文件名

例如,要将文件 file.txt 设置为所有者可读写,所属组和其他用户只读的权限,可以执行以下命令:

chmod 644 file.txt

符号表示

  • + 表示添加权限
  • - 表示删除权限
  • = 表示设置权限

例如,要将文件 file.txt 的所有者添加执行权限,可以执行以下命令:

chmod u+x file.txt

2.chown修改文件属主和属组

chown [新属主]:[新属组] 文件名

例如,将文件 file.txt 的所有者改为 user1,所属组改为 group1,可以执行以下命令:

chown user1:group1 file.txt

-R表示递归地修改所有子目录和文件的所有者。

举个例子,如果想将目录 /home/user1/myfolder 及其所有子目录和文件的所有者修改为 user2,可以使用以下命令:

chown -R user2 /home/user1/myfolder

3.umask权限掩码

umask 命令用于设置文件创建时默认权限的掩码,即控制文件的默认权限。它通过从最大权限(通常是 777)中减去指定的权限来设置默认权限。通常情况下,新创建的文件的默认权限是 666(普通文件) 或 777(目录)减去当前 umask 的值。 umask 值可以通过使用 umask 命令进行设置和显示。

例如,如果当前的 umask 值为 022,那么新创建的文件的默认权限将是 644(666 减去 022),新创建的目录的默认权限将是 755(777 减去 022)。

 修改umask

临时修改:

umask 0222

将umask的值临时修改为0222

 永久修改:

要永久修改 umask,你需要编辑 shell 的配置文件,这样每次启动 shell 时都会使用新的 umask 值。通常情况下,可以修改用户的 shell 配置文件,比如 .bashrc(对当前用户修改),.profile(对全部用户修改)

 4.特殊权限

在Linux系统中,有一些特殊的权限标记可以应用于文件或目录。这些特殊权限标记会改变文件或目录的行为或访问权限。

chmod 命令中,特殊权限位 SUID、SGID 和 Sticky Bit 分别用数字表示为:

  • SUID: 4
  • SGID: 2
  • Sticky Bit: 1

以下是几个特殊权限标记:

  1. SUID (Set User ID):

    • 当 SUID 位设置在一个可执行文件上时,该文件将以文件所有者的权限来执行,而不是实际执行者的权限。
    • 主要用于特定情况下,允许普通用户执行一些需要特权用户权限的程序,例如 passwd 命令,普通用户执行该命令时需要更改 /etc/passwd 文件,而 SUID 位可以让普通用户以超级用户权限执行该命令,但需要小心防止滥用。
    • chmod u+s filename
  2. SGID (Set Group ID):

    • 当 SGID 位设置在一个可执行文件或目录上时,该文件或目录将以文件所属组的权限来执行或访问。
    • 对于可执行文件,SGID 会继承执行者的有效组,而对于目录,则会使新创建的文件的组自动设置为该目录的组。
    • 主要用于组共享文件和目录的访问权限管理,确保多个用户在同一个组中工作时可以共享文件,并且对文件的操作受到控制。
    • chmod g+s filename
  3. Sticky bit:

    • 当 sticky bit 设置在目录上时,只有文件所有者、目录所有者和超级用户可以删除该目录下的文件,普通用户无法删除其他用户创建的文件,即使对该文件有写权限。
    • 在公共目录中,可以防止普通用户删除其他用户上传的文件,保护用户文件的安全性。
    • chmod +t directoryname

 

posted @ 2024-04-08 14:31  hx_ky36  阅读(108)  评论(0编辑  收藏  举报