Нет.Нет.setuid
и setgid
могут использоваться только в двух случаях (в обычном Linux):
- Процесс является корневым.
- Процесс был запущен из файла с
setuid
или setgid
битов в его режимах.
В первом случае процесс может вызывать эти функции так или иначе, чтобы принять любую идентичность.В последнем случае процесс может переключаться только между uid / gid родителя и uid / gid файла, из которого он был запущен.
То есть, если setuid, он может принятьuid файла, если setgid, gid.
Поскольку вы находитесь в Java, exec-ed - это сама программа Java, и вы не хотите, чтобы , что было setuid или setgid, если только вы не хотите создать колоссальную защиту.
Вы можете написать программу на C или C ++, которая запускает JVM через интерфейс вызова JNI, и установить для этой программы setuid или setgid, а затем код JNI.вызываемый там может сделать соответствующие вызовы для переключения.