[英]Understanding Unix Owner and chmod 777
据我了解,Unix具有3个级别的所有权:所有者,组和其他。 所有者是创建文件的所有者,此所有权以后可以使用“ chown”移动。 但是,我对chmod 777对“其他”或“组”感到困惑。
在文件上执行上一个命令还将使该组/其他用户具有与所有者相同的特权。 从而,
假设您的系统上有3个用户:krishnendu,mindy和wodin
krishnendu分为以下几类:krishnendu,工作人员,客人
敏锐分为以下几类:敏锐,员工
wodin分为以下几类:wodin,来宾
krishnendu组的唯一成员是krishnendu用户。 心灵团体和沃丁团体相似。
如果您拥有krishnendu拥有的文件(file1),并且以模式640将krishnendu分组,则只有krishnendu用户具有对该文件的读/写访问权限。
如果在不更改模式的情况下对文件进行chown mindy file1
: chown mindy file1
则它仍将具有krishnendu和模式640的组所有权。这意味着mindy将具有读/写访问权限,但krishnendu用户(因为krishnendu是krishnendu的成员)组)也将具有只读访问权限。
如果在此之后更改chmod 777 file1
,则它仍将由krishnendu的组所有权由mindy拥有,但是现在所有三个用户将具有对该文件的读取/写入/执行访问权限。
文件只能有一个所有者。 如果要授予用户子集访问权限,同时拒绝系统上的其他用户访问,则需要将该用户子集放入组中,并使用chown
或chgrp
更改文件组所有者。
例如,如果您创建文件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.