GNU/Linux >> Belajar Linux >  >> Linux

Linux chmod and chown – Cara Mengubah Izin dan Kepemilikan File di Linux

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:

  1. Mode simbolik :metode ini menggunakan simbol seperti u , g , o untuk mewakili pengguna, grup, dan lainnya. Izin direpresentasikan sebagai r, w, x untuk membaca menulis dan mengeksekusi, masing-masing. Anda dapat mengubah izin menggunakan +, - dan =.
  2. 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 dan write izin untuk group dan others :chmod go-rw .
  • Menghapus read izin untuk others :chmod o-r .
  • Menetapkan write izin untuk group 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) untuk user , read (tambahkan 4) dan execute (tambahkan 1) untuk grup, dan hanya execute (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 dari other dan group .

Untuk menghapus eksekusi dari other dan group , kurangi 1 dari bagian eksekusi dari 2 oktet terakhir.

  • Tetapkan read , write dan execute ke user , read dan execute ke group dan hanya read 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.


Linux
  1. Cara Menyalin Izin dan Kepemilikan File ke File Lain di Linux

  2. Cara mengelola Izin/Kepemilikan File dan Direktori di Linux

  3. Bagaimana cara chmod dan chown file tersembunyi di Linux?

  1. Tutorial Izin File Linux:Cara Memeriksa dan Mengubah Izin

  2. Cara Menggunakan Perintah chown untuk Mengubah Kepemilikan di Linux

  3. Cara Menggunakan Perintah chmod (Ubah Mode) di Linux

  1. Cara Mengubah Izin File Secara Rekursif dengan chmod di Linux

  2. Cara Mengubah Pemilik File/Grup dengan Perintah chown di Linux

  3. Cara Mengubah Kata Sandi Pengguna di Linux