GNU/Linux >> Belajar Linux >  >> Linux

Pertanyaan Wawancara Linux – Izin File dan Direktori Dasar

Apa yang dimaksud dengan izin File Linux Dasar?

Linux, seperti UNIX, adalah sistem multi-pengguna, dan izin file adalah salah satu cara sistem melindungi dari gangguan berbahaya. Salah satu cara untuk mendapatkan entri ketika Anda ditolak izinnya adalah dengan su untuk melakukan root. Perlu diingat, siapa pun yang mengetahui kata sandi root memiliki akses lengkap. Tetapi beralih ke superuser tidak selalu nyaman atau disarankan karena mudah membuat kesalahan dan mengubah file konfigurasi penting sebagai superuser. Semua file dan direktori "dimiliki" oleh orang yang membuatnya. Misalnya, dalam daftar:

-rw-rw-r--    1 john   sap      150 Mar 19 08:08 file1.txt

File file1.txt milik, atau dimiliki oleh john. Itu berarti Anda dapat menentukan siapa yang diizinkan untuk membaca file, menulis ke file, atau (jika itu adalah aplikasi, bukan file teks) siapa yang dapat mengeksekusi file. Anda juga dapat mengontrol akses ke direktori dengan cara yang sama.

Membaca, menulis, dan mengeksekusi adalah tiga pengaturan utama dalam izin. Karena pengguna ditempatkan ke dalam grup saat akun mereka dibuat, Anda juga dapat menentukan apakah grup tertentu dapat membaca, menulis, atau menjalankan file. Menggunakan contoh file1.txt di atas, Anda dapat melihat bahwa ada banyak detail yang disediakan. Anda dapat melihat siapa yang dapat membaca (r) dan menulis ke (w) file, serta siapa yang membuat file (john), dan ke grup mana pemiliknya (sap). Namun ingat bahwa, secara default, nama grup Anda sama dengan nama login Anda.

Informasi lain di sebelah kanan grup termasuk ukuran file, tanggal dan waktu pembuatan file, dan nama file. Kolom pertama menunjukkan izin saat ini; memiliki sepuluh slot. Slot pertama mewakili jenis file. Sembilan slot yang tersisa sebenarnya adalah tiga set izin untuk tiga kategori pengguna yang berbeda. Misalnya:

-rw-rw-r--

Ketiga kumpulan tersebut adalah pemilik file, grup tempat file tersebut berada, dan “others”, yang berarti semua pengguna lain.

 -    (rw-)   (rw-)   (r--) 1 john sap
|      |       |       |
type  owner  group   others

Item pertama, yang menentukan jenis file, biasanya menunjukkan salah satu dari berikut ini:

  • d — sebuah direktori
  • – (tanda hubung) — file biasa (bukan direktori atau tautan)
  • l — tautan simbolis ke program atau file lain di tempat lain di sistem

Di luar item pertama, di masing-masing dari tiga set berikut, Anda akan melihat salah satu dari yang berikut:

  • r — file dapat dibaca
  • dengan — file dapat ditulis ke
  • x — file dapat dieksekusi (jika berupa program)

Bila Anda melihat tanda hubung di pemilik, grup, atau lainnya, itu berarti izin tertentu belum diberikan. Lihat lagi kolom pertama file1.txt dan identifikasi izinnya.

# ls -l file1.txt
-rw-rw-r--    1 john sap     150 Mar 19 08:08 file1.txt

Pemilik file (dalam hal ini, john) memiliki izin untuk membaca dan menulis ke file. Grup, sap, juga memiliki izin untuk membaca dan menulis ke file1.txt. Ini bukan program, jadi baik pemilik maupun grup tidak memiliki izin untuk menjalankannya. Semua pengguna lain hanya dapat membaca file.

Bagaimana bit izin file sesuai dengan nilai yang diberikan ke chmod?

Bit izin yang diterapkan ke objek sistem file berhubungan langsung dengan nilai yang dapat ditentukan dalam tupel 4 digit yang diberikan ke utilitas chmod dalam perintah berikut:

chmod abcd [file system object]

Setiap nilai dalam himpunan digit abcd terdiri dari jumlah nilai 1 2 dan 4. Dengan menambahkan nilai-nilai ini bersama-sama untuk setiap digit, nilai dapat dihasilkan untuk mengatur semua atribut objek file:

  • a – Digit ini mengontrol pengaturan atribut khusus. nilai 1 mengatur bit setuid, nilai 2 mengatur bit setgid, dan nilai 4 mengatur bit sticky pada objek
  • b , c dan d – Digit ini mengontrol izin baca tulis dan eksekusi untuk pemilik file, grup utama pemilik file, dan semua pengguna lainnya. Nilai 4 memungkinkan izin baca, nilai 2 memungkinkan izin menulis, dan nilai 1 memungkinkan izin eksekusi.

Contoh

Untuk menyetel file file menjadi lengket, dapat dibaca, dan dapat ditulis oleh pemiliknya, dapat dibaca oleh grup utama mereka, dan tidak dapat diakses oleh orang lain:

# chmod 4610 filename

Untuk memberikan semua izin kepada semua orang di sistem:

# chmod 0777 filename

Untuk informasi lebih lanjut tentang chmod, lihat halaman manual chmod.

Bagaimana cara mengatur izin file dan direktori menggunakan chown dan chmod?

Gunakan chown perintah untuk mengubah pemilik dan/atau grup file. Sintaksnya sederhana. Cukup ketik chown, diikuti oleh pengguna yang memiliki file tersebut, lalu secara opsional, titik dua (“:”) dan nama grup. Harap dicatat bahwa nama pengguna dan/atau grup harus ada di sistem. Misalnya:

# chown john:sap file1.txt
# ls -l file1.txt
-rw-rw-r--    1 john sap     150 Mar 19 08:08 file1.txt

menghasilkan pengguna john yang memiliki file. Pemilik grup file juga disetel ke grup john yaitu sap.

Gunakan perintah chmod untuk mengubah izin. Contoh ini menunjukkan cara mengubah hak akses pada file1.txt dengan perintah chmod. Jika Anda adalah pemilik file atau masuk ke akun root, Anda dapat mengubah izin apa pun untuk pemilik, grup, dan lainnya. Saat ini, pemilik dan grup dapat membaca dan menulis ke file. Siapa pun di luar grup hanya dapat membaca file (r–).

PERHATIAN :Ingatlah bahwa izin file adalah fitur keamanan. Kapan pun Anda mengizinkan orang lain untuk membaca, menulis, dan mengeksekusi file, Anda meningkatkan risiko file dirusak, diubah, atau dihapus. Sebagai aturan, Anda hanya boleh memberikan izin baca dan tulis kepada mereka yang benar-benar membutuhkannya.

Bagaimana cara mengubah izin file/direktori menggunakan notasi singkat?

Dalam contoh berikut, Anda ingin mengizinkan semua orang untuk menulis ke file, sehingga mereka dapat membacanya, menulis catatan di dalamnya, dan menyimpannya. Itu berarti Anda harus mengubah bagian "lainnya" dari izin file. Lihat dulu filenya. Pada prompt shell, Anda akan mengetik:

# ls -l file1.txt
-rw-rw-r--    1 john sap     150 Mar 19 08:08 file1.txt

Sekarang, Anda akan mengetik berikut ini:

# chmod o+w file1.txt

Perintah di atas memberi tahu sistem bahwa Anda ingin memberikan izin menulis kepada orang lain ke file file1.txt. Untuk memeriksa hasilnya, daftarkan detail file lagi. Sekarang, file tersebut terlihat seperti ini:

-rw-rw-rw-    1 john sap     150 Mar 19 08:08 file1.txt

Sekarang, semua orang dapat membaca dan menulis ke file. Untuk menghapus izin baca dan tulis dari file1.txt gunakan perintah chmod untuk menghapus izin baca dan tulis.

# chmod go-rw file1.txt

Dengan mengetik go-rw , Anda memberi tahu sistem untuk menghapus izin baca dan tulis untuk grup dan orang lain dari file file1.txt.

Hasilnya akan terlihat seperti ini:

-rw-------    1 john sap    150 Mar 19 08:08 file1.txt

Pikirkan pengaturan ini sebagai semacam singkatan ketika Anda ingin mengubah izin dengan chmod, karena yang harus Anda lakukan hanyalah mengingat beberapa simbol dan huruf dengan perintah chmod. Berikut adalah daftar singkatan yang diwakili:

Identitas

u - the user who owns the file (that is, the owner)
g - the group to which the user belongs
o - others (not the owner or the owner's group)
a - everyone or all (u, g, and o)

Izin

r - read access
w — write access
x — execute access

Tindakan

+ — adds the permission
- — removes the permission
= — makes it the only permission

Berikut adalah beberapa contoh umum pengaturan yang dapat digunakan dengan chmod:

g+w - adds write access for the group
o-rwx - removes all permissions for others
u+x - allows the file owner to execute the file
a+rw - allows everyone to read and write to the file
ug+r - allows the owner and group to read the file
g=rx - allows only the group to read and execute (not write)

Bagaimana cara menghapus semua izin untuk semua pengguna menggunakan notasi singkat?

Ingin menguji keterampilan izin Anda? Hapus semua izin dari file1.txt — untuk semua orang.

# chmod a-rwx file1.txt

Sekarang, lihat apakah Anda dapat membaca file dengan perintah cat file1.txt, yang seharusnya mengembalikan berikut ini:

cat: file1.txt: Permission denied

Menghapus semua izin, termasuk milik Anda, berhasil mengunci file. Tetapi karena file tersebut milik Anda, Anda selalu dapat mengubah izinnya kembali dengan perintah berikut:

# chmod u+rw file1.txt

Bagaimana cara membuat daftar izin file dalam format oktal?

Untuk membuat daftar izin file dalam format oktal, gunakan stat perintah yang disediakan oleh coreutils kemasan. Untuk mendapatkan izin oktal dari semua file dan direktori di direktori kerja saat ini, jalankan perintah di bawah ini:

$ stat -c "%a %n" *

Untuk mendapatkan izin oktal dari konten di direktori tertentu, katakan /usr/share, jalankan perintah di bawah ini:

$ stat -c "%a %n" /usr/share/*
755 /usr/share/aclocal
755 /usr/share/alsa
755 /usr/share/anaconda
755 /usr/share/appdata
...

Untuk mendapatkan izin oktal hanya untuk direktori, ucapkan /usr/share, dan bukan konten di dalamnya, jalankan perintah di bawah ini:

$ stat -c "%a %n" /usr/share/
755 /usr/share/

Bagaimana cara mereset semua izin file sistem ke default jika semua izin file diubah menjadi 777?

Anda tidak sengaja menjalankan perintah berikut.

# chmod -R 777 /

Apakah ada cara untuk kembali ke izin asli?

Jalankan perintah berikut untuk kembali ke izin asli.

# rpm -a --setperms

Ini akan menunjukkan beberapa kesalahan tetapi orang dapat mengabaikannya.

Bagaimana cara menyalin file dengan izin khusus melalui jaringan?

Untuk mencapai penyalinan file dengan izin khusus, utilitas rsync dapat digunakan:

# rsync --chmod=u+rwx,g+rx,o+rx  testfile [email protected]:/tmp/

Ini akan menyalin testfile di direktori home pengguna dan izin ke file yang disalin adalah 755.


Linux
  1. 25 Pertanyaan dan Jawaban Wawancara Linux Teratas

  2. Linux – Bagaimana Cara Mengatur Izin File Default Untuk Semua Folder / File Di Direktori?

  3. Diutamakan Pengguna Dan Pemilik Grup Dalam Izin File?

  1. Cara Membuat File dan Direktori Tidak Dapat Dihapus, Bahkan Dengan Root di Linux

  2. Dasar-dasar Izin File Linux

  3. UNIX / Linux:Panduan Pemula untuk Izin File dan Direktori ( umask, chmod, baca, tulis, jalankan)

  1. Linux – Memahami Izin Unix Dan Jenis File?

  2. 6 mv Contoh Perintah untuk Memindahkan atau Mengganti Nama File dan Direktori Linux

  3. Pertanyaan wawancara Linux – Izin khusus (SUID, SGID, dan sticky bit)