На заседании комитета FESCo (Fedora Engineering Steering Committee), отвечающего за техническую часть разработки дистрибутива Fedora Linux, рассмотрено (https://lists.fedoraproject.org/pipermail/devel/2014-Novembe...) предложение (https://fedorahosted.org/fpc/ticket/467) по введению требований по обязательной доступности на чтение всех файлов и директорий иерархии /usr. В качестве причины введения общей доступности на чтение всех файлов /usr, называется необходимость полного доступа к содержимому /usr при построении изолированных контейнеров с использованием непривилегированных процессов (контейнер и утилиты сопровождения должны иметь доступ ко всем данным /usr без необходимости получения прав root).Кроме того, предлагается распространять все файлы пакетов, не связанные с конфигурацией и изменяемыми в процессе работы данными, под пользователем и группой root с возможностью записи только пользователем root. Исключения, позволяющие распространение от других групп и пользователей, может быть предоставлено только из соображений обеспечения безопасности при должном аргументировании такой необходимости. Окончательное решение пока не принято, проект изменения правил находится на стадии рецензирования.
URL: https://lists.fedoraproject.org/pipermail/devel/2014-Novembe...
Новость: http://www.opennet.me/opennews/art.shtml?num=41062
Просветите. Зачем нужно вообще именно в /usr, не в /root /home /etc, ограничивать привилегии на чтение?
Не ужели для /usr/share/doc/ и /usr/share/man/?
/usr/local - ниочём не говорит?
Говорит.
Во времена, когда не было больших винтов, /usr была общей папкой перемонтированной с мега-хранилища, но каждый комп в отдельности имел свою /usr/local, в которой он хранил свои собственные либы и бинарники, нужные только ему.
В наши времена больших винтов, /usr/local используется как путь по умолчания для собственных сборок, что бы не смешивать их с бинарниками и либами, устанавливаемыми через репозитории или rpm/deb пакеты.
Только вот это мне ничего не проясняет и на вопрос, зачем ограничивать на это доступ для чтения, не отвечает.
Ну, если честно - не помню точно, могу собственными словами только. по юникс-вей - софт, соответственно, при сборке должен устанавливаться туда (дефолтный префикс), имитируя корень (у рх это "/usr"). Тут еще есть отдельная глава c /opt - просто харит много тыкать :)
Короче, как я понимаю:
Есть CORE, где /usr/* не учавствует, а используется, как дата-софтваря каталог.Ну, например, есть root, который следит за CORE. А я - не админ, но должен администрировать субд, иметь возможность управлять, обновлять, откатывать, модифицировать - ну беру сорцы pg, накатываю патчи, собираю, _инсталлю_ и делаю старт демона.
Демон в изолированном контейнере маунтит /usr и пользует субд, контейнер имеет лимит на 70%.
если скажем проклонить конфиг демона можно запустить второй демон (test версию того-же демона) с лимитом в 3%. думаю тыкать о преимуществах нет смысла?
> Демон в изолированном контейнере маунтит /usrМаунтить он могет без рута, а прочитать не могет. Оригинально )))
> В наши времена больших винтов, /usr/local используется как путь по умолчания для ...# ls -la /usr/local
ls: cannot access /usr/local: No such file or directory
Почему не /nix/store? Ну, не созрели, наверно, ещё :-)
/nihstor же! :)
наследственность от старых unix, в том же /usr/etc/ могут быть конфиги, плюс часть прог могут иметь чтение/исполнение не для всех, например '/usr/sbin/suexec' - его нужно будет куда-нибудь перенести.
казалось бы все правильно и логично.
https://bugzilla.redhat.com/show_bug.cgi?id=517575
> https://bugzilla.redhat.com/show_bug.cgi?id=517575Т.е. посоны пилят что-то для ред хата.
Тут заходит Шигорин и объясняет, что они, козлы такие, своими правками в репозитории редхата сломали что-то в Alt Linux.
5 баллов!
>> https://bugzilla.redhat.com/show_bug.cgi?id=517575
> Т.е. посоны пилят что-то для ред хата.
> Тут заходит Шигорин и объясняет, что они, козлы такие, своими правками в
> репозитории редхата сломали что-то в Alt Linux.Когда до Вас дойдёт, что обозначает "непривилегированная сборка чрута" -- перечитайте, пожалуйста, ещё разик. А они как тогда глупость сделали, так и сейчас следующим ходом в неё вляпаются по этому тикету, похоже...
> 5 баллов!
Для пакетов из стандартного репозитория это не бред, но для fhs сразу нафиг.
Проблему федроки не понял, пока не вижу необходимости вникать в дебри.Но хочу высказать своё мнения по поводу предоставлениия всем прав на чтение в /usr:
1. Список файлов на которых установлен супербит и нельзя к ним давать доступ на чтение пользователям:
find /usr -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \;Если в федорки решатся на сию глупость то пользователям лучше с этих файлов убрать супербит chmod -s. Но тогда некоторые проги перестанут работать...
Какие права поставлят, например, на файл:
$ ls -l /usr/bin/gpasswd
-rws--x--x 1 root root 79200 мая 31 18:07 /usr/bin/gpasswd2. Кажется они вовсе не в ту сторону копают.. Должно быть:
/ и /usr только на чтение, ибо содержат исполняемые файлы
/tmp, /var, /home запрет исполнения, ибо содержат изменяемые файлы.
и для пущей пезопасности можно использовать TPE https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity...
Согласен.Сначала /bin /lib в /usr перенесли, теперь весь /usr на чтение открыть, всякие selinux понапихали, нет что бы глобально переработать структуру фс системы, задолбали эти /media /opt и /srv пихать. По быстрому развернуть сервак с бд - хрен, сиди выпиливай ее из /var чтобы myisam не помер когда что-то в логи нагадит, сколько лет уже юниксу, а они все костыли лепят.
в /var зайти страшно, каждая прога там чета оставила, то папку для chroot для ssh, то для named минимальное окружение, и там же кэш yum, и логи, и бд, и права там не дай бог не те, задолбаешься искать в чем проблема.
Хотя логично, если две непримеримые (не совместимые) сущности существуют бок о бок достаточно долго, то со временем граница стирается, 7ка скопированная с раздела на раздел сохраняет работоспособность и тузлы от винды к винде консольные появляются и документация, а линукс мутнеет от релиза к релизу, никто не хочет заморачиваться на нормальное решение, рубят с барского плеча - весь /usr всем на все че уж мелочится-то.
> сиди выпиливай ее из /var чтобы myisam не помер когда что-то в логи нагадит/var/log в сторонку придумали уже давно.
[snip]
Костылище, и ротация логов которая демоны перезапускает костылище, кому если не федоре ака редхату подсилу перепачить всяких зверьков аля tftpd чтобы они работали через syslog, а не писали тупо в файл. Тем более, что они и так весьма основательно патчат сорцы перед компиляцией и формированием rpm. Унифицировать демонов, и не понадобится всяких системд, но конечно прикрутить костыль проще.На прошлой недели обновлял центос c 6.5 до 6.6, и чтобы вы думали - yum - питон - ошибка сегментации памяти, какая прелесть, кстате именно коредампы питона и засрали /var раздел, логи конечно тоже, но тем не менее шел 21 век.
> сиди выпиливай ее из /var чтобы myisam не помер когда что-то в логи нагадит, сколько лет уже юниксу, а они все костыли лепят.Собсно, /var - единственное место, куда логично по умолчанию впихнуть штуки, вроде почты, логов, БД, кешей проксей, не зная ничего о предпочтениях юзеров относительно партиций. И первое, что должен сделать админ после установки соотв. софта - это перенести большегрузные каталоги в сухое теплое темное место. А дальше уже по вкусу - либо поправить пути в конфигах, либо сделать линки с нового места на старое.
> Какие права поставлят, например, на файл:
> $ ls -l /usr/bin/gpasswd
> -rws--x--x 1 root root 79200 мая 31 18:07 /usr/bin/gpasswdа чо, какая проблема? у меня в дебиан:
-rwsr-xr-x 1 root 68024 май 26 2012 /usr/bin/gpasswdпо умолчанию доступен на чтение...
даже если нет, ЧТО такого секретного хранится в бинарнике /usr/bin/gpasswd, что это нужно скрыть от простого юзера?
Полный список файлов на которые федорковци хотят изменить права:find /usr/ -type f -perm /u+r,g+r ! -perm /o+r -exec ls -lg {} \;
Кроме выше сказаного с супербит сие также разрешит всем запускать игрушки, по умолчанию игрушки можно запускать только пользователям с групы games.
Возможно пробьёт ещё пару дыр в безопасности.
будем знать что собираются портить:find /usr/ -type f ! -perm /o+r -exec ls -lg {} \; > fedorka_usr_perm.txt
Также:find /usr/ -type d ! -perm /o+r -exec ls -ldg > {} \; > fedorka_usr_perm.txt
> ... по умолчанию игрушки можно запускать только пользователям с групы games.
>
> Возможно пробьёт ещё пару дыр в безопасности.то есть теперь игрушки смогут запускать все кто хотят? вот это дырень!
(сарказм:))
> по умолчанию игрушки можно запускать только пользователям с групы gamesНасколько я знаю, это только в генте так.
> Полный список файлов на которые федорковци хотят изменить права:
> find /usr/ -type f -perm /u+r,g+r ! -perm /o+r -exec ls -lg
> {} \;# find /usr/ -type f -perm /u+r,g+r ! -perm /o+r -exec ls -lg {} \;
-rwx------ 1 root 26992 апр 2 2012 /usr/lib/cups/backend/cups-pdf
#ПАНИКА! ПАНИКА!!!
> Кроме выше сказаного с супербит сие также разрешит всем запускать игрушки, по
> умолчанию игрушки можно запускать только пользователям с групы games.
> Возможно пробьёт ещё пару дыр в безопасности."рассмотрено предложение по введению требований по обязательной доступности на чтение всех файлов и директорий иерархии /usr"
с каких пор доступ на чтение разрешает запуск?
"systemd --test works much better if systemd can read the relevant parts of /usr. "
https://fedorahosted.org/fpc/ticket/467что всегда радует в этом вашем systemd - это грамотные технические аргументы: сказали "much better" и всё, действительно, всё работает "Намного Лучше"...
А Alt Linux всё в там же.
> А ALT Linux всё там же.Должно же хоть что-то работать.
Какой смысл помогать Альт Линуксу, если с таким же успехом можно помогать Федоре или Убунте; "с таким же успехом", потому что всё равно вся работа напрасна, вы и сами это отлично понимаете.
В чём смысл тогда для вас лично?Главное сам процесс, ведь так?
> "с таким же успехом", потому что всё равно вся работа напрасна,
> вы и сами это отлично понимаете.Вы уже перестали бить воспитательницу по утрам?
> В чём смысл тогда для вас лично?
Раз берётесь "понимать" за меня -- мой ответ Вам неинтересен. Научитесь разговаривать -- приходите, обсудим.
>Должно же хоть что-то работать.Кстати, какие планы по системе инициализации?
> Кстати, какие планы по системе инициализации?altlinux.org/systemd
altlinux.org/sysvinit
То есть вопрос с переходом на systemd решён?
> То есть вопрос с переходом на systemd решён?То есть можно применять и то, и то. По части systemd есть ряд проблем, решённых в федоре, и нету ряда проблем, добавленных там (вроде оторванных ethX); по части sysvinit главным камнем преткновения остаётся polkit, если не нужен или не жалко порезать ему аутентификацию, как описано -- работает себе, а так sem@ посматривает на systemd-shim и предыдущие подходы к снаряду.
PS: часть официальных сборок делается с sysvinit: altlinux.org/starterkits#livecd -- достаточно несложно делать такие и с TDE/E17, т.к. эти среды довольно сильно автономны.
Alt Linux навсегда:# hddtemp /dev/sda
bash: hddtemp: команда не найдена
# /usr/sbin/hddtemp /dev/sda
ВНИМАНИЕ: Диск /dev/sda не включен в базу данных поддерживаемых приводов.
ВНИМАНИЕ: Но с использованием распространенных параметров он что-то выдает.
ВНИМАНИЕ: Заметьте, что показанная температура может таковой не являться.
ВНИМАНИЕ: См. опции --help, --debug и --drivebase.
ВНИМАНИЕ: И не забудьте, что можно добавить привод в hddtemp.db
> Alt Linux навсегда:
> # hddtemp /dev/sda
> bash: hddtemp: команда не найдена
> # /usr/sbin/1. Курить доки по UNIX на тему /sbin и /usr/sbin и почему не рекомендуется включать их в PATH
2. Имея рута, ныть на эту тему могут только последние лошопеды.
> Alt Linux навсегда:Не, ничто не вечно под луною.
> # hddtemp /dev/sda
> bash: hddtemp: команда не найденаВы привыкли к кривому нестандартному su, в альте соответствующее стандартам (и в силу того, что все действительно не в ногу -- это частый камень преткновения): http://altlinux.org/su
Сравните выхлоп
su -c 'echo $PATH'иsu - -c 'echo $PATH'> # /usr/sbin/hddtemp /dev/sda
> ВНИМАНИЕ: Диск /dev/sda не включен в базу данных поддерживаемых приводов.Мы её достаточно долго пополняли автономно (и слали патчи в апстрим), но проект уже несколько лет как по факту не принимает патчи, а это предупреждение можно пропустить мимо ушей; если хотите, почитайте документацию в пакете и пришлите данные/повесте в альт багу, сделаю. PS: http://bugzilla.altlinux.org/hddtemp
Впрочем, с таким предлагаю пойти в какую-нить тему про альт, чтоб не спамить коллегам в теме про федору. Например, сюда: http://www.opennet.me/opennews/art.shtml?num=40834 (спасибо за напоминание, добавил пакет в ALT Linux Rescue).