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