У меня проблемы с настройкой Linux, так что программа может получить доступ к определенным файлам. Давайте назовем это pgm A. У него uid uA и gid gA. Кроме того, uid uA указан в /etc /group как член группы gX. Проблема в том, что pgm A не может получить доступ к файлам, для которых uid является root, а gid - gX, но только когда pgm A вызывается из другой программы, pgm B, которая также запускается как пользователь uA.
Если я использую пользователь uA и запускаю pgm A из bash, у него нет проблем с доступом к файлам в группе gX.
Но если другая программа, pgm B, которая также работает как пользователь uA, разветвляется и исполняет pgm A, pgm A не сможет получить доступ к файлам. Я проверил, что pgm A действительно запускается как пользователь uA, группа gA, при запуске из pgm B. Итак, если uA является членом группы gX, почему программа не может получить доступ к файлам, которые доступны для чтения группе gX? Как будто операционная система игнорирует тот факт, что пользователь uA также входит в группу gX.