У нас есть экспорт NFS для любого из наших пользователей, чтобы установить и поддерживать полезное программное обеспечение для сети, смонтированной в / public на наших клиентах. На сервере NFS этот каталог доступен для записи всем с установленным липким битом (например, / tmp).
Один из пользователей этого сервиса имеет символьную ссылку в / public на исполняемый файл. Поскольку мы обновили наши рабочие станции с Ubuntu 9.04 до 10.10, мы получаем отказ в разрешении, когда пытаемся выполнить этот файл через символическую ссылку. Если мы удалим липкий бит, нам больше не будет отказано в разрешении.
Я ничего не нашел ни в наших журналах, ни в dmesg. Это функция защиты приложения или ошибка, появившаяся между Ubuntu 9.04 и 10.10?
Вы, наверное, видите эффект усиление безопасности символических ссылок введено с Ubuntu 10.10. Эту функцию можно отключить через /proc/sys/kernel/yama/protected_sticky_symlinks
.
В Debian эту функцию можно отключить, добавив в /etc/sysctl.conf
:
fs.protected_symlinks = 0
Еще одна вариация на эту тему: kernel.grsecurity.linking_restrictions
- это один из много опций sysctl добавлено патч grsecurity.
В настоящее время (19 апреля 2012 г.) функция защиты символических ссылок не была включена в вышестоящее ядро, хотя есть некоторые недавнее усилие чтобы объединить вариант патча Debian (вместе с некоторыми другими изменениями, обеспечивающими усиление защиты).
Мой Linux Mint Debian, похоже, испытал что-то очень похожее на усиление безопасности символических ссылок, которое Сергей описал в своем ответе.
Если вы используете Debian, добавьте в свой /etc/sysctl.conf
:
fs.protected_symlinks = 0
сделайте это и прикрепите сюда:
cat /etc/exports
также обратите внимание на следующее: SettingUpNFSHowTo - Документация сообщества Ubuntu