繁体   English   中英

了解Unix所有者和chmod 777

[英]Understanding Unix Owner and chmod 777

据我了解,Unix具有3个级别的所有权:所有者,组和其他。 所有者是创建文件的所有者,此所有权以后可以使用“ chown”移动。 但是,我对chmod 777对“其他”或“组”感到困惑。

在文件上执行上一个命令还将使该组/其他用户具有与所有者相同的特权。 从而,

  1. 我的理解正确吗:一个文件可以有多个所有者?
  2. 如果chmod 777可以帮助完成相同的任务,那么chown的用途是什么?
  3. chmod 777组中的用户可以通过命令chmod u = r filename限制实际所有者的访问吗?
  1. 该文件只能具有“ 1个所有者”,但是如果您希望有多个“所有者”,则这是组的所在。如果alice和john是名为“ hello”的组的一部分,并且将“ hello”组指定为群组拥有者,那么alice和john是文件的拥有者(作为群组的一部分)。 但是,按照传统意义,没有,只有1个所有者。 我经常将根保留为指定所有者,然后根据需要合并组。
  2. chmod用于更改实际文件的权限。 执行chmod 777时,将允许RWX(读取,写入,执行)访问所有者,组和其他用户。 它不会像chmod那样真正改变所有权(chown所做的那样)取得相同的成功。 因此chmod是指定义谁可以对文件执行操作,chown是确定文件的所有者。
  3. 不,它们不能更改,因为它们不是文件的所有者,而是作为组“成员”的所有者。 该命令实际上是chmod ur。 '-'(减号)删除访问权限,'+'(加号)添加。

假设您的系统上有3个用户:krishnendu,mindy和wodin

krishnendu分为以下几类:krishnendu,工作人员,客人

敏锐分为以下几类:敏锐,员工

wodin分为以下几类:wodin,来宾

krishnendu组的唯一成员是krishnendu用户。 心灵团体和沃丁团体相似。

如果您拥有krishnendu拥有的文件(file1),并且以模式640将krishnendu分组,则只有krishnendu用户具有对该文件的读/写访问权限。

如果在不更改模式的情况下对文件进行chown mindy file1chown mindy file1则它仍将具有krishnendu和模式640的组所有权。这意味着mindy将具有读/写访问权限,但krishnendu用户(因为krishnendu是krishnendu的成员)组)也将具有只读访问权限。

如果在此之后更改chmod 777 file1 ,则它仍将由krishnendu的组所有权由mindy拥有,但是现在所有三个用户将具有对该文件的读取/写入/执行访问权限。

文件只能有一个所有者。 如果要授予用户子集访问权限,同时拒绝系统上的其他用户访问,则需要将该用户子集放入组中,并使用chownchgrp更改文件组所有者。

例如,如果您创建文件file2和file3,都使用模式640,然后执行以下操作:

# chown root:staff file2
# chown root:guests file3

那么只有krishnendu和mindy可以访问file2,因为它们在staff组中,而wodin则没有。 而且只有krishnendu和wodin可以访问file3,因为它们在guests虚拟机组中,但是请记住不是。

因此,将文件模式设置为777与更改文件所有者不同。

另外,您通常不希望对任何方式使用模式777。

如果文件的模式为777,则除root或所有者以外,其他任何用户都不能更改所有权或模式。

您一定不要混淆:访问权限和所有权。

如果某人拥有一个对象,则它有权对其进行任何操作,包括修改访问权限和所有权。 请注意,一旦有人辞去所有权,他将无法再将其收回。 因此,如果您拥有房屋,则可以按所需的方式进行管理,让人们进入或不进入。

访问权限定义了谁可以独立于所有权执行文件上的操作。 我想您经常进入建筑物而不要求所有权,这是相同的。

访问权限仅定义某人(或一组或一组用户)是否有权(至少基本上)读取内容,修改内容或执行内容。 但是所有权,访问权限等属性不是文件内容的一部分,它们是与之关联的元数据,并且可以通过非常特殊的方式修改这些元数据。 例如,所有权和访问权只能由所有者修改。

现在:

一个文件可以有多个所有者?

是的,这是可能的,但不能使用所述的基本访问权限和所有权。 在基本的Unix中,只能有一个所有者。

如果chmod 777可以帮助完成相同的任务,那么chown的用途是什么?

chown是所有权转让(您卖掉房子)。 chmod只是一种修改人们进入房屋的政策的方法。

chmod 777组中的用户可以通过命令chmod u = r filename限制实际所有者的访问吗?

不知道什么是“ chmod 777 group”。 但是除了所有者(并且root以外的root是非常特殊的用户)之外的任何人都不能更改任何此类元数据(所有权,访问权限)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM