跳至主要內容
Lizely

字元轉換器

將 Unix 權限位元之間的嚴格八進位與完整 rwx 記法相互轉換,包含 setuid、setgid 與 sticky 狀態。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.請選擇由八進位轉為符號或由符號轉為八進位,然後以嚴格格式輸入完整的權限快照。
  2. 2.轉換並檢視標準八進位值、九個字元的符號值,以及所有者/群組/其他權限表。
  3. 3.僅在確認目標檔案、所有權、特殊位元以及最低權限需求後,才複製 chmod 模板。

關於字元轉換器

字元轉換器可將完整的 Unix 風格權限位元模式,在八進位記法與九個字元的符號快照之間相互轉換。請輸入恰好三個普通八進位數字,例如 755,或輸入四個數字,例如 4755,以包含特殊位元。反向操作時,請輸入完整的符號值,例如 rwxr-xr-x 或 rwsr-xr-x。所有計算、驗證、權限表以及剪貼簿操作皆在當前瀏覽器標籤頁中執行。不會上傳任何檔案路徑、權限值或命令至 Lizely。

三個普通八進位位置分別對應擁有者、群組與其他者。在每個位置中,讀取貢獻 4,寫入貢獻 2,執行或目錄搜尋貢獻 1。因此 7 表示讀取、寫入與執行;6 表示讀取與寫入;5 表示讀取與執行;0 表示無普通權限。該工具會測試從 0 到 7 的所有八個數值,而非僅依賴幾個常見範例。

八進位輸入刻意嚴格。必須僅包含恰好三個或四個 ASCII 八進位數字,不允許 0o 字首、符號、空格、分隔符、小數點、底線,或與 Unicode 外觀相似的數字。三個數字的輸入明確表示無 setuid、setgid 或 sticky 位元。四個數字時,第一位數字會同時包含 setuid(4)、setgid(2)與 sticky(1)位元。因此 6755 含有 setuid 與 setgid,7755 則包含所有三個特殊位元。明確的前導零,例如 0755,是被接受的,其代表的模式位元與 755 相同;當無特殊位元時,標準輸出將省略此冗餘的零。完整的 12 位元範圍包含 4,096 種不同的模式,從十進位的 0 到 4095,對應八進位的 0000 到 7777。十進位的 4096 為最大值之外的一個值,文字 4096 無效,因為 9 不是八進位數字。

符號輸入同樣嚴格且完整。包含九個字元:三個給擁有者、三個給群組、三個給其他者。讀取位置接受 r 或連字元,寫入位置接受 w 或連字元,普通執行位置接受 x 或連字元。這是常見的權限部分,會在列出工具中顯示。請勿包含檔案型別前導字元,例如 -rwxr-xr-x 中的連字元,也請勿輸入 chmod 修改表示式,例如 u+x。這些形式包含不同資訊,將被拒絕而非猜測。

特殊位元共享三個執行位置。當擁有者執行與 setuid 都設定時,擁有者執行字元為小寫 s;若無擁有者執行則為大寫 S。setgid 亦遵循相同的小寫或大寫規則,適用於群組執行位置。sticky 位元在其他者執行存在時使用小寫 t,不存在時使用大寫 T。保留大小寫區分是實現真正模式位元往返轉換的必要條件。該實現會徹底檢查從八進位 0000 到 7777 的所有 4,096 值,透過符號轉換與解析。

結果顯示標準八進位、符號表示法,以及針對擁有者、群組與其他使用者的權限表格。表格區分讀取、寫入與執行或搜尋權限,並標註任何 setuid、setgid 或 sticky bit。複製指令會將一個簡單的 chmod 八進位檔案模板複製到剪貼簿。檔案為佔位符,這個工具從來不會要求、解析或操作實際路徑。剪貼簿拒絕機制會讓可視值保留供手動複製使用。

改變轉換方向會載入相應範例,並立即清除舊結果、錯誤以及複製狀態。編輯輸入內容也會做同樣處理。驗證失敗時,不會讓先前的轉換結果繼續顯示。剪貼簿完成過程受到產生機制保護,因此遲到的非同步複製結果無法在輸入或模式變更後發布過期的正確訊息。原始輸入有 32-UTF-16 字元位元組預算。精確的邊界仍會顯示,並出現語法錯誤;下一字元則會收到明確的預算錯誤。沒有 HTML 長度上限會靜默截斷輸入。

此計算器說明的是模式位元,而非實際授權。POSIX 定義了位元位置,但存取仍可能受到所有權、存取控制清單、能力、掛載選項、只讀檔案系統、應用程式沙盒、以及其他作業系統政策的影響。一個流程還必須有權限才能穿越父目錄。Umask 會影響檔案建立時請求的權限;它並非由本工具靜默加上的一個數字。

特殊位元需要特別注意。可執行檔上的 setuid 與 setgid 可能會改變有效身份,系統在特定所有權或安全條件下可能會清除或忽略這些設定。目錄上的 setgid 通常會影響新子檔的群組。目錄上的 sticky 機制通常會限制未擁有該專案或目錄的使用者刪除或改名。本計算器僅報告請求的模式位元,並不能保證檔案系統會保留或尊重每一項位元。

建議在執行命令前先以輸出內容作為檢視輔助。應選擇實際使用者與服務所需的最低權限。避免直接複製廣泛範例如 777 來繞過存取問題;應先診斷所有權、群組、目錄穿越、ACLs 與服務身份。本工具不會執行 chmod、遞迴瀏覽目錄、追蹤符號連結、修改 ACL、計算 umask 結果、檢視當前權限,或判斷某請求模式是否對特定程式安全。

方法與來源

僅接受恰好三個或四個 ASCII 進位數字或恰好九個有效位置的符號字元,在強制執行 32 碼位原始輸入預算且不進行修剪或截斷後。將擁有者、組別與其他讀寫執行權限對映至 POSIX 掩碼 0400 到 0001。將 setuid、setgid 與 sticky 對映至 04000、02000 與 01000。根據執行權限是否同時設定,將特殊執行位置顯示為 s/S(擁有者與組別)或 t/T(其他)。標準八進位數字省略零特殊位元,但包含非零位元。測試涵蓋所有普通數字、權威特殊位元範例、格式錯誤的位置、精確與加一預算,以及從 0000 到 7777 的每種模式的完整符號迴圈。編輯會無效化舊結果,剪貼簿產生可防止產生過時的複製反饋。

常見問題

每個 chmod 位元中,4、2 與 1 分別代表什麼意思?
讀取貢獻 4,寫入貢獻 2,執行或目錄搜尋貢獻 1。將啟用的位元相加,可產生從 0 到 7 的一位元。
為何符號輸出有時會顯示 s、S、t 或 T?
小寫的 s 或 t 表示相關的特殊位元與執行位元皆已設定。大寫的 S 或 T 表示特殊位元已設定,但執行位元並不存在。
4755 第一位元屬於所有者權限嗎?
不。在四個位元的模式中,第一位元會結合 setuid(4)、setgid(2)與 sticky(1)位元。其餘位元則分別屬於所有者、群組與其他。
此工具能否改變本機或遠端檔案的權限?
不會。它僅在瀏覽器中轉換文字,並複製命令範本。它從不接收路徑,也從不執行 chmod。
777 是否保證存取權限?
不會。ACL、所有權、父目錄穿越、掛載狀態、檔案系統標誌、沙盒設定以及其他政策仍可能影響存取。過寬的權限也可能帶來安全風險。

開發者工具 使用指南

查看全部