Bisakah Anda menjelaskan secara singkat konsep utama dan alat baris perintah yang digunakan untuk mengelola izin file?
Bisakah Anda menjelaskan secara singkat konsep utama dan alat baris perintah yang digunakan untuk mengelola izin file?
Jawaban:
Setiap file memiliki hak untuk tiga kategori berbeda:
Hak berarti hak untuk membaca file, hak untuk menulis ke file, atau hak untuk mengeksekusi file dalam kasus skrip atau program.
Di CLI, Anda mungkin
chown
, mischown guillermooo
chgrp
, mischgrp root
chmod
, mis. chmod u+w filename.ext
(Menambahkan izin menulis untuk pemilik file filename.ext
)Jika Anda ingin tahu lebih banyak tentang masing-masing alat ini, buka terminal dan ketik man [tool]
, mis man chmod
.
chown guillermooo
bukankah ini seharusnya chown guillermooo filename
?
Peringatan: Mengubah izin file dan direktori berpotensi berbahaya dan dapat membuat sistem Anda tidak dapat digunakan. Ketika dijalankan secara rekursif sebagai root pada jalur yang salah, kita mungkin sampai pada titik di mana kita harus menginstal ulang Ubuntu. Oleh karena itu ide yang baik untuk tidak mengubah izin di luar direktori HOME, dan menjalankan perintah secara rekursif karena root harus dihindari bila memungkinkan.
Ubuntu telah mewarisi konsep izin dari Unix ketika untuk file atau direktori ada tiga tugas yang dapat kami izinkan atau tolak:
( Melintasi direktori pada dasarnya berarti menggunakannya sebagai bagian dari nama jalur. Lihat https://unix.stackexchange.com/a/13891 atau https://unix.stackexchange.com/questions/21251 untuk penjelasan lebih lanjut.)
Selain itu, kami memiliki tiga kasus tentang siapa kami memberikan izin:
Sekarang untuk mendapatkan kombinasi ini, kami menggunakan sistem biner di mana setiap bit mendefinisikan izin. Ini paling baik ditunjukkan pada Tabel berikut
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | | | |
w | 010 | 2 | | | |
x | 001 | 1 | | | |
=======================================================
Number
Sekarang kalau kita mau misalnya
a) pemilik file (= user) memiliki r benar menyebalkan, w ritus, dan e x ecute izin,
b) file kelompok diberikan r benar menyebalkan dan e x ecute perizinan, dan
c) semua orang lain hanya harus memiliki r akses ead.
Maka izin file yang dihasilkan akan:
u g o
rwx r-x r--
Untuk mendapatkan ini dalam angka oktal, mis. untuk chmod
perintah atau ketika kita harus memahami pesan kesalahan kita perlu mengisi tabel di atas seperti di bawah ini:
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | 4 | 4 | 4 |
w | 010 | 2 | 2 | 0 | 0 |
x | 001 | 1 | 1 | 1 | 0 |
======================================================
Numbers add to 7 5 4
Setiap nomor izin harus ditambahkan untuk jumlah pengguna (4 + 2 + 1 = 7), grup (4 + 0 + 1 = 5), dan lainnya (4 + 0 + 0 = 4). Jumlah yang dihasilkan kemudian adalah:
u g o
7 5 4
Kami sekarang memiliki dua opsi untuk mengubah bit izin dengan chmod
:
chmod u+rwx g+rx o+r filename
atau lebih sederhana dengan
chmod 751 filename
Kedua perintah akan melakukan hal yang sama.
Izin default untuk file yang baru dibuat di rumah kami adalah 664 (-rw-rw-r--).
Jika kita ingin file dapat dieksekusi sebagai program, kita harus mengubah izin ini.
Perhatikan bahwa kita juga harus mengubah izin direktori yang dapat dieksekusi ini. Hanya jika keduanya, bit file dan direktori yang dapat dieksekusi ditetapkan, kita akan diizinkan menjalankan file ini sebagai program.
Saat menyalin file ke rumah kami, itu akan kehilangan izin yang akan digantikan oleh izin default kami sendiri (kecuali jika kami menyalin menggunakan opsi lanjutan misalnya opsi arsip).
Juga perhatikan bahwa file dapat mewarisi izin mereka dari titik mount mereka, resp. opsi pemasangan. Ini penting saat memasang drive berformat Windows yang tidak mendukung izin Unix.
Kami segera menyadari bahwa ini hanya setengah dari cerita. Kita juga perlu memilah barang-barang. Untuk melakukan ini, setiap file atau folder memiliki pemilik yang ditentukan, dan keanggotaan grup yang ditentukan.
Setiap kali kita membuat file, kita akan menjadi pemilik file, dan grup file juga akan menjadi kita. Dengan ls -l
kita dapat melihat izin, kepemilikan, dan grup seperti yang terlihat dari contoh output berikut:
-rw-rw-r-- 1 takkat takkat 4096 Sep 12 20:25 test
- Kami hanya diizinkan untuk mengubah izin, grup, atau kepemilikan file yang menjadi milik kami.
Jika kita bukan pemilik file, kita akan mendapatkan Permission denied
kesalahan. Hanya root yang dapat mengubah ini untuk semua file. Inilah sebabnya mengapa kita harus menggunakan sudo
saat mengedit izin file yang bukan milik kita. Ada dua perintah bawaan untuk melakukannya chown
untuk pengguna dan chgrp
untuk grup.
Untuk mengubah kepemilikan file dari siapa pun menjadi takkat
kami dapat mengeluarkan perintah ini:
sudo chown takkat testfile
Untuk mengubah grup file menjadi yang takkat
kami terbitkan
sudo chgrp takkat testfile
Baca halaman manual dari perintah untuk lebih detail dan opsi. Ada juga panduan rumit yang bagus ini direkomendasikan untuk dibaca lebih lanjut:
Temukan juga beberapa pertanyaan terkait di sini: