
以下內容經常用於設定檔案權限,一個很好的例子是將金鑰檔案設定為 ssh 使用的適當權限等級(這是「八進位」形式):
chmod 600 filename.xyz
使用以下內容(這是“符號”形式)是否是正確的等效且可接受的做法?
chmod a=,u=r filename.xyz
我問的原因是這樣對於程式碼的可讀性來說似乎更清晰一些。仍然不完全是人類可讀的,但不需要位元映射。
如果最大的可讀性(而不是簡潔性)是主要驅動因素,是否還有更好的選擇?
答案1
對於a=,u=r
,順序很重要。如果你不小心交換了a=
and的順序(或andu=r
的順序),結果將會非常不同。 (是的,在QWERTY 鍵盤上彼此相距很遠,但是有人查看參考文檔並手動輸入內容可能會在兩個看起來非常相似的部分之間造成混亂。)為了最大的可讀性和安全性,我會更明確:a=
u=
a
u
chmod u=r,go-rwx filename # or go-rwxst
這裡的權限組件非常不同,並且更加明確,因此不太可能發生錯誤。如果你有go-rwx
第一或第一並不重要u=r
。