Почему каталог var не зависит от пользователя?

Удаляет . Каталог из списка результатов поиска . Это проще объяснить на примере:

find . -print
.
./prova2
./prova2/prova2  

find . -print | grep -v '^.$'
./prova2
./prova2/prova2  

Как видите, в первом фрагменте кода мы находим . результат. Итак, вы передаете его действиям, выполняемым циклом для .
Во втором фрагменте вы решили пропустить . Каталог из результатов find , поэтому вы не отправляете его в для цикла .

2
15.06.2017, 01:20
3 ответа

/var является своего рода глобальным каталогом для системы, и все кэш-данные и журналы всех пользователей кажутся общими для них.

Это частично неверно. Не весь кеш и журналы хранятся в папке /var, а то, что там хранится, не обязательно является общим для всех пользователей. Приложения и/или ОС владеют тем, что хранится в /var.

Единственным исключением является каталог, который фактически является общим и доступным для записи для всех пользователей: /var/tmp. Пользователи и/или приложения, решившие сохранить что-либо здесь, могут по-прежнему защищать подкаталоги и файлы, которые они создают, с правами доступа к файлам unix.

Я имею в виду, что программы (пакеты), запускаемые от имени разных пользователей, будут использовать один и тот же кеш, не говоря уже о том, что все локальные пользователи могут читать логи и просматривать кеш-данные друг друга.

Нет, разные пользователи обычно используют разный кеш. Также бывают случаи, когда общий кеш является плюсом.

Когда конфиденциальные/личные данные хранятся в /var, эти данные защищены приложением, поэтому пользователям не предоставляется право просматривать данные других людей; например почтовая очередь недоступна для чтения пользователями (не root).

2
27.01.2020, 21:52

Большинство основных проблем можно с пользой рассмотреть на одном примере, например, на принтере. Алиса на самом деле не хочет, чтобы lpr(1) блокировался, пока Джо не закончит распечатывать свою диссертацию. Система не хочет, чтобы Алиса удаляла свой файл до того, как он будет напечатан. Очевидное решение состоит в том, чтобы поместить копию файла в каталог буфера до тех пор, пока он не окажется на бумаге.

Традиционно задания на печать ставились в очередь в /usr/spool/lp. Проблема, как уже отмечалось, заключается в том, что это фактически запрещает монтирование /usr только для чтения. Имейте в виду, что проблема распространяется на каждую очередь (почту, uucp и т. д.) и все системные журналы. Это вызывает вторичную проблему, а именно то, что размер /usr полностью не зависит от размера установленной операционной системы. Представьте, что вы создаете новую систему с 35 МБ двоичных файлов. Насколько большим вам нужно сделать раздел /usr? Хитрый вопрос! 35 МБ плюс необходимое время для хранения журналов, умноженное на среднее использование электронной почты, принтеров, программ чтения новостей.

Перемещение всего в /var аккуратно решает проблему с доступом только для чтения и существенно устраняет административные кошмары. Во-первых, это позволяет легко измерить, сколько места занимают эти данные. Кроме того, гораздо проще расширить или заменить один раздел, чем беспокоиться о /usr/spool, /usr/log и т. д.

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

Менее очевидным является тот факт, что домашние каталоги не зависят от системы. Сетевые устройства довольно распространены. Скорее всего, при печати файла вы хотите, чтобы он печатался только там, где вы вошли в систему, а не на каждой машине, на которой смонтирован ваш домашний каталог. Доступность здесь также является проблемой, так как домашние каталоги могут исчезнуть, если файловый сервер выйдет из строя. Или добавить более современный вариант, если домашний каталог зашифрован и система не может его прочитать.

Исторически глобальное хранилище служило кэшем для общедоступной информации. Из-за отсутствия сервера новостей юзнет-статьи загружались партиями и хранились в центральном месте. В конце концов, нет причин дублировать большую ленту новостей для нескольких пользователей. Централизованные очереди также служат буфером для поступающей информации. Рассмотрим почтовую очередь, которая может быть не в состоянии поместить почту в ваш зашифрованный домашний каталог. (Снова доступность) Или случай, когда вы получаете тонну спама, находясь в отпуске. Должна ли система отбрасывать все сообщения после превышения дисковой квоты или сохранять их, чтобы вы могли разобраться с ними позже?

3
27.01.2020, 21:52

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

3
27.01.2020, 21:52

Теги

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