Semua howtos yang saya temukan di status web:
Find all SUID files:
find / -perm -4000 -print
Find all SGID files:
find / -perm -2000 -print
Tapi itu tidak benar. Lihat:
$ ls -lah test
-r-sr-xr-x 1 user user 0B Jan 24 22:47 test
$
$
$ stat -x test | grep Mode
Mode: (4555/-r-sr-xr-x) Uid: ( 1000/ user) Gid: ( 1000/ user)
$
$
$ find test -perm 4000
$ find test -perm 2000
$
Pertanyaan: Jadi apa kebenarannya? Bagaimana saya bisa membuat daftar semua file SUID / SGID?
find
(GNU temukan tepatnya) akan mengambil direktori dan file yang sama. Dia hanya melewatkan titik-perm
sakelar. Membaca manual akan membantu.find $FILE -perm /7777
untuk melihat apakah Andafind
melakukannya atau mencegahnya.Jawaban:
Jika Anda ingin menguji bit apa pun , gunakan
/
. Yaitu untuk kasus penggunaan Anda:dan:
atau digabungkan:
Anda dapat menggunakan folder dan file sebagai argumen untuk GNU
find
.Lain, IMO lebih baik dibaca, pendekatan menggunakan pintas mnemonic. Yaitu:
Kaisar peringatan
Perlu diingat bahwa varian
find
bervariasi. Mereka juga mungkin berperilaku berbeda. Selalu baca manual ramah (RTFM).sumber
Dengan menggunakan perintah berikut, Anda dapat menghitung semua binari yang memiliki izin SUID. The
-perm -u=s
benderafind
alat melakukan trik:sumber