3个Linux文件权限命令

dafenqi
2024-01-09 / 0 评论 / 31 阅读 / 正在检测是否收录...

文件权限命令允许你修改用户的访问权限。这包括设置读/写/执行权限、更改所有权和默认文件模式。

1. chmod 命令 – 更改文件模式或访问权限

chmod命令允许您快速更改文件的模式(权限)。它有很多可用的选项。

文件的基本权限包括:

  • r (只读)
  • w (写入)
  • x (执行)

有三组权限–用户、组和公共。 权限使用 0 至 7 的数字模式 设置:

  • 7:读、写和执行权限(rwx)
  • 6:读和写权限(rw-)
  • 5:读和执行权限(r-x)
  • 4:只读权限(r--)
  • 3:写和执行权限(-wx)
  • 2:只写权限(-w-)
  • 1:执行权限(--x)
  • 0:无权限(---)

符号模式 下,可以使用以下符号来设置权限:

  • +:添加权限
  • -:移除权限
  • =:仅设置指定的权限

chmod最常见的用例之一是使文件可由用户执行。为此,请键入chmod和标志+x,然后键入要修改其权限的文件:

chmod +x script

您可以使用它使脚本可执行,从而允许您使用./ 符号直接运行它们。

怎么修改文件的用户、组和公共权限?

0)查看文件的当前权限:

您可以使用 ls -l 命令来查看文件或目录的当前权限。在权限列表的第一列,您会看到类似 "-rw-r--r--" 的权限表示法,其中每个部分代表着用户、组和公共的权限设置。

例子,要将文件 file.txt 的用户权限设置为读、写和执行,组权限设置为只读,公共权限设置为只读,有以下两种方式实现:

1)、使用数字模式修改权限

可以使用以下命令:

chmod 754 file.txt

这将给用户赋予读、写和执行的权限(7),给组赋予读和执行的权限(5),给公共赋予读的权限(4)

更详细点说,chmod 754 file.txt 意味着给文件的所有者(文件创建者)赋予读、写和执行的权限,给文件的所属组赋予读的权限,给其他用户赋予只读权限。

2)、使用符号模式修改权限

chmod u=rwx,g=rw,o=r file.txt2

[root@xx test]# ls -l file.txt2
-rwxr-xr-- 1 root root 0 Jan  9 12:52 file.txt2
[root@xx test]# ls -l ../
total 4
drwxr-xr-x 2 root root 208 Jan  9 12:52 test
drwxr-xr-x 2 root root 125 Jan  9 11:36 test2
-rw-r--r-- 1 root root 378 Jan  9 10:14 test.tar.gz

权限列表的第一列选项为:

  • -:表示普通文件
  • d:表示目录
  • l:表示符号链接(Symbolic Link)
  • c:表示字符设备文件(Character Device File)
  • b:表示块设备文件(Block Device File)
  • s:表示套接字(Socket)
  • p:表示命名管道(Named Pipe)

2. chown – 更改文件所有者和组

chown 命令可更改文件或目录的所有权。所有权包括两个部分–所有者用户和所属组。

例如:

chown john:developers file.txt

上述示例命令将所有者用户设置为 “john”,所有者组设置为 “developers”。

只有 root 超级用户账户才能使用 chown 更改文件所有者。它可以根据需要修改所有者和组来解决权限问题。

3. umask – 设置默认文件权限

umask 命令控制给新创建文件的默认权限。它将八进制掩码作为输入,如果 umask 的值为 022(八进制),则新创建的文件将使用默认权限 644(即 666 减去 022),新创建的目录将使用默认权限 755(即 777 减去 022)。

  • umask 022:新创建的文件权限为 644,新创建的目录权限为 755。
  • umask 027:新创建的文件权限为 640,新创建的目录权限为 750。
  • umask 077:新创建的文件权限为 600,新创建的目录权限为 700。

怎么看看系统的默认 umask 值?

[root@xx test]# umask
0022

umask 0022 的含义是:

文件默认权限是 644(-rw-r--r--),目录默认权限是 755(drwxr-xr-x)。

设置 umask 可以让你配置默认文件权限,而不是依赖系统默认值。umask 命令对于限制新文件的权限非常有用,而不需要别人手动添加限制。

0

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php on line 1032

评论 (0)

取消