Усі хауто, які я знаходжу в Інтернеті:
Find all SUID files:
find / -perm -4000 -print
Find all SGID files:
find / -perm -2000 -print
Але це неправда. Подивитися:
$ 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
$
Питання: Отже, що таке правда? Як я можу реально перерахувати всі файли SUID / SGID?
Ум, так чому саме це "неправда"? Ви зробили R EAD T він F riendly M Anual, вірно? Біти дозволу файлу є саме режимом (восьмеричним або символічним).
—
0xC0000022L
** тест ** - файл. Знайдіть пошук у каталогах. Тож вам слід скористатися знаходженням у каталозі, де знаходиться тест.
—
Нілс
@Nils: неправда.
—
0xC0000022L
find
(GNU виявиться точним) візьме так само каталоги та файли. Він / вона просто не вистачає точки -perm
вимикача. Читання посібника допоможе.
@ 0xC0000022L Цікаво. Моя linux-manpage на CentOS 5 повідомляє мені, що вона займе лише каталоги. Чи є сенс запускати його у файлі?
—
Нілс
@Nils: Ні, немає особливого сенсу робити це. Але це вам не запобіжить від цієї дурості. Незважаючи на це, на перший погляд я також вважав, що це питання. На жаль, це не питання. Ви можете спробувати перевірити наявність будь-яких бітів у такому файлі,
—
0xC0000022L
find $FILE -perm /7777
щоб побачити, чи find
робить це чи запобігає.