зачем нам разрешение SUID? [закрыто]

El estado de salida de un comando no es algo que se almacene globalmente en el sistema; se mantiene localmente por el shell que ejecutó el comando. Tan pronto como el shell ejecuta otro comando, se pierde el estado de salida anterior.

El shell se cierra con el estado del último comando; por lo tanto, si falla el último comando en un script de shell, el estado de salida del shell tampoco es -cero.

No sé cómo estabas pensando que el estado de salida que fue el resultado de un trabajo cron podría determinarse en alguna otra sesión de shell aleatoria o secuencia de comandos; ¿Qué pasaría si hubiera 20 trabajos ejecutándose en paralelo? ¿Debe encontrar qué estado de salida pertenece a qué trabajo? No se puede hacer.

Debe corregir el trabajo cron para guardar su estado de salida en algún archivo de estado; entonces puede leer ese archivo de estado más tarde.

2
25.09.2018, 13:44
1 ответ

Оба ваших примера объясняют, как работает setuid. Однако в вашем «идеальном Linux» каждый исполняемый файл будет начинаться с EUID владельца исполняемого файла, что сделает каждый исполняемый файл в вашей системе исполняемым файлом setuid.

Очевидно, что это вызовет много проблем, если упомянуть несколько :каждый исполняемый файл, принадлежащий root, должен будет выполнять проверки UID и вызывать setuid(), чтобы установить EUID процесса обратно на не -root, если программа должна не иметь никаких дополнительных привилегий; пользователи не могут сделать исполняемые файлы доступными для других пользователей, так как процесс будет выполняться с неверным EUID; ошибки конфигурации и плохие практики будут иметь критические последствия (, такие как chmod 777, теперь также разрешат доступ к любым файлам, принадлежащим пользователю ). А эти больше.

Обычные разрешения без двоичных файлов setuid нуждаются в каком-то другом механизме, позволяющем непривилегированным пользователям выполнять привилегированные операции. Двоичные файлы Setuid допускают такое повышение привилегий, а контроль доступа реализован в логике программы.

3
28.04.2021, 23:41

Теги

Похожие вопросы