PHP*_*ner 5 permissions users groups
我发现ls我的系统中有一个具有以下输出的目录:
drwxr-xr-x 5 username root 4096 Jan 14 2015 DIRNAME
Run Code Online (Sandbox Code Playgroud)
这给我带来了一个问题:文件所有者和组之间是否有任何限制?我的意思是系统中的每个用户都属于预定义的组。是否可以将“组”分配给文件用户(所有者)不属于的文件/文件夹?
是否可以将“组”分配给文件用户(所有者)不属于的文件/文件夹?
当然。例如:
$ sudo ls -l /var/spool/cron/crontabs
total 8
-rw------- 1 muru crontab 1136 Jul 21 12:30 muru
-rw------- 1 root crontab 1090 Jan 20 2015 root
$ groups
muru adm cdrom sudo dip plugdev lpadmin sambashare
$ groups root
root : root
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,既不是root,也不是muru,是的成员crontab,但在crontab文件群组拥有者crontab。
文件所有者和组之间是否有任何限制?
根本没有1。
1好吧,每个都有限制:UID 和 GID 必须是 32 位整数 (IIRC),或者用户名和组名必须存在:
# touch /tmp/foo
# chown 1000000000:2000000000 /tmp/foo
# ls -l !$
ls -l /tmp/foo
-rw-r--r-- 1 1000000000 2000000000 0 Sep 15 09:04 /tmp/foo
# chown gibberish:garbage /tmp/foo
chown: invalid user: ‘gibberish:garbage’
Run Code Online (Sandbox Code Playgroud)
但是,不,所有者和组之间没有关系。