Согласно стандарту UNIX, "Эффективный идентификатор пользователя процесса должен соответствовать владельцу файла или процесса, должен иметь соответствующие полномочия, чтобы сделать это".
Биту о соответствующих полномочиях нужно некоторое объяснение. В традиционных системах chmod позволяется на всех файлах, когда эффективный UID (на Linux файловая система, которую UID, но видят ниже) процесса 0 [т.е. корень].
Linux имеет систему, названную возможностями, и CAP_FOWNER
бит управляет способностью использовать chmod
на всех файлах. По умолчанию все возможности предоставляют когда execve()
вызов создает корневой процесс (или путем выполнения setuid двоичного файла или когда реальный UID 0), или когда эффективный UID установлен на 0 (и удален, когда он установлен на ненулевое значение), и ряд возможностей включая CAP_FOWNER
включены, когда файловая система UID установлен на 0 (и отключен, когда это установлено на ненулевое значение). Прочитайте страницу справочника для получения дополнительной информации.
Вы упомянули липкий бит, но опустили то, что пользователи также не могут установить setgid, обдумал файл, когда они не находятся в группе, которая присвоена файлу. setuid или setgid укусили, может также быть проигнорирован при дополнительных определенных реализацией обстоятельствах.
Я полагаю, что это - известная проблема с этими конкретными версиями cyrus-sasl2 библиотек. Попытайтесь обновить к более новой версии библиотек и/или понизьте до более старой версии, если последнее не решает Ваш вопрос.
Я нашел следующие вопросы, которые были подняты относительно этой проблемы в обоих средство отслеживания ошибки Fedora, а также Debian один.
use-sasl = true
, который я прокомментировал.... Единственная безопасность, которую мне настроили сервер для использования,CRAM-MD5
.... который является, почему я так смущен.... – MirroredFate 05.12.2013, 20:49