五. Linux权限管理命令

2023-11-15 10:05:29 浏览数 (1)

权限管理命令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-期望值=设置值

0 人点赞