Разрешение на файл с включенным setuid ( rws ).
Владелец файла: вайсах
vaisakh@computer:~/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
Переключиться на другого пользователя var23
vaisakh@computer:~/me$ su var23
Password:
Повторная проверка разрешения
var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
Исполняемый файл для var23 тоже
var23@computer:/home/vaisakh/me$ ./vaisakh.sh
Its vaisakh
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
Проверка разрешения на запись.
Примечание: Только вайшах (владелец) имеют разрешение на запись .
Но поскольку s (setuid) включен, файл будет выполняться с разрешения владельца (vaisakh) (rws).
( Означает, что это позволит 'var23' записывать в файл )
var23@computer:/home/vaisakh/me$ vim vaisakh.sh
После того, как var23 отредактирует файл, проверьте его еще раз.
var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwxr-xr-x 1 var23 var23 67 May 3 17:09 vaisakh.sh
var23@computer:/home/vaisakh/me$
Содержимое файла vaisakh.sh.
var23@computer:~/var23/Prometheus/me1$ cat vaisakh.sh
#!/bin/sh
echo "Its vaisakh"
ls -l
var23@computer:~/var23/Prometheus/me1$
Вопрос:
- Не могу понять, почему право собственности меняется с vaisakh -> var23 (разрешение тоже rws -> rwx )?
- Какое минимальное разрешение требуется для файла, чтобы использовать setuid (позволить пользователям, не являющимся владельцами, наследовать разрешение владельца)? Чтение-выполнение (r_x)!
Может ли setuid применяться только для флага выполнения?
Например: - Если фактическое разрешение для файла 4711 , пользователь, не являющийся владельцем, не может его прочитать. Почему это не повышает права владельца 4711 и позволяет другим читать содержимое.