Linux adalah OS multi-pengguna yang berarti mendukung banyak pengguna sekaligus.
Karena banyak orang dapat mengakses sistem secara bersamaan dan beberapa sumber daya dibagikan, Linux mengontrol akses melalui kepemilikan dan izin.
Kepemilikan file Linux
Di Linux, ada tiga jenis pemilik:user
, group
, dan others
.
Pengguna Linux
Pengguna adalah pemilik default dan pembuat file. Jadi pengguna ini disebut pemilik juga.
Grup Linux
Grup pengguna adalah kumpulan pengguna. Pengguna yang tergabung dalam grup akan memiliki izin grup Linux yang sama untuk mengakses file/folder.
Anda dapat menggunakan grup untuk menetapkan izin secara massal alih-alih menetapkannya satu per satu. Seorang pengguna juga dapat tergabung dalam lebih dari satu grup.
Lainnya
Setiap pengguna yang bukan bagian dari kelas pengguna atau grup termasuk dalam kelas ini.
Izin File Linux
Izin file terbagi dalam tiga kategori:read
, write
, dan execute
.
Izin membaca
Untuk file biasa, izin baca memungkinkan pengguna untuk membuka dan membaca file saja. Pengguna tidak dapat mengubah file.
Demikian pula untuk direktori, izin baca memungkinkan daftar konten direktori tanpa modifikasi apa pun di direktori.
Izin menulis
Ketika file memiliki izin menulis, pengguna dapat memodifikasi (mengedit, menghapus) file dan menyimpannya.
Untuk folder, izin menulis memungkinkan pengguna untuk memodifikasi kontennya (membuat, menghapus, dan mengganti nama file di dalamnya), dan memodifikasi konten file yang memiliki izin menulis pengguna.
Jalankan izin
Untuk file, izin eksekusi memungkinkan pengguna menjalankan skrip yang dapat dieksekusi. Untuk direktori, pengguna dapat mengaksesnya, dan mengakses detail tentang file dalam direktori.
Di bawah ini adalah representasi simbolis dari izin untuk pengguna, grup, dan lainnya.
Perhatikan bahwa kami dapat menemukan izin file dan folder menggunakan daftar panjang (ls -l
) pada terminal Linux.
Pada output di atas, d
mewakili sebuah direktori dan-
mewakili file biasa.
Cara Mengubah Izin di Linux Menggunakan chmod
Perintah
Sekarang setelah kita mengetahui dasar-dasar kepemilikan dan izin, mari kita lihat bagaimana kita dapat mengubah izin menggunakan chmod
perintah.
Sintaks chmod
:
chmod permissions filename
Dimana,
permissions
dapat dibaca, ditulis, dijalankan, atau kombinasinya.filename
adalah nama file yang izinnya perlu diubah. Parameter ini juga dapat menjadi daftar jika file untuk mengubah izin secara massal.
Kami dapat mengubah izin menggunakan dua mode:
- Mode simbolik :metode ini menggunakan simbol seperti
u
,g
,o
untuk mewakili pengguna, grup, dan lainnya. Izin direpresentasikan sebagair, w, x
untuk membaca menulis dan mengeksekusi, masing-masing. Anda dapat mengubah izin menggunakan +, - dan =. - Mode mutlak :metode ini mewakili izin sebagai bilangan oktal 3 digit mulai dari 0-7.
Sekarang, mari kita lihat secara detail.
Cara Mengubah Izin menggunakan Mode Simbolik
Tabel di bawah ini merangkum representasi pengguna:
Representasi pengguna | Deskripsi |
---|---|
u | pengguna/pemilik |
g | grup |
o | lainnya |
Kita dapat menggunakan operator matematika untuk menambah, menghapus, dan menetapkan izin. Tabel di bawah ini menunjukkan ringkasannya:
Operator | Deskripsi |
---|---|
+ | Menambahkan izin ke file atau direktori |
– | Menghapus izin |
= | Menyetel izin jika tidak ada sebelumnya. Juga menimpa izin jika disetel sebelumnya. |
Contoh:
Misalkan, saya memiliki skrip dan saya ingin membuatnya dapat dieksekusi untuk pemilik file zaira
.
Izin file saat ini adalah sebagai berikut:
Mari kita bagi izin seperti ini:
Untuk menambahkan hak eksekusi (x
) kepada pemilik (u
) menggunakan mode simbolik, kita dapat menggunakan perintah di bawah ini:
chmod u+x mymotd.sh
Keluaran:
Sekarang, kita dapat melihat bahwa izin eksekusi telah ditambahkan untuk pemilik zaira
.
Contoh tambahan untuk mengubah izin melalui metode simbolis:
- Menghapus
read
danwrite
izin untukgroup
danothers
:chmod go-rw
. - Menghapus
read
izin untukothers
:chmod o-r
. - Menetapkan
write
izin untukgroup
dan mengesampingkan izin yang ada:chmod g=w
.
Cara Mengubah Izin menggunakan Mode Absolut
Mode absolut menggunakan angka untuk mewakili izin dan operator matematika untuk mengubahnya.
Tabel di bawah ini menunjukkan bagaimana kami dapat menetapkan izin yang relevan:
Izin | Berikan izin |
---|---|
baca | tambahkan 4 |
tulis | tambahkan 2 |
jalankan | tambahkan 1 |
Izin dapat dicabut menggunakan pengurangan. Tabel di bawah menunjukkan bagaimana Anda dapat menghapus izin yang relevan.
Izin | Cabut izin |
---|---|
baca | kurangi 4 |
tulis | kurangi 2 |
jalankan | kurangi 1 |
Contoh :
- Setel
read
(tambahkan 4) untukuser
,read
(tambahkan 4) danexecute
(tambahkan 1) untuk grup, dan hanyaexecute
(tambahkan 1) untuk yang lain.
chmod 451 file-name
Beginilah cara kami melakukan perhitungan:
Perhatikan bahwa ini sama dengan r--r-x--x
.
- Hapus
execute
hak dariother
dangroup
.
Untuk menghapus eksekusi dari other
dan group
, kurangi 1 dari bagian eksekusi dari 2 oktet terakhir.
- Tetapkan
read
,write
danexecute
keuser
,read
danexecute
kegroup
dan hanyaread
kepada orang lain.
Ini akan sama dengan rwxr-xr--
.
Cara Mengubah Kepemilikan menggunakan chown
Perintah
Selanjutnya, kita akan belajar bagaimana mengubah kepemilikan file. Anda dapat mengubah kepemilikan file atau folder menggunakan chown
memerintah. Dalam beberapa kasus, mengubah kepemilikan memerlukan sudo
izin.
Sintaks chown
:
chown user filename
Cara mengubah kepemilikan pengguna dengan chown
Mari transfer kepemilikan dari pengguna zaira
untuk pengguna news
.
chown news mymotd.sh
Perintah untuk mengubah kepemilikan:sudo chown news mymotd.sh
Keluaran:
Cara mengubah kepemilikan pengguna dan grup secara bersamaan
Kita juga bisa menggunakan chown
untuk mengubah pengguna dan grup secara bersamaan.
chown user:group filename
Cara mengubah kepemilikan direktori
Anda dapat mengubah kepemilikan secara rekursif untuk konten dalam direktori. Contoh di bawah ini mengubah kepemilikan /opt/script
folder untuk mengizinkan pengguna admin
.
chown -R admin /opt/script
Cara mengubah kepemilikan grup
Jika kita hanya perlu mengubah pemilik grup, kita dapat menggunakan chown
dengan mendahului nama grup dengan tanda titik dua :
chown :admins /opt/script
Latihan Berpanduan Izin Linux
Sampai sekarang kami telah menjelajahi izin, kepemilikan, dan metode untuk mengubahnya. Sekarang kita akan memperkuat pembelajaran kita dengan latihan yang dipandu.
Tujuan :Untuk membuat grup dan memberikan izin yang relevan kepada anggotanya. Verifikasi akses dengan mengaksesnya dari pengguna yang tidak sah.
Tugas :Buat grup bernama dev-team
dan tambahkan dua anggota (John dan Bob) ke dalamnya. Buat folder /home/dev-team
dan ubah kepemilikan menjadi grup dev-team
. Verifikasi bahwa kedua pengguna di dev-team
grup telah membaca dan tulis akses ke folder.
Buat grup lain project-manager
dan tambahkan pengguna Fatima
untuk itu. Verifikasi apakah folder /home/dev-team
dapat diakses oleh Fatima
.
Visualisasi masalah
Kita dapat memvisualisasikan masalah seperti ini:
Langkah 1:Beralih ke pengguna root.
Beralih ke pengguna root sehingga kami memiliki hak untuk membuat pengguna dan grup baru.
Tunjukkan petunjuk
Gunakan sudo
perintah dengan bendera i
.
Jika Anda memiliki kata sandi root, Anda juga dapat masuk menggunakan itu.
Tunjukkan solusi
Masukkan sudo -i
untuk beralih ke pengguna root.
Masukkan whoami
untuk mengetahui apakah Anda adalah pengguna root:
Jika Anda tidak memiliki root
akses, gunakan perintah dengan menambahkan sudo
.
Langkah 2:Buat grup dev-team
Tunjukkan petunjuk
Gunakan groupadd
perintah.
Sintaks:groupadd group-name
Tunjukkan solusi
Masukkan groupadd dev-team
untuk membuat dev-team
grup
Verifikasi:cat /etc/group | grep dev-team
Langkah 3:Buat dua pengguna baru John dan Bob dan tambahkan mereka ke dev-team
grup
Tunjukkan petunjuk
Gunakan perintah useradd
.
useradd
membuat pengguna baru dan menambahkan ke grup yang ditentukan.
Sintaks:useradd -G groupname username
Dimana -G
menentukan grup.
Tunjukkan solusi
useradd -G dev-team John
useradd -G dev-team Bob
Verifikasi:cat /etc/group | grep dev-team
Langkah 4:Berikan sandi untuk pengguna John dan Bob
Tunjukkan petunjuk
Gunakan perintah passwd
passwd
membuat kata sandi untuk pengguna.
Sintaks:passwd username
Tunjukkan solusi
passwd John
passwd Bob
Langkah 5:Buat direktori di /home dan beri nama dev-team
Tunjukkan petunjuk
Gunakan perintah mkdir
mkdir
membuat direktori.
Sintaks:mkdir directory-name
Tunjukkan solusi
mkdir /home/dev-team
Verifikasi:
Langkah 6:Ubah kepemilikan grup folder dev-team
untuk mengelompokkan dev-team
Tunjukkan petunjuk
Gunakan perintah chown
Sintaks:chown :group-name folder
Tunjukkan solusi
chown :dev-team /home/dev-team/
Langkah 7:Pastikan izin folder dev-team
izinkan anggota grup membuat dan menghapus file.
Tunjukkan petunjuk
Gunakan perintah chmod
Izin menulis memungkinkan pengguna dan grup untuk membuat dan menghapus file.
Sintaks:chmod permissions folder
Tunjukkan solusi
chmod g+w /home/dev-team/
Langkah 8:Pastikan 'orang lain' tidak memiliki akses ke file dev-team
map.
Tunjukkan petunjuk
Gunakan perintah chmod
Hapus izin baca, tulis, jalankan dari 'orang lain' jika ada.
Sintaks:chmod permissions folder
Tunjukkan solusi
chmod o-rx dev-team
Langkah 9:Keluar dari root
sesi dan beralih ke John
Tunjukkan petunjuk
Gunakan perintah exit
untuk keluar dari pengguna root.
Gunakan su
untuk beralih pengguna.
Sintaks:su - user
Untuk mengonfirmasi pengguna saat ini, gunakan perintah whoami
.
Tunjukkan solusi
exit
su - John
Verifikasi dengan perintah whoami
.
Langkah 10:Navigasikan ke folder:/home/dev-team
Tunjukkan petunjuk
Gunakan perintah cd
untuk berpindah folder.
Sintaks:cd /path/to/folder
Konfirmasi jalur saat ini dengan pwd
.
Tunjukkan solusi
cd /home/dev-team
Langkah 11:Buat file kosong di folder:/home/dev-team
Tunjukkan petunjuk
Gunakan perintah touch
untuk membuat file kosong.
Sintaks:touch filename
Tunjukkan solusi
touch john-file.txt
Verifikasi:ls -lrt
Langkah 12:Ubah kepemilikan grup dari file yang dibuat menjadi dev-team
dan verifikasi.
Tunjukkan petunjuk
Gunakan perintah chown
untuk mengubah kepemilikan.
Sintaks:chown :group file-name
Tunjukkan solusi
chown :dev-team john-file.txt
Setelah kepemilikan grup diubah, semua anggota grup dapat mengakses file ini.
Verifikasi ls -lrt
Langkah 13:Keluar dari shell dan beralih ke pengguna Bob's
Tunjukkan petunjuk
Gunakan perintah exit
untuk keluar dari terminal.
Gunakan su
untuk beralih pengguna.
Sintaks:su - user
Untuk mengonfirmasi pengguna saat ini, gunakan perintah whoami
.
Tunjukkan solusi
exit
su - Bob
Verifikasi pengguna saat ini dengan perintah whoami
.
Langkah 14:Navigasikan ke jalur /home/dev-team
Tunjukkan petunjuk
Gunakan perintah cd
untuk berpindah folder.
Sintaks:cd /path/to/folder
Konfirmasi jalur saat ini dengan pwd
.
Tunjukkan solusi
cd /home/dev-team
Langkah 15:Cari tahu Bob's
hak istimewa untuk mengakses john-file.txt
Tunjukkan petunjuk
Gunakan perintah ls -l
untuk daftar panjang.
Sintaks:ls -l | grep file-name
Apakah grup memiliki rw-
izin?
Tunjukkan solusi
ls -l | grep john-file.txt
Langkah 16:Ubah file john-file.txt
saat login sebagai Bob's
Tunjukkan petunjuk
Gunakan perintah echo
untuk menambahkan beberapa teks ke file.
Sintaks:echo "Some text" >>file-name
Ini akan mengarahkan teks kutipan ke akhir file.
Tunjukkan solusi
echo "This is Bob's comment" > john-file.txt
Jika semua izin diatur dengan benar, Bob's
akan diizinkan untuk mengedit dan menyimpan file ini. Jika tidak, Anda akan mendapatkan kesalahan seperti ini:Permission denied
.
Verifikasi cat john-file.txt
Langkah 17:Buat grup lain project-manager
dan menetapkan anggota Fatima
untuk itu
Tunjukkan petunjuk
Gunakan perintah groupadd
untuk menambahkan grup baru.
Sintaks:groupadd group-name
Buat pengguna baru dengan perintah useradd
.
Gunakan bendera -G
untuk menetapkan pengguna untuk itu.
Tunjukkan solusi
groupadd project-manager
useradd -G project-manager Fatima
passwd Fatima
Langkah 18:Navigasikan ke folder /home/dev-team
dan verifikasi apakah Fatima
dapat mengaksesnya
Tunjukkan petunjuk
Gunakan cd
untuk menavigasi ke /home/dev-team
.
Tunjukkan solusi
cd /home/dev-team
.
Kami mendapatkan kesalahan ini:
Ini karena, others
tidak memiliki akses ke folder dev-team
.
Jika kita ingat, di bawah ini adalah hak dev-team
folder.
Menutup
Izin dan kepemilikan adalah konsep yang berguna untuk menegakkan keamanan di seluruh sistem operasi multi-pengguna. Saya harap Anda dapat mempelajari tentang mengubah izin dan kepemilikan secara mendalam.
Apa hal favorit Anda yang Anda pelajari dari tutorial ini? Beri tahu saya di Twitter!
Anda juga bisa membaca postingan saya yang lain di sini.
Terima kasih kepada Tom Mondloch atas bantuannya dalam latihan terpandu.