Answers:
通过允许用户“放弃”文件,您将违反操作系统的各种功能。如:
Taking up another user's disk quota.
Impersonating another user (or even root) via setuid.
Having insufficient privileges to undo a mistaken chown.
Making it appear that someone else had created a given file.
Setting up cron jobs to run on other user's accounts.
And many more...
这是linux的设计师只是个人的选择不会允许它-一切伪安全原因,给予,是似是而非的,因为有UNIX系统,使这一点。
我认为此功能归结为您的unix的行为是否遵循“ System-V”(AT&T)或Berkeley的unix(BSD)。
至于提到的其他安全问题:
通过setuid模拟另一个用户(甚至root)。
非发行:更改“所有者”会清除所有“ setXid”位(U / G)
没有足够的权限来撤销错误的chown
但是,这并不是真正的“安全风险”,但是可能在允许更改用户的系统上,如果位于您自己的目录中,则可以将其更改回原来的状态,否则明智的做法是:“小心”!
似乎有人在创建给定文件。
它仍将位于您可写的目录中。也就是说,除非将其打开以便写入您的组或所有组(或者特别是如果有ACL的情况下,您可以打开),则您无法将其移入其homedir。
设置cron作业以在其他用户的帐户上运行。
再次,这是行不通的-因为crondirs属于用户所有,甚至没有被其他用户读取,更不用说可写了。
如果任何人都可以更改所有权,那么任何人都可以更改权限以访问系统上的任何文件。
否:仅当用户“拥有”包含该文件的目录时。也就是说,我可以将名为“ passwd”的文件提供给root用户,但是除非获得对/ etc /的写许可,否则我无法将其移至/ etc /中。
配额
一个潜在的有效点- 如果您使用配额,但似乎很容易检测是否按home-dir汇总磁盘空间。唯一的问题是多个用户可写的目录。在这种情况下,可能由该“目录”的所有者进行。这可能是这些系统上的情况下支持“放弃”的文件,你只能在目录中做到这一点,你“自己”的,但它是一个很长的时间,因为我实际上是一个系统,允许这个,所以我不记得确切的限制。
我似乎记得有一些“权衡”,允许“放弃文件”……例如,在允许这样做的系统上,Linux不允许的其他事情,但是不记得发生了什么手...
我想说上面的“答案”应该没有标记为答案,因为它不是真正的答案。IT只是设计上的决定-我只是不知道要进行哪些折衷。
可能存在以上未提出的安全问题,这是合理的考虑,但以上问题无效。
IMO,它应该是“ / proc”中系统可设置的“值”,但总的来说,我认为大多数人都不太在意。
如果非常需要它,可以对'chown'进行安全性增强和修改以允许它,然后使用w / setuid'root'进行设置以使其能够实施这样的策略。
mount
选项进行设置(因此,此设置可以限制为单个安装点,而不是按照系统可设置的值建议在系统范围内rstchown
进行设置):(缺省值)以将文件所有者更改限制为root用户,norstchown
以允许非特权用户更改其自己文件的所有者(他们不能将其更改回)。
好吧,如果任何人都可以更改所有权,那么任何人都可以更改权限以访问系统上的任何文件。这不仅从恶意软件的角度(不需要sudo)而且从系统管理员的角度来看也是很糟糕的。如果任何用户都可以更改任何文件,则文件权限是无用的。
myTrojan.sh
为由root拥有并具有SUID标志。
因为这样用户才能逃避文件系统配额。如果我有100MB的配额,而您有100MB的配额,则我可以上传100MB,chmod a + r,chown,然后再上传100MB。
/tmp
。