权限管理命令chmod
- 示例代码
- 虽然以上方式可以更改文件的权限,但在Linux开发中并不常用,在开发中我们更习惯于使用数字进行权限设置
- 数字权限设置
- 权限数字表示 | r–>4 | w–>2 | x–>1 |
- rwxrw-r–(7 6 4)
- 代码示例
- -R递归修改文件权限,修改后,该目录下的子文件同样进行修改
- 可以看到没有使用-R,/tmp/a/b并没和/tmp/a有相同权限
- 使用-R后,/tmp/a/b同步到与/tmp/相同的文件权限
- 对于root用户创建的其他用户没有写入权限的文件,普通用户能否删除
- 创建testfile
- 创建普通用户
- 登录普通用户,删除文件
- 文件目录权限总结
- 对于文件file
- 有r权限就可以执行cat/ more/ head/ tail/ less等命令
- 有w权限就可以对文件进行echo等还有通过vim编辑器进行编辑
- 有x权限即为可执行文件,script,command
- 对于目录directory(对于一个目录有r权限必定有x权限)
- 有r权限即是ls
- 有w权限就可以对目录执行touch/mkdir/rmdir/rm
- 有x权限就可执行cd命令
- 需要明确区分文件与目录的权限区别
其他权限管理命令
权限管理命令chown
- 修改文件或目录的所有者,执行权限为root用户
- 代码示例
- 使用普通用户创建文件,即使是文件的所有者,普通用户也没有变更文件所有者的权限,执行chown命令只会"Operation not permitted"(操作不允许)
- 使用root拥有变更文件所有者权限,即使文件不是自身所有
权限管理命令chgrp
- 权限管理命令umask
- 对于文件/文件的的创建,我们并没有对文件/文件夹进行权限设置,正常情况下文件权限应该是一个缺省值,但现实是,文件(夹)一旦创建便设置了相应的权限(依赖于umask命令定义了文件的默认权限)
- 对于一个文件的所有者(即创建者)和所属组(一个用户可以有多个所属组,只有一个缺省组;一个文件的所属组即为该文件创建者的缺省组)
- 使用umask -S 以rwx形式显示新建文件缺省权限
- 与文件夹相比每个文件的权限位上都少了一个x
- 在Linux中缺省创建的文件,不具有可执行权限,出于安全考虑
- 若在Linux命令行上直接键入umask命令,则会弹出0022
- 对于0022的解释 | 第一个0 | 代表一种特殊的权限 | | 022 | 表示3种用户的分类(ugo) |
- 对于缺省创建的目录在umask命令中若不加-S选项则会显示一个原始权限,使用777-022=755(实际权限),而文件则是目录权限剪掉3个x
- 对于文件的缺省值的设置
- 使用777-期望值=设置值