更新:为了我的一般目的,我在这里想到的就足够了:更新:https://raspberrypi.stackexchange.com/questions/13401/locking-down-raspbian-to-only-allow-limited-features/58778# 58778
所以在我看来,Linux权限作为白名单(强制允许单个,指定用户或单个,指定组的东西)而不是黑名单(强制拒绝单个,指定用户或单个,指定组的东西) 。这个对吗?如果是这样,我如何将某人列入黑名单,以便能够在特定目录或一组文件中进行读取,写入或执行?
例如:ls -l
显示目录的权限,drwxr-xr-x
意味着它是一个目录,用户具有读取,写入,执行(rwx)权限,组具有rx权限,而其他人具有rx权限。假设用户是“user0”,组是“user0”。
如何明确允许“user1”和“user2”具有对此“user0”目录的所有权限,“user3”和“user4”没有权限,“user5”和“user6获得部分权限?
在我看来,我需要黑名单user3和user4,白名单user1和user2,部分白名单或部分黑名单user5和user6。
由于(我认为)Linux的权限只是白名单,实现这一目标的最佳方法是什么?
请注意,我的一部分困惑在于以下事实:
- 目录或文件一次只能属于一个用户或组(而不是说,为多个组授予访问特定目录或文件的权限)
- 用户可以属于多个组
我想我只需要一些这方面的好例子。
一个部分解决方案,有助于证明我遇到的问题,如下:
我们假设我要设置这些权限的user0目录是“/ home / user0”
首先,将目录用户设置为“user0”,并将“user0”分组(默认情况下只sudo adduser user0
在第一时间使用)。接下来,将权限设置为“drwxrwx ---”(用户和组都是rwx,但其他人没有)
允许user1和user2对目录的所有权限,方法是将它们分别添加到user0组
授予user3和user4无权限:已完成,因为其他人具有“---”访问权限,而user3和user4不属于user0组。
给user5和user6部分权限(例如:“rx”): - 无法完成???? - 因为如果我将其他权限设为“rx”,那么它也会将其提供给user3和user4,但我希望它们被列入黑名单(具有“---”权限)。
我已经完成的背景阅读包括:
- 如何使用Linux组限制其他用户对目录的读取,写入和执行访问?
- https://stackoverflow.com/questions/527876/how-to-restrict-a-linux-user-to-be-only-able-to-read-home-user-and-nothing-else/527976#527976
- https://raspberrypi.stackexchange.com/questions/13401/locking-down-raspbian-to-only-allow-limited-features/14712#14712
- https://askubuntu.com/questions/88356/changing-ownership-of-home-folders/88396#88396
- https://www.linode.com/docs/tools-reference/linux-users-and-groups