Chmod
chown 不給我任何權利
我有一個文件夾,
my-folder
. 從它的父目錄,我首先做:sudo chown -cR matthewslouismarie: my-folder
如果我這樣做:
chmod -cR 600 my-folder
,我得到:chmod: cannot access 'my-folder/build.sh': Permission denied chmod: cannot access 'my-folder/vmdk': Permission denied chmod: cannot access 'my-folder/.git': Permission denied chmod: cannot access 'my-folder/run.sh': Permission denied chmod: cannot access 'my-folder/docker': Permission denied chmod: cannot access 'my-folder/.gitignore': Permission denied
我不應該完全擁有這個文件夾及其內容嗎?
筆記:
執行
sudo chmod -cR 600 my-folder
不會列印任何內容。matthewslouismarie
是我輸入時得到的whoami
。
正如@andyDalton 所說,您需要
x
(執行)權限才能查看目錄。因此,您可以將權限設置為
700
將x
在正常文件上設置的權限。如果你有 gnu
chmod
,那麼你可以使用符號模式:chmod -cR u+rwX my-folder
這只會添加到使用者權限中,並且僅
x
當它作為目錄或已存在於組或其他時才會添加。還要考慮是否需要使用
chmod
. 它可能已經是你想要的樣子了。chown
不重置它。
對目錄的
x
權限控制使用者是否可以遍歷該目錄。通過使用 mode600
,您已刪除該x
位,因此無法遍歷目錄。試試這個:
find my-folder -type d -exec chmod 700 {} \;
這會將各種目錄的權限更改回
700
(rwx------
)。如果您希望文件是600
,同樣,您可以這樣做:find my-folder -type f -exec chmod 600 {} \;