LINUX.ORG.RU
ФорумTalks

[идея] Временные метаданные (включая права, имя владельца, ACL) для файловых систем.

 


0

2

В самом общем виде идея звучит так — если подключенная файловая система не поддерживает права на файлы или смонтирована только для чтения, то вызов программ как chmod и chown всё равно должен позволять делать то что они должны, просто данные о новых правах на файлы будут храниться не в файловой системе (что невозможно, если она на CD-ROM или просто их не поддерживает [хотя, в таком случае, отчасти возможно через дополнительный слой вроде tar]).
Они будут храниться в памяти ядра или другом подобном месте. Предположительно, после размонтирования файловой системы, просто обнуляются.

Применение: предположим, вы воткнули в сервер приложений CD и хотите что бы к определенным данным на нём мог получить доступ только определенный пользователь. Для этого можно сделать обычный chown user0 /media/cdrom/secretfile ; chmod 600 /media/cdrom/secretfile.
Или, если вы воткнули, например, флешку с FAT и хотите доступ закрыть к некоторым файлам.

Ещё вариант: вы воткнули диск с софтом, хотите что-то запустить, а разработчики софта сделать его +x забыли. Если так сделать, то достаточно будет назначить один раз это право до следущего перемонтирования.

Конечно, желательно что бы был легкий способ эту память о виртуальных правах извлечь, через /proc например. И двже потом восстановить, при повторном монтировании

Кстати, если идти ещё дальше, можно даже позволять изменять файлы на уже примонтированной ro файловой системе, а дифф хранить в ОП до размонтирования. Таким способом, можно будет даже пофиксить ошибку в например скрипте запуска проги, запускаемом с диска, не меняя диск

★★★★★

Последнее исправление: Xenius (всего исправлений: 1)

Применение: предположим, вы воткнули в сервер приложений CD и хотите что бы к определенным данным на нём мог получить доступ только определенный пользователь. Для этого можно сделать обычный chown user0 /media/cdrom/secretfile ; chmod 600 /media/cdrom/secretfile. Или, если вы воткнули, например, флешку с FAT и хотите доступ закрыть к некоторым файлам.

Это небезопасно, так как злодеи могут успеть открыть секретные файлы после того, как ты примонтировал диск, но до того, как ты успел сделать chmod.

Кстати, если идти ещё дальше, можно даже позволять изменять файлы на уже примонтированной ro файловой системе, а дифф хранить в ОП до размонтирования. Таким способом, можно будет даже пофиксить ошибку в например скрипте запуска проги, запускаемом с диска, не меняя диск

Поздравляю! Ты изобрёл колесо^Wвелосипед^WUnionFS!

Deleted
()
Ответ на: комментарий от Rost

хотя нет, ему же надо временно хранить :)

Rost ★★★★★
()
Ответ на: комментарий от Deleted

> Это небезопасно, так как злодеи могут успеть открыть секретные файлы после того, как ты примонтировал диск, но до того, как ты успел сделать chmod.
Ну так можно же точке монтирования делать перед тем как монтировать chmod 700, потом уже chmod на сам секретный файл, и тогда можно уже открыть доступ к точке монтирования.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от anon_666

> Эдак может и ram не хватить. Или не?
Для прав на файлы — хватит.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Я знаю этот тред, там как раз решается противоположная задача. В этом треде речь не о том чтобы убрать пермишены а наоборот добавить.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Я знаю этот тред, там как раз решается противоположная задача. В этом треде речь не о том чтобы убрать пермишены а наоборот добавить.

ИМХО для сменных носителей чаще требуется именно убрать =).

Deleted
()

>В самом общем виде идея звучит так — если подключенная файловая система не поддерживает права на файлы ... то вызов программ как chmod и chown всё равно должен позволять делать то что они должны

поздравляю. ты переизобрел posixovl

Pinkbyte ★★★★★
()
Ответ на: комментарий от Xenius

А что мешает сделать chmod -r a+rwX /media/flash ?

Ничего, но перед каждым отмонтированием делать chmod -r - это костыль.

Ну и при монтировании есть опция umask.

У ext* - нету.

Deleted
()
Ответ на: комментарий от Deleted

Главное что бы директории были доступны для записи. Тогда можно удалять старые файлы и новые записывать даже если нет права на w в файл

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

Главное что бы директории были доступны для записи. Тогда можно удалять старые файлы и новые записывать даже если нет права на w в файл

Без chmod'а всё равно никак.

Deleted
()
Ответ на: комментарий от Deleted

> Без chmod'а всё равно никак.
Главное, что после создания и изначальной настройки файловой системы, права рута не являются строго обязательными для работы с ней.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

Главное, что после создания и изначальной настройки файловой системы, права рута не являются строго обязательными для работы с ней.

В том то и дело, что создания и начальной настройки ФС недостаточно.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.