在文件夹/项目上运行chmod,chown命令需要什么权限?


9

我一直以sudo用户身份运行chmod / chown命令。但是今天我想知道是否不使用sudochmod/chown对文件夹/文件实际执行命令需要什么权限?我已经尝试过搜索该问题,但是没有弹出任何内容可以专门回答这个问题。

Answers:


18

在Linux上:

chown:“只有特权进程(Linux:具有此CAP_CHOWN 功能的进程)才可以更改文件的所有者。” (来源:chown(2)) 进行这种处理的简单方法是通过运行root。见explain_chown帮忙找出为什么一个特定的chown失败。请参阅capabilities以其他方式为进程提供这种功能的方法,而不是以as身份运行root

chmod:文件的所有者或root可以更改权限,以及具有此CAP_FOWNER功能的其他进程。 (资源)

chgrp:“文件的所有者可以将文件的组更改为该所有者是其成员的任何组。特权进程(Linux:带有CAP_CHOWN)可以任意更改该组。” (小丑(2))


1
Linux在2004年左右开始实现功能,但是相关的POSIX提议已于1997年撤消。如果您使用的是Solaris等现代操作系统,则PRIV_FILE_CHOWN可以锁定所有本地文件并PRIV_FILE_CHOWN_SELF锁定您拥有的本地文件。顺便说一句:允许从NFS锁定远程文件的操作系统可能被视为安全隐患。在HP-UX上,任何普通用户都可以编辑他的文件,这也被视为存在安全风险。
schily 2015年

PS撤消了功能POSIX提议,因为它仅处理常规用户和历史根用户之间的特权。Solaris的细粒度特权是Linux的两倍,并允许删除诸如fork()和exec()之类的特权。
schily

请注意,在Linux上,如果没有特权,则可以chown拥有文件,但只能拥有gid部分(属于您所属的任何组)。只要是我的会员,我就可以chown stephane:other-group myfile(或chown :other-group)做other-group
斯特凡Chazelas

什么chgrp命令?您可以为此添加解释吗?
Maxim Koretskyi 2015年

@StéphaneChazelas,谢谢,根据您的回答,我认为所有者可以在chgrp没有特权用户的情况下成功运行?
Maxim Koretskyi 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.