ITPub博客

首页 > 应用开发 > IT综合 > 控制缺省访问权限

控制缺省访问权限

原创 IT综合 作者:zhulch 时间:2007-06-21 13:51:13 0 删除 编辑
....[@more@]

上文已经介绍了如何使用 chmod 命令更改个人文件和目录的权限。用户还应了解:创建文件和目录时,已经为它们指定了缺省权限。可以使用 umask 命令列举或更改缺省权限设置。

umask(1)

无论何时创建新文件或目录,系统都会为它们指定缺省的文件权限,并由 umask 设置对其进行管理。umask 的缺省值设置为 0,这说明每个用户对创建的新文件都具有读写权限 (-rw-rw-rw-),且每个用户对创建的新目录都具有读、写或搜索权限 (drwxrwxrwx)。

要限制新建文件和目录的缺省权限,请使用 umask 命令。

创建新文件时,设置的文件模式创建掩码中的每个权限位都会导致文件中的相应权限位被清除(处于禁用状态),因此权限受到了屏蔽。相反,在掩码中清除的位允许在新创建的文件中启用相应的文件模式位。

POSIX 和 Key shell 中生成的 umask 命令可以接受符号掩码值(及过时的数字形式)。这些符号掩码值与那些同 chmod 命令(请参阅 《chmod(1)》)一起使用的掩码值相似。

umask 语法如下:

umask who operator permissions

其中,参数的含义如下:

who

表示下列字符中的一个、两个或全部:

  • u(表示用户权限)

  • g(表示组用户权限)

  • o(表示其他用户权限)

  • a (ugo 的缩写形式)

如果忽略了字符 who,operator 和 permissions 将适用于所有类(等同于 a 或 ugo)。

operator

字符 +、- 或 = 之一:

  • + 表示清除掩码中由 who 和 permissions 值代表的文件模式位,这样就可以在新建文件中启用相应的权限。

  • - 表示设置掩码中由指定的 who 和 permissions 值所代表文件模式位,这样就可以在新建文件中禁用相应的权限。

  • = 表示清除由相应的 who 和 permissions 值指定的文件模式位,并设置其他所有的值。

permissions

字符或字符组合 r、w、x、rx、wx、rw 或 rwx 之一,用于为相应的 who 和 operator 指定读、写和(或)执行(搜索)权限。

如果未指定 permissions,则相应的 who 中的现有文件创建模式掩码不会发生更改。

例如,要设置 umask 值,在新建文件中为文件所有者生成读、写和执行权限,并为其他所有用户生成只读权限 (-rwxr--r--),请输入以下内容:

$ umask u=rwx,g=r,o=r

要设置 umask 值,使文件所有者具有读写权限,同组的其他用户具有只读权限,除此之外的其他用户没有访问权限 (-rw-r-------),请输入以下内容:

umask a-rwx,u+rw,g+r

要确定当前的 umask 设置,请键入:

$ umask -S
注释:不要拒绝用户本人访问:

不应设置限制用户访问本人文件的 umask 值。多数 HP-UX 实用程序(如 vi)假定用户始终可以访问新建的文件。这些文件可能包括 vi 创建的临时文件。在这些限制性的 umask 设置下进行使用时,实用程序可能无法正常运行。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7318139/viewspace-920215/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    554
  • 访问量
    2318296