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.

instagram viewer

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.

Cara Mempertahankan Izin File Saat Menyalin File di Linux

Ingin mempertahankan izin file saat menyalin file di Linux? Berikut cara melakukannya menggunakan cp dan rsync.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Linux
  • Manajemen file
  • Linux
Tentang Penulis
Rumaisa Niazi (3 Artikel Diterbitkan)

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.

More From Rumaisa Niazi

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan