Sebagai pengguna pemula Linux, Anda mempelajari tentang izin dan kepemilikan yang terkait dengan file dan direktori. Sistem operasi mirip Linux/Unix memungkinkan Anda untuk mengatur kombinasi sembilan bit izin untuk mencegah pengguna lain dari akses file/direktori yang tidak perlu. Mirip dengan ini adalah izin khusus untuk file yang dapat dieksekusi yang dikenal sebagai set UID, set GID, dan sticky bit.
Memahami izin khusus bisa sedikit berlebihan bagi calon administrator Linux. Di sini Anda akan mempelajari sedikit latar belakang tentang izin file biasa dan menjelaskan perbedaannya dengan izin khusus. Kami juga mendemonstrasikan fungsionalitas SetID, GetID, dan sticky bit dengan contoh untuk pemahaman yang komprehensif.
Izin File Linux Biasa
Linux menggunakan perintah chmod untuk menetapkan/mengubah pembacaan (r=4), menulis (w=2), dan jalankan (x=1) izin pada file dan folder. Artinya, sembilan bit yang disebutkan di atas berlaku untuk tiga kategori utama grup izin. Tiga yang pertama adalah untuk pengguna yang memiliki file, set kedua adalah untuk grup yang ditetapkan ke file/direktori, dan tiga yang terakhir mewakili semua pengguna lain.
Misalnya, file biasa akan menampilkan semua jenis izin untuk semua kategori pengguna sebagai -rwxrwxrwx. Sementara - dalam penggantian huruf mewakili tidak adanya izin itu. Sekarang chmod perintah menggunakan angka dan huruf untuk mengubah izin sebagai berikut:
sudo chmod 755 file #untuk rwxr-xr-x
sudo chmod 644 file #untuk rw-r--r--
sudo chmod a-w file #for r-xr-xr-x
sudo chmod a+x file #for --x--x--x
Izin File Linux Khusus
Itu setuid bit mewakili izin pada file yang dapat dieksekusi yang dapat dijalankan oleh pengguna lain dengan otorisasi pemilik. Misalnya, ketika pengguna maksimal menjalankan perintah vi sebagai pengguna john, Anda akan memiliki izin baca/tulis dari john.
Untuk mengidentifikasi file dengan setuid, gunakan: ls perintah dan cari S bit menggantikan bit yang dapat dieksekusi x, sebagai berikut.
Setel UID Bit
Itu setuid bit mewakili izin pada file yang dapat dieksekusi yang dapat dijalankan oleh pengguna lain dengan otorisasi pemilik. Misalnya, ketika pengguna maksimal menjalankan perintah vi sebagai akar, dia akan memiliki izin baca/tulis dari akar. Untuk mengidentifikasi file dengan setuid, gunakan: ls perintah dan cari S bit menggantikan bit eksekusi x, sebagai berikut:
ls -la /etc/passwd
-rwsr-xr-x 1 root root 88464 14 Des 12:46 passwd
Beberapa contoh lainnya adalah:
ls -la /bin/gpasswd
-rwsr-xr-x 1 root root 88464 14 Jul 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 root root 67816 21 Jul 2020 su
ls -la /newgrp
-rwsr-xr-x 1 root root 44784 14 Jul 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 root root 166056 19 Jan 2021 sudo
Untuk mengatur bit setuid untuk file yang dapat dieksekusi, gunakan perintah chmod sebagai berikut:
chmod u+s /etc/passwd
Untuk menghapus izin untuk mengeksekusi file dari pengguna atau pemilik non-root:
chmod u-s /etc/passwd
Setel Bit GID
Seperti yang telah dibahas, bit set uid mengontrol akses file ke pengguna lain, sedangkan bit setgid (GID) membuat direktori kolaboratif. Itu berarti file apa pun yang dibuat di dalam direktori itu dapat diakses oleh grup direktori. Oleh karena itu, ini memungkinkan semua anggota grup untuk menjalankan file yang dapat dieksekusi tanpa hak pemilik dan melindunginya dari pengguna lain.
Ikuti langkah-langkah ini untuk membuat direktori kolaboratif di sistem Linux Anda:
Buat grup menggunakan grupadd perintah dengan id grup 415 untuk kolaborasi:
groupadd -g 415 admin
Gunakan perintah usermod untuk menambahkan johnke grup untuk akses/eksekusi file.
usermod -aG admin john
Menggunakan mkdir perintah untuk membuat direktori:
mkdir /tmp/collaborative_dir
Menggunakan chgrp perintah untuk menetapkan direktori ke admin kelompok:
chgrp admin /tmp/collaborative_dir
Menggunakan chmod perintah untuk mengubah izin direktori menjadi 2775. 2 bit menyalakan set gid, 7 untuk menetapkan rwx penuh ke pengguna dan grup, sementara 5 (r-w) untuk yang lain.
chmod 2775 /tmp/collaborative_dir
Terakhir, ubah akun pengguna Anda menjadi john dan membuat file di direktori kolaboratif untuk memeriksa izin file.
su - john
sentuh /tmp/collaborative_dir/file.txt
Perintah su mungkin memberi Anda kesalahan otentikasi. Dalam hal ini, ketik sudo su perintah untuk beralih ke root dan menjalankan kembali su - john untuk mengubah akun pengguna
Sekarang buat daftar izin untuk memeriksa bit GID (s) yang disetel untuk direktori dan file yang baru dibuat.
ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt
Dalam skenario umum, file yang dibuat oleh john akan memiliki grup john yang ditugaskan padanya. Karena Anda membuat file di dalam direktori bit GID yang ditetapkan, itu memberikan izin ke admin grup, sehingga siapa pun yang termasuk dalam grup, menyukai pengguna kris, akan memiliki akses ke sana.Terkait: Cara Membuat File Baru di Linux Menggunakan sentuhan
Bit Lengket
Tidak seperti bit SID dan GID, bit lengket berbeda dalam fungsionalitas karena melindungi file dan direktori dari penggantian nama dan penghapusan oleh pengguna lain. Izin file reguler memungkinkan setiap pengguna dengan akses tulis untuk menghapus atau mengganti nama file. Sedangkan dengan sticky bit set, itu tidak mungkin kecuali Anda adalah pengguna root atau pemilik file tersebut.
Skenario kasus yang ideal untuk menggunakan sticky bit adalah direktori yang dapat diakses oleh semua pengguna untuk pembuatan file. Misalnya, gunakan ls -ld perintah untuk memeriksa \tmp izin direktori, sebagai berikut:
Anda dapat melihat bahwa sedikit lengket T menggantikan bit eksekusi x. Ikuti serangkaian instruksi yang diberikan untuk membuat direktori penghapusan terbatas:
Sekarang buat direktori lain di /tmp map:
mkdir /tmp/new_dir
Ubah izin file menjadi 1777 untuk mengatur bit yang lengket (T) dan akses direktori penuh:
chmod 1777 /tmp/new_dir
Sekarang salin file apa pun dari /etc folder ke /tmp/new_dir dan ubah izinnya menjadi 666:
cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services
Daftar direktori dan semua kontennya untuk melihat izin:
ls -ld /tmp/new_dir /tmp/new_dir/services
Anda dapat melihat bit tempel alih-alih bit eksekusi, yang berarti hanya root atau pengguna john yang dapat menghapus file, karena file berada di dalam direktori bit tempel.
Memahami Izin File Khusus di Linux
Artikel ini menunjukkan cara mengatur bit ini untuk meningkatkan kolaborasi pada file dan direktori yang dibagikan dan melindunginya dari akses, eksekusi, dan penghapusan yang tidak sah. Bahkan jika Anda tidak membuat file/direktori dengan bit ini, memahami izin file khusus sangat membantu dalam banyak situasi, terutama dalam pemecahan masalah atau sebagai admin sistem. Padahal, penggunaan bit yang tidak bijaksana dapat menyebabkan berbagai kerentanan keamanan.
Ingin mempertahankan izin file saat menyalin file di Linux? Berikut cara melakukannya menggunakan cp dan rsync.
Baca Selanjutnya
- Linux
- Manajemen file
- Linux

Rumaisa adalah penulis lepas di MUO. Dia telah menempuh perjalanan panjang dari seorang Matematikawan hingga penggemar Keamanan Informasi, dan bekerja sebagai Analis SOC. Minatnya termasuk membaca dan menulis tentang teknologi baru, distribusi Linux, dan apa pun seputar Keamanan Informasi.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan