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?
Uhm, jadi mengapa ini "tidak benar"? Anda melakukan R EAD T dia F riendly M lipat, kan? Bit izin file persis mode (oktal atau simbolis).
—
0xC0000022L
** test ** adalah file. Temukan pencarian di direktori. Jadi, Anda harus menggunakan find pada direktori tempat tes berada.
—
Nils
@Nils: tidak benar.
—
0xC0000022L
find
(GNU temukan tepatnya) akan mengambil direktori dan file yang sama. Dia hanya melewatkan titik -perm
sakelar. Membaca manual akan membantu.
@ 0xC0000022L Menarik. Linux-manpage saya di CentOS 5 memberitahu saya itu hanya akan mengambil direktori. Apakah ada banyak akal dalam menjalankannya pada file?
—
Nils
@Nils: nggak ada arti khusus dalam melakukannya. Tapi itu tidak akan Anda mencegah dari kebodohan itu. Bagaimanapun, pada pandangan pertama saya juga menganggap ini sebagai masalah. Sayangnya, ini bukan untuk pertanyaan ini. Anda dapat mencoba dengan memeriksa beberapa bit pada file seperti ini
—
0xC0000022L
find $FILE -perm /7777
untuk melihat apakah Anda find
melakukannya atau mencegahnya.