2.10 文件和文件夹 #
2.10.1 文件类型 #
-
普通文件d
目录文件b
块特殊文件c
字符特殊文件l
符号链接f
命名管道s
套接字文件
创建新文件有默认权限,根据 umask 值计算,属主和属组根据当前进程的用户来设定。
在 linux 中创建文件默认是 (0)666 权限,需要减去 umask 的值。如:
2.10.2 权限表示 #
普通文件 #
- r=4 读
- w=2 写
- x=1 执行
目录 #
- x 进入目录
- rx 显示目录内的文件名
- wx 修改目录内的文件名
x 权限只能进入目录
rx 权限能进入并目录,显示目录内容,也可以读取文件,但是不能对文件进行操作
wx 权限能进入目录,但是不能显示目录内容,可以读取/修改/删除文件
2.10.3 修改权限 #
chmod #
chmod 可以修改文件和目录权限。
u 表示用户,g 表示用户组,o 表示其他用户,a 表示所有。
chmod u+x /tmp/testfile
chmod u-wx /tmp/testfile
chmod u=rwx /tmp/testfile
chmod 755 /tmp/testfile
chown #
更改文件或目录的所属用户和用户组。
chown 用户 文件
chown :用户组 文件
chown 用户:用户组 文件
chgrp #
可以单独更新用户组,不常用。
chgrp 用户组 文件
2.10.4 特殊权限 #
- SUID 用于二进制可执行文件,执行命令时取得文件属主权限,如
/usr/bin/passwd
- SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
- SBIT 用于目录,该目录下新建的文件和目录,仅 root 和自己可以删除,如
/tmp
SUID #
说明 #
可以看到/etc/passwd
除了 root 用户其实没有其他可以修改的,但是其他人也可以修改自己的密码,所以/usr/bin/passwd
的权限就是 SUID,也就是任何人在执行 passwd 命令时自动获取到属主权限也就是 root 权限。
添加方式 #
以 chmod 在原始权限加 4,比如原始权限是 744,那么就修改后的就是 4744,示例如下
SBIT #
以 chmod 在原始权限加 1,比如原始权限是 744,那么就修改后的就是 1744,示例如下