Segfault при отсутствии -sudo

The umask value is subtracted from the full permission set for an object.

Это неправда. Или, по крайней мере, это неточно и упрощено до общего случая.

  • Во-первых, базовое значение не "полный набор разрешений", а то, что процесс, создающий файл, устанавливает в качестве разрешений файла. Конечно, для обычных файлов это обычно0666:идея состоит в том, что (говорят )текстовый редактор не должен решать, какими должны быть права доступа к файлу, но пользователю должно быть позволено решать это через umask.

    Но процессу, создающему файл, не нужно использовать 0666в качестве прав доступа к файлу. Для личных файлов (думаю, что будут использоваться ключи SSH ), 0600, так что независимо от umask файл никогда не будет доступен никому, кроме владельца. Кроме того, для исполняемых файлов можно использовать 0777, чтобы результирующий файл был исполняемым.

    Для каталогов обычно используется 0777, поскольку бит xпрактически так же необходим, как и бит rдля общего использования. Для общих файлов данных это не так, поэтому общий случай — 0666для файлов и 0777для каталогов.

    Конечно, используемые базовые разрешения могут быть чем-то другим, но это, скорее всего, обычные случаи.

  • Во-вторых, значение umask не вычитается , а маскируется. Вычитание подразумевает перенос от одного бита к следующему, а вычитание, например. 0007из 0666приведет к 0657. Это не то, как работает umask, и это было бы бесполезно.

Обратите внимание, что umask используется только при создании файла , справочная страница Linux также называет его "маской создания файлового режима". После этого chmod()можно использовать для изменения разрешений, не ограничиваясь umask.

So if a file can't be have read, write, execute permissions at once,

Конечно, могут. Это просто бесполезно для неисполняемых файлов.

0
07.10.2021, 14:09
1 ответ

Права доступа одной или нескольких общих библиотек,(*.so)используемых сбойными программами, вероятно, были изменены.

Сравните результаты

sudo ldd $(type -p programname)
# and
ldd $(type -p programname)
1
07.10.2021, 17:54

Теги

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