Permissions
使用數字模式清除 setuid 權限
在 Ubuntu Linux 上,我有一個設置了 setuid 位 (
drwsr-xr-x
) 的目錄,我想取消設置。也不
chmod 755
是也不chmod 0755
是chmod 00755
(我雖然可能第一個 0 被解釋為只是“這是八進制”)清除了 setuid 位。然而,chmod u-s
做到了。清除 setuid 位的正確數字模式是什麼?
有趣的是。使用 GNU 似乎是不可能
chmod
的,這是一個特性。從我係統上的info
條目開始;chmod
請注意,雖然設置位的條目引用了符號和數字模式,但清除它們的條目僅指符號 (ug-s
) 模式:27.4 目錄和 Set-User-ID 和 Set-Group-ID 位
這些便利機制依賴於目錄的 set-user-ID 和 set-group-ID 位。如果像
chmod' and
mkdir’ 這樣的命令會定期清除目錄上的這些位,那麼這些機制會不太方便,並且更難共享文件。因此,像 `chmod’ 這樣的命令不會影響目錄的 set-user-ID 或 set-group-ID 位,除非使用者以符號模式特別提及它們,或將它們設置為數字模式。$$ … $$ 如果您想嘗試設置這些位,您必須在符號或數字模式中明確提及它們,例如:
$$ … $$ 如果您想嘗試清除這些位,則必須以符號模式明確提及它們,例如:
$$ … $$ 此行為是 GNU 擴展。可移植腳本不應依賴請求來設置或清除目錄上的這些位,因為 POSIX 允許實現忽略這些請求。