Имеет ли исполняемый файл те же файловые привилегии, что и пользователь, запустивший его? - PullRequest
0 голосов
/ 29 мая 2018

В Unix, если я запускаю бинарный файл, который копается с файлами, имеет ли бинарный файл те же права доступа к файлам, что и я (пользователь, который запускал бинарный файл)?

1 Ответ

0 голосов
/ 29 мая 2018

В большинстве случаев ответ - да!

Однако это не так, если в этом двоичном файле включены setuid, setgid биты.

Классический пример двоичного файла с включенным setuid.

ls -ltra `which passwd`

Эта команда не сможет работать, если не сможет предоставить вам (пользователю, выполняющему команду)та же привилегия, что и у root во время его выполнения, для изменения файлов, таких как /etc/password или /etc/shadow

Посмотрите на:

https://docs.oracle.com/cd/E19683-01/816-4883/secfile-69/index.html

setuid Permission

Когда для исполняемого файла установлено разрешение идентификации пользователя (setuid), процессу, который запускает этот файл, предоставляется доступ на основе владельца файла (обычно root), а непользователь, который запускает исполняемый файл.Это специальное разрешение позволяет пользователю получать доступ к файлам и каталогам, которые обычно доступны только владельцу.

setgid Permission

Set-groupидентификационное (setgid) разрешение аналогично setuid, за исключением того, что эффективный идентификатор группы (GID) процесса изменяется на владельца группы файла, а пользователю предоставляется доступ на основе разрешений, предоставленных этой группе.Команда / usr / bin / mail имеет права setgid

Возможно, вы захотите взглянуть на fork и exec, если хотите немного подробнее изучить, как Linux управляет процессамии подпроцессы.

...