πŸ› οΈToolsShed

Kalkulator Chmod

Hitung izin file Unix. Konversi antara notasi oktal dan simbolik rwx.

Baca (r)Tulis (w)Eksekusi (x)OktalSimbolik
Pemilik6rw-
Grup4r--
Lainnya4r--

Oktal

644

Simbolik

rw-r--r--

Perintah chmod

chmod 644 filename

Kalkulator Chmod membantu Anda memahami dan menghasilkan pengaturan izin file Unix/Linux. Dalam sistem berbasis Unix, setiap file dan direktori memiliki sekumpulan bit izin yang mengontrol siapa yang dapat membaca, menulis, atau mengeksekusinya β€” untuk pemilik, grup, dan semua orang lain. Perintah `chmod` mengatur izin ini menggunakan notasi simbolik (rwx) atau angka oktal (misalnya, 755).

Alihkan kotak centang baca, tulis, dan eksekusi untuk kolom Pemilik, Grup, dan Lainnya, dan alat secara otomatis menghitung nilai oktal yang setara dan string simbolik. Sebaliknya, masukkan nilai oktal seperti 644 dan alat menampilkan izin mana yang diaktifkan untuk setiap kelas pengguna.

Pola izin umum meliputi 755 (direktori dan executable), 644 (file web), dan 600 (kunci SSH pribadi).

Pertanyaan yang Sering Diajukan

Implementasi Kode

import os
import stat

# Set permissions using octal notation
os.chmod('script.sh', 0o755)   # rwxr-xr-x (owner: rwx, group: r-x, others: r-x)
os.chmod('data.txt', 0o644)    # rw-r--r-- (owner: rw-, group: r--, others: r--)
os.chmod('private.key', 0o600) # rw------- (owner: rw-, no access for others)

# Read current permissions
file_stat = os.stat('script.sh')
mode = file_stat.st_mode
print(oct(stat.S_IMODE(mode)))  # e.g. '0o755'

# Check specific permissions using stat constants
is_owner_executable = bool(mode & stat.S_IXUSR)
is_group_readable   = bool(mode & stat.S_IRGRP)
is_others_writable  = bool(mode & stat.S_IWOTH)
print(f"Owner executable: {is_owner_executable}")

# Build permissions programmatically
perms = stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH  # 644
os.chmod('config.ini', perms)

# Recursively set permissions on a directory tree
import pathlib
for path in pathlib.Path('/var/www/html').rglob('*'):
    if path.is_dir():
        os.chmod(path, 0o755)
    else:
        os.chmod(path, 0o644)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.