📰 Laman Utama 🔒 Log Masuk Admin
Jul 22, 2026 ⏰ 7 min read

Menguasai Pengguna Linux, Kumpulan & Kebenaran: Buku Kebenaran Sysadmin

Jika terdapat satu perkara yang memisahkan pemula Linux daripada sysadmin yang tegar pertempuran, ia adalah cara mereka mengendalikan pengguna, kumpulan dan kebenaran fail. Ia kedengaran biasa — hampir membosankan — tetapi silap dan anda melihat pelanggaran keselamatan, pemadaman data yang tidak disengajakan dan yang ditakuti 3 PG "mengapa apl tidak boleh menulis ke direktori lognya sendiri?" panggilan. Lakukan dengan betul, dan pelayan anda berjalan dengan selamat, pasukan anda bekerjasama tanpa memijak kaki satu sama lain, dan juruaudit sebenarnya menandatangani tanpa senarai dobi penemuan.

Dalam panduan ini, kami melangkaui `chmod 777` (tolong, jangan sekali-kali lagi). Kami akan merangkumi timbunan kebenaran penuh: kebenaran Unix klasik, bit khas, Senarai Kawalan Akses, amalan terbaik pengurusan pengguna, konfigurasi sudo dan langkah pengerasan yang perlu diketahui oleh setiap sysadmin.

The Permission Trinity: Pemilik, Kumpulan dan Lain-lain

Setiap fail dan direktori dalam Linux mempunyai tiga peringkat kebenaran. Anda mungkin tahu ini, tetapi mari kita tetapkan asasnya.

```bash
-rw-r--r-- 1 akar punca 1024 Jul 22 10:00 config.conf
```

Aksara pertama memberitahu kami jenis (`-` = fail, `d` = direktori, `l` = symlink). Sembilan watak seterusnya ialah tiga kumpulan tiga:

  • Pemilik (rw-): Pengguna `root` boleh membaca dan menulis, tetapi tidak melaksanakan
  • Kumpulan (r--): Ahli kumpulan `root` hanya boleh membaca
  • Lain-lain (r--): Orang lain hanya boleh membaca

Mod berangka (oktal) ialah cara kita menyatakan ini secara padat: baca=4, tulis=2, laksanakan=1. Jadi `644` bermaksud pemilik=6 (rw), kumpulan=4 (r), yang lain=4 (r). Jika anda tidak menghafal apa-apa lagi, ingat bahawa `755` adalah standard untuk direktori dan boleh laku (rwx untuk pemilik, rx untuk orang lain) dan `644` adalah standard untuk fail biasa.

Mengapa 777 Adalah Musuh Anda

Menetapkan kebenaran kepada `777` menjadikan fail boleh ditulis oleh sesiapa sahaja pada sistem — termasuk proses pelayan web yang terjejas atau skrip berniat jahat. Hampir tidak ada sebab yang sah untuk `777` pada pelayan pengeluaran. Jika aplikasi anda memerlukan akses tulis, buat kumpulan khusus, tambah pengguna perkhidmatan padanya dan gunakan `770` atau `775` sebaliknya.

Bit Kebenaran Khas: SUID, SGID dan Bit Melekat

Di luar rwx triple asas, Linux mempunyai tiga bendera kebenaran khas yang mesti difahami oleh setiap sysadmin.

SUID (Tetapkan ID Pengguna) — `chmod u+s`

Apabila ditetapkan pada boleh laku, proses berjalan dengan keistimewaan pemilik fail, bukan pengguna yang melancarkannya. Contoh klasik ialah `/usr/bin/passwd` — ia memerlukan keistimewaan root untuk mengubah suai `/etc/shadow`, tetapi pengguna biasa mesti boleh menukar kata laluan mereka sendiri.

```bash
-rwsr-xr-x 1 akar punca 68248 29 Mei 13:32 /usr/bin/passwd
```

`s` dalam kedudukan pelaksanaan pemilik menandakan SUID. Gunakannya dengan berhati-hati — setiap binari SUID ialah vektor peningkatan keistimewaan yang berpotensi. Audit milik anda dengan `find / -perm -4000 2>/dev/null`.

SGID (Tetapkan ID Kumpulan) — `chmod g+s`

Pada boleh laku, SGID berjalan dengan kumpulan fail. Lebih berguna, pada direktori, fail baharu yang dibuat di dalamnya mewarisi kumpulan direktori, bukan kumpulan utama pencipta. Ini adalah emas untuk direktori projek kongsi:

```bash
mkdir /srv/projek
chown :devteam /srv/project
chmod g+s /srv/project
```

Kini setiap fail yang dibuat di dalam `/srv/project` secara automatik tergolong dalam kumpulan `devteam`, tanpa mengira siapa yang menciptanya. Tiada lagi hujah "oh, saya tidak boleh mengedit fail anda kerana umask saya salah".

Sticky Bit — `chmod +t`

Paling dikenali daripada `/tmp` (drwxrwxrwt). Pada direktori yang boleh ditulis dunia, bit melekit menghalang pengguna daripada memadamkan fail yang bukan milik mereka. Tanpanya, sesiapa sahaja boleh memadamkan fail temp orang lain.

```bash
drwxrwxrwt 10 akar akar 4096 Jul 22 08:00 /tmp
```

ACL: Apabila Kebenaran Asas Tidak Mencukupi

Kebenaran Unix standard hanya membenarkan anda mentakrifkan peraturan untuk satu pengguna, satu kumpulan dan orang lain. Itu cepat hancur apabila anda memerlukan "Pengguna A boleh menulis, Pengguna B boleh membaca, Kumpulan C boleh melaksanakan, dan orang lain tidak mendapat apa-apa."

Masukkan Senarai Kawalan Akses (ACL).

```bash

Berikan pengguna 'john' akses baca-tulis kepada fail yang dimiliki oleh 'deploy'


setfacl -m u:john:rw /var/www/app/config.yaml

Berikan akses baca 'juruaudit' kumpulan

setfacl -m g:auditors:r /var/www/app/config.yaml

Lihat ACL semasa

getfacl /var/www/app/config.yaml ```

ACL muncul sebagai `+` pada penghujung rentetan kebenaran (`-rw-rw-r--+`). Ia disimpan sebagai atribut lanjutan, jadi sistem fail asas mesti menyokongnya (ext4, XFS dan Btrfs semuanya melakukannya, di luar kotak).

ACL lalai pada direktori memastikan fail baharu mewarisi kebenaran secara automatik:

```bash
setfacl -m d:u:john:rwx /srv/shared
```

Ini menetapkan ACL lalai — fail dan subdirektori baharu akan memberikan John kebenaran yang ditentukan secara automatik.

Petua Pro: Urus ACL dengan `getfacl -R /path > acls.backup` dan pulihkan dengan `setfacl --restore=acls.backup`. Ini menjimatkan anda semasa pemulihan bencana.

Amalan Terbaik Pengurusan Pengguna & Kumpulan

Buat Akaun Perkhidmatan, Jangan Gunakan Semula Log Masuk Peribadi

Setiap aplikasi, pangkalan data dan perkhidmatan harus mempunyai pengguna sistem sendiri. Menjalankan Nginx sebagai `www-data` dan PostgreSQL sebagai `postgres` bukan sekadar konvensyen — ia pengasingan. Jika pelayan web terjejas, penyerang tidak mendapat akses pangkalan data secara automatik.

```bash

Buat pengguna sistem (tiada shell log masuk, tiada dir rumah)


useradd --system --no-create-home --shell /usr/sbin/nologin app_service

Atau cara yang lebih jelas

adduser --system --no-create-home --disabled-login app_service ```

Kumpulan Mendayakan Kerjasama, Bukan Hanya Akses

Fikirkan kumpulan sebagai profil kebenaran. Daripada memberikan akses kepada pengguna individu, buat kumpulan dan tambahkan pengguna kepadanya:

```bash
groupadd webadmins
usermod -aG webadmins alice
usermod -aG webadmins bob
chown -R : webadmins /var/www/app
chmod -R g+rwX /var/www/app
```

Bendera `-aG` adalah penting — tanpa `-a`, `usermod -G` mengalih keluar pengguna daripada semua kumpulan lain. Sentiasa gunakan `-aG` (tambah) melainkan anda sengaja mahu menggantikan keahlian kumpulan.

Kunci Akaun Pengguna Dengan Betul

Apabila seseorang meninggalkan pasukan, jangan padamkan akaun mereka dengan segera — anda mungkin memerlukan fail mereka untuk audit. Kuncinya:

```bash
usermod --lock alice # Kunci kata laluan
usermod --expired 1 alice # Tamat tempoh akaun serta-merta
```

Gabungan menghalang log masuk melalui kata laluan DAN kunci SSH. Semak akaun yang dikunci setiap suku tahun dan arkibkan direktori rumah mereka selepas 90 hari.

Menguasai sudo: Delegasi Keistimewaan Butiran

Mengedarkan kata laluan akar adalah anti-corak keselamatan. Sebaliknya, gunakan `sudo` dengan peraturan tepat yang ditakrifkan dalam `/etc/sudoers.d/`.

```bash

Benarkan pasukan 'ops' menjalankan sebarang arahan (gunakan dengan berhati-hati)


%ops SEMUA=(SEMUA) SEMUA

Benarkan pengguna 'deploy' untuk memulakan semula perkhidmatan sahaja

gunakan ALL=(root) /usr/bin/systemctl restart , /usr/bin/systemctl status

Benarkan pengguna 'sandaran' menjalankan skrip sandaran tanpa gesaan kata laluan

sandarkan SEMUA=(root) NOPASSWD: /usr/local/bin/backup.sh ```

Peraturan biasa: Jadilah sekhusus yang mungkin. `NOPASSWD` adalah mudah untuk skrip automasi tetapi berbahaya untuk pengguna interaktif. Sentiasa sahkan sintaks sudoers anda dengan `visudo -c` sebelum digunakan — ralat sintaks boleh mengunci semua orang keluar.

Perangkap Biasa dan Cara Mengelakkannya

Umask: Penetap Kebenaran Senyap

Setiap proses mempunyai umask yang menentukan kebenaran lalai bagi fail dan direktori yang baru dibuat. Kebanyakan sistem lalai kepada `022` (fail: 644, direktori: 755). Tetapi jika perkhidmatan berjalan dengan `umask 000`, setiap fail yang diciptanya boleh ditulis dunia.

```bash

Semak umask semasa


umask

Tetapkan dalam /etc/profile atau fail unit perkhidmatan

umask 027 # Fail: 640, direktori: 750 ```

Untuk perkhidmatan systemd, tetapkan `UMask=0027` dalam bahagian `[Perkhidmatan]`.

Audit Kebenaran `cari`

Audit sistem fail anda secara berkala untuk masalah kebenaran:

```bash

Cari fail yang boleh ditulis dunia (berpotensi risiko keselamatan)


cari / -perm -o+w -type f 2>/dev/null | grep -v proc

Cari fail tanpa pemilik

cari / -nouser -o -nogroup 2>/dev/null ```

Fail yatim (tiada pengguna atau kumpulan) selalunya adalah hasil daripada akaun yang dipadam — tetapkan semula fail tersebut sebelum ia menjadi misteri.

Direktori lwn Kebenaran Fail

Ingat: laksanakan kebenaran pada direktori ialah perkara yang membolehkan anda memasukinya dan mengakses kandungannya. Direktori dengan `r--r--r--` tetapi tiada execute (`--x`) boleh disenaraikan tetapi tidak dimasukkan. Formula praktikal:

  • Direktori: Sentiasa `755` melainkan direktori itu peribadi (kemudian `700`)
  • Fail: `644` untuk konfigurasi, `640` untuk rahsia, `755` untuk boleh laku, `600` untuk kunci SSH

Kesimpulan

Kebenaran Linux bukan sahaja kotak semak keselamatan — ia adalah asas pentadbiran sistem berbilang pengguna. Menguasai tindanan penuh (bit standard, SUID/SGID, bit melekit, ACL, pengurusan pengguna dan delegasi sudo) menjadikan anda daripada seseorang yang "menetapkan 777 dan meneruskan" menjadi sysadmin yang memahami kawalan akses pada setiap lapisan.

Skim kebenaran yang dikonfigurasikan dengan baik bermakna lebih sedikit latihan kebakaran, laluan audit yang lebih bersih dan pasukan yang lebih gembira. Mulakan dengan asas — pemisahan pengguna yang betul, struktur kumpulan yang wajar dan peraturan sudo yang minimum — kemudian lapisan pada ACL dan bit khas apabila persekitaran anda memerlukannya. Diri masa depan anda (dan juruaudit keselamatan anda) akan berterima kasih kepada anda.

Infografik: Helaian Penipuan Kebenaran Linux

Infografik: Helaian Penipuan Kebenaran Linux

← Back to Homepage

💬 0 Comments

☕ Support Eismar Tech Hub

🌎 International

Beli kopi

Credit Card / PayPal accepted

💳 Local (Malaysia)

Touch N Go QR

Touch 'n Go / DuitNow QR