GNU/Linux >> Belajar Linux >  >> Linux

Cara Menemukan File Berdasarkan Izinnya Di Linux

Menemukan file dari baris perintah di Linux jauh lebih mudah dan lebih cepat. Kami telah membahas cara menemukan dan mengurutkan file berdasarkan akses dan tanggal serta waktu modifikasi . Hari ini, kita akan melihat cara menemukan file berdasarkan izinnya di Linux dan sistem operasi mirip Unix.

Untuk tujuan panduan ini, saya akan membuat tiga file yaitu file1 , file2 dan file3 dengan izin 777 , 766 , 655 masing-masing dalam folder bernama ostechnix .

$ mkdir ostechnix && cd ostechnix/
$ install -b -m 777 /dev/null file1
$ install -b -m 766 /dev/null file2
$ install -b -m 655 /dev/null file3

Sekarang mari kita cari file berdasarkan izinnya.

Menemukan file berdasarkan izinnya

Sintaks umum untuk menemukan file berdasarkan izinnya adalah:

$ find -perm mode

MODE dapat berupa numerik atau oktal izin (seperti 777 , 666 , ... dll) atau izin simbolis (seperti u=x , a=r+x ).

Kita dapat menentukan MODE dalam tiga cara berbeda seperti yang tercantum di bawah ini.

  1. Jika kita menentukan mode tanpa awalan apa pun, itu akan menemukan file yang tepat izin.
  2. Jika kita menggunakan "-" awalan dengan mode, setidaknya file harus memiliki izin yang diberikan, bukan izin yang tepat.
  3. Jika kita menggunakan "/" awalan, baik pemilik, grup, atau lainnya harus memiliki izin ke file.

Izinkan saya untuk menjelaskan dengan beberapa contoh, sehingga Anda dapat memahami lebih baik.

Pertama, kita akan melihat menemukan file berdasarkan izin numerik.

Menemukan file berdasarkan izin numerik (oktal)

Sekarang biarkan saya menjalankan perintah berikut:

$ find -perm 777

Perintah ini akan menemukan file dengan izin tepatnya 777 di direktori saat ini.

Seperti yang Anda lihat pada output di atas, file1 adalah satu-satunya yang memiliki izin 777 yang tepat .

Sekarang, mari kita gunakan "-" awalan dan lihat apa yang terjadi.

$ find -perm -766

Seperti yang Anda lihat, perintah di atas menampilkan dua file. Kami telah menetapkan 766 izin untuk file2 , tetapi perintah ini menampilkan dua file, mengapa? Karena, di sini kita telah menggunakan "-" awalan. Ini berarti bahwa perintah ini akan menemukan semua file di mana pemilik file memiliki izin baca/tulis/eksekusi, anggota grup file memiliki izin baca/tulis dan yang lainnya juga memiliki izin baca/tulis. Dalam kasus kami, file1 dan file2 telah memenuhi kriteria ini. Dengan kata lain, file tidak perlu memiliki izin 766 yang tepat. Ini akan menampilkan file apa pun yang termasuk dalam izin 766 ini.

Selanjutnya, kita akan menggunakan "/" awalan dan lihat apa yang terjadi.

$ find -perm /222

Perintah di atas akan menemukan file yang dapat ditulis oleh seseorang (baik pemiliknya, atau grupnya, atau orang lain). Ini contoh lain.

$ find -perm /220

Perintah ini akan menemukan file yang dapat ditulis oleh pemiliknya atau grupnya. Itu berarti file tidak harus dapat ditulis oleh baik pemilik maupun grup untuk dicocokkan; salah satu akan melakukannya.

Tetapi jika Anda menjalankan perintah yang sama dengan "-" awalan, Anda hanya akan melihat file yang dapat ditulis oleh pemilik dan grup.

$ find -perm -220

Tangkapan layar berikut akan menunjukkan kepada Anda perbedaan antara dua awalan ini.

Seperti yang sudah saya katakan, kita juga dapat menggunakan notasi simbolik untuk mewakili izin file.

Temukan file berdasarkan izinnya menggunakan notasi simbolik

Dalam contoh berikut, kami menggunakan notasi simbolik seperti u ( untuk pengguna), g (grup), o (yang lain). Kita juga bisa menggunakan huruf a untuk mewakili ketiga kategori ini. Izin dapat ditentukan menggunakan huruf r (baca), dengan (tulis), x (dapat dieksekusi).

Misalnya, untuk menemukan file apa pun dengan grup tulis izin, jalankan:

$ find -perm -g=w

Seperti yang Anda lihat pada contoh di atas, file1 dan file2 memiliki grup tulis izin. Harap diperhatikan bahwa Anda dapat menggunakan "=" atau "+" operator untuk notasi simbolik. Misalnya, dua perintah berikut akan melakukan hal yang sama.

$ find -perm -g=w
$ find -perm -g+w

Untuk menemukan file apa pun yang dapat ditulis oleh pemilik file, jalankan:

$ find -perm -u=w

Untuk menemukan file apa pun yang dapat ditulis oleh semua (pemilik file, grup, dan semua orang lainnya), jalankan:

$ find -perm -a=w

Untuk menemukan file yang dapat ditulis oleh keduanya pemilik . mereka dan grup their mereka , gunakan perintah ini:

$ find -perm -g+w,u+w

Perintah di atas setara dengan "find -perm -220" perintah.

Untuk menemukan file yang dapat ditulis oleh salah satu pemilik . mereka atau grup their mereka , jalankan:

$ find -perm /u+w,g+w

Atau,

$ find -perm /u=w,g=w

Kedua perintah ini melakukan pekerjaan yang sama seperti "find -perm /220" perintah.

Untuk detail lebih lanjut, lihat halaman manual.

$ man find

Juga, periksa alternatif halaman manual untuk mempelajari contoh perintah Linux yang lebih disederhanakan.

Bacaan terkait:

  • Cara Menemukan Direktori Dan File Terbesar Dan Terkecil Di Linux
  • Cara Menemukan File Terlama Di Pohon Direktori Di Linux
  • Cara Menemukan File Yang Lebih Besar Atau Lebih Kecil Dari Ukuran X Di Linux

Linux
  1. Bagaimana Cara Menemukan File yang Dimodifikasi dalam 30 Hari Terakhir di Linux?

  2. Cara Menggunakan Perintah find Linux untuk Menemukan File

  3. Bagaimana saya bisa membuat daftar file dengan jalur absolutnya di Linux?

  1. Menyalin file berdasarkan tanggal modifikasi di Linux

  2. Bagaimana cara menemukan file dan menjumlahkan ukurannya?

  3. Bagaimana cara mendaftar semua file partisi di linux?

  1. Cara Menemukan dan Mengurutkan File Berdasarkan Tanggal dan Waktu Modifikasi di Linux

  2. Cara Menemukan File Modifikasi Terbaru atau Hari Ini di Linux

  3. Cara Menemukan File Dengan Izin SUID dan SGID di Linux