Супер пользователи и домашний каталог
Концепция домашней папки в UNIX была великолепна, когда пользователи использовали один компьютер и не знали, где и как хранятся их файлы в системе, но имеет ли смысл, когда обычный компьютер используется только одним человеком?
Переключившись на Mac ранее в этом году, я считаю, что это самая сложная парадигма, чтобы обернуть голову, когда я использую UNIX в качестве основной настольной системы. (Я использовал Linux и BSD в качестве сервера и игровой площадки в течение нескольких лет, поэтому я осознаю преимущества использования сервера).
В качестве суперпользователя я использую несколько внешних дисков, карт памяти, устройств резервного копирования и т. Д. Фактически, большинство моих данных находится там, а не в домашнем каталоге.
Я регулярно переустанавливаю свою систему, поэтому я не хочу, чтобы моя ОС и данные находились в одном разделе.
Домашний каталог, даже если я помещаю его в отдельный раздел, недостаточно велик, чтобы хранить все данные, которые я хочу иметь, у меня под рукой.
Домашний каталог также используется системными и разнородными приложениями, которые уже занимают кучу папок.
Список можно продолжить. В целом у меня возникает ощущение, что я работаю против системы, а не с ней. Я просто поврежден годами DOS/Windows и просто не "получаю", или структура просто не идеальна для такого использования?
Как заставить старую концепцию домашней папки работать с вами, а не против вас, учитывая то, как компьютеры используются сегодня? Советы, хитрости, скрытые преимущества, которые я наблюдал?
Изменить: разъяснение
Прежде всего, спасибо за некоторые подробные ответы. Я понимаю, что допустил ошибку, используя термин "суперпользователь" в своем вопросе, поскольку я не имел в виду "корневой" смысл этого слова. Я не запускаю свои машины как root.
Я имел в виду "супер-пользователя" в том смысле, что в отличие от обычного пользователя, я делаю свои собственные резервные копии, я довольно часто переустанавливаю свою машину, я выполняю двойную загрузку, разрабатываю, запускаю программное обеспечение управления souce, я распределяю данные по нескольким дискам для избыточности и так далее. Обычные пользователи помещают свои файлы туда, где система предлагает, редко, если вообще когда-либо переустанавливает, сохраняет настройки по умолчанию для всего и так далее. Разница в том, что я имел в виду под "суперпользователем". Извините за то, что неясно.
Я также хорошо осведомлен о возможности монтировать диски и разделы там, где я хочу. Я делаю это уже, но я спрашиваю себя - что я получу от всего этого безобразия? Я держу свой дом в переустановке, правда - но в домашнем каталоге есть вещи, от которых я мог бы избавиться, наряду с вещами, которые я хочу сохранить.
Из окон я вырос, чтобы ненавидеть беспорядок "моих документов", который всегда был неуклюжей попыткой скопировать "домашний" механизм из UNIX. Поскольку я сейчас использую машину UNIX, я удивлен, что кажется, что сам механизм является неуклюжим. Мой домашний каталог в OS X так же раздражает "домашний", как "мои документы" в Windows.
Это не проблема, поскольку я стремлюсь к простому игнорированию домашнего каталога. Но есть ли что-то, чего мне не хватает?
6 ответов
Символические ссылки. Или перейдите на конкретное место. Без разницы.
Windows использует ту же концепцию домашних каталогов, чего бы это ни стоило. Вот где живет ваш профиль пользователя - все настройки пользователя, конфигурации, файлы закладок, что угодно. Windows помещает его в C:\Documents and Settings\%username%, Linux помещает его в /home/$username, использует OSX (что? /Users/$username? Я не уверен).
Но домашний каталог действительно не должен быть для данных пользователя. Это для пользовательских файлов конфигурации. Ваши данные могут быть где угодно. Если вы являетесь единственным пользователем, вы можете даже подключить внешние накопители непосредственно в каталог $HOME любым удобным для вас способом.
Лично я использую символические ссылки и монтирую все ориентированные на данные разделы в /media. У меня есть папка /personal, которая организует символические ссылки непосредственно в дерево / media для наиболее часто используемых данных, и дублирую эти символические ссылки (или их сокращенные версии) в моем каталоге $HOME.
Как суперпользователь, вы можете использовать любую форму, которая вам нравится.
Концепция "рабочего стола компьютера" как однопользовательского опыта, очевидно, глубоко укоренилась в вас. Нет ничего плохого в том, чтобы все ваши данные были "внешними" по отношению к вашему домашнему каталогу - на самом деле, это просто прекрасно. Я думаю, что вам нужно сделать, это решить, что должно и не должно быть в вашем домашнем каталоге.
Ничто не мешает вам создавать пустые каталоги-заглушки, которые находятся в домашнем каталоге root, а затем монтировать ваши внешние данные там. Ничто не мешает вам сохранить существующую систему монтирования OS X, которая отображается в папке /Volumes. Что вы говорите, так это то, что вы боретесь с собой и с тем, как вы управляете системой.
Если вы хотите быть настоящим пуристом, у вас будет обычная учетная запись для повседневной деятельности, и вы будете иметь root-права на то, чем она должна быть - учетную запись, которая управляет системой, а не учетную запись, которая просматривает веб-страницы. Эта идея помогает определить, что является "вашим", а что нет, и делает обработку ваших данных (и кто ими владеет) намного более понятной. Но это также кажется вам потерянным из-за желания быть корнем.
Быть пользователем root все время становится привычкой, когда вам приходится каждый день администрировать сервер. Я знаю, потому что я делаю это - это часть работы. Но когда я возвращаюсь домой и запускаю установку Linux, я использую свою "обычную" учетную запись и не пытаюсь быть пользователем root. Немного самодисциплины поможет вам преодолеть это и, поверьте мне, вы пойдете дальше.
Продолжение обработки данных и разделов:
Это не Windows или DOS в этом отношении. Это сила в чистом виде. Вы можете объединить различные диски и тома в любом месте системы. Каталог в любом месте может, в свою очередь, действительно быть отдельным диском, и именно это представление дерева унифицированной файловой системы немного сбивает вас с толку. Вы немного похожи на кого-то, кто был в цепях всю свою жизнь, и как только кандалы сняты, вы не слишком уверены, с чего начать, поэтому вы чувствуете, что должны продолжать использовать те же методы, которые вы использовали. Хорошо... время для некоторой боковой мысли.:)
Система практически ваша. Никто не стоит за вашим плечом, наблюдая за тем, что вы делаете, и печатаете в нем, и при этом нет кода бесчисленных программистов, которые оставляют призраков в машине, чтобы помешать вам что-то делать. В самом прямом смысле вы имеете абсолютную и абсолютную власть над своим оборудованием. И с этим абсолютная власть может быть полностью освобождающей или полностью разрушающей. Чуть раньше о том, что не нужно использовать root для повседневных задач - для этого есть много веских причин.
Управление данными - это только один аспект системы, которая более или менее органично развивалась в течение десятилетий сотнями людей, применяя к ней свое понимание. Частью этого управления данными является понимание того, что здесь могут жить другие люди, и поэтому у вас должны быть некоторые базовые правила о том, что "мое и ваше". Вот где приходят домашние каталоги. Главная цель / home состояла в том, чтобы предоставить то, что означало его прозвище - дом для пользователей, где можно "хранить вещи" и "делать вещи", а также место для предпочтений пользователя.
Root нужен дом для себя, потому что, ну, в общем, дело не в том, чем занимается администратор, у них есть свои собственные программы и данные для работы. Та же концепция root требует наличия собственного домашнего каталога, поскольку root является специальной учетной записью, но все же является учетной записью, обладающей особыми сверхспособностями.
Но есть и другие веские причины не всегда быть корнем. Запуск программного обеспечения, которое может иметь потенциальные уязвимости для внешних атак, в то время как root открывает вашу систему для атак, совершаемых с той же мощью, что и root, то есть полный контроль. Так что привилегированное разделение - очень большая вещь в Unix-стране, и на то есть веская причина.
Если ничего не помогает, и у вас возникают проблемы с попыткой целостного усвоения этих концепций, вы можете прочитать старое (и несколько устаревшее) эссе под названием " В начале была командная строка", которую можно бесплатно скачать через Интернет, от автора. Хотя он старый, он все еще актуален сегодня, и внутри вы начнете понимать, для чего вы.
В качестве суперпользователя я использую несколько внешних дисков, карт памяти, устройств резервного копирования и т. Д. Фактически, большинство моих данных находится там, а не в домашнем каталоге.
Ну, это просто способ личного выбора.
Я регулярно переустанавливаю свою систему, поэтому я не хочу, чтобы моя ОС и данные находились в одном разделе.
Вы все еще думаете, как Windows. В Linux вы можете установить любой каталог на отдельный раздел. Фактически, многие люди создают два отдельных раздела, монтируя их в / и /home, при установке Linux.
Домашний каталог, даже если я помещаю его в отдельный раздел, недостаточно велик, чтобы хранить все данные, которые я хочу иметь, у меня под рукой.
Если он недостаточно большой, просто используйте внешний диск. Домашний каталог должен представлять личные данные на текущем компьютере, а не на любом другом устройстве.
Домашний каталог также используется системными и разнородными приложениями, которые уже занимают кучу папок.
Ну, к сожалению, это в основном результат традиции Unix. Вы заметите, что папка "Мои документы" в Windows используется одинаково. (Несмотря на то, что у Window есть прекрасная альтернатива в AppData.) Однако, видя эти папки, вероятно, фон вашего окна, заставляющий вас хотеть смотреть на скрытые папки. Каталоги, начинающиеся с точки (.), Скрыты под Linux- и в основном по таким причинам, чтобы не участвовать в работе Windows, держащей вас за руку, вы проходите сквозь пальцы.
Многое из этого есть в ответах других, но я пытаюсь свести воедино что-то, что поможет вам сработать.
- В качестве суперпользователя я использую несколько внешних дисков, карт памяти, устройств резервного копирования и т. Д. Фактически, большинство моих данных находится там, а не в домашнем каталоге.
- Домашний каталог, даже если я помещаю его в отдельный раздел, недостаточно велик, чтобы хранить все данные, которые я хочу иметь, у меня под рукой.
Как предполагает ~quack, вы можете легко получить символическую ссылку на все ваши различные внешние носители из вашего домашнего каталога. Если хотите, верхним уровнем может быть только список этих ссылок (возможно, с одним реальным каталогом, называемым "локальным"). Это, конечно, тоже решает проблему с размером. На самом деле ни одна из данных не будет находиться в вашем домашнем каталоге.
- Я регулярно переустанавливаю свою систему, поэтому я не хочу, чтобы моя ОС и данные находились в одном разделе.
- Домашний каталог также используется системными и разнородными приложениями, которые уже занимают кучу папок.
Вот почему так много людей монтируют отдельный раздел как /home. Я не знаю, какой дистрибутив вы используете, но, например, установщик Ubuntu дает вам возможность создавать разделы и принимать это решение.
На мой взгляд, это разделение плана переустановки, поэтому хорошо, что домашний каталог содержит конфигурации для системы / приложений. Если вы переустановите свою систему, вы можете сохранить настройки. Конечно, легко хранить ваши данные отдельно от скрытой конфигурации, особенно если вы используете этот список символических ссылок (+ локальная) структура.
Поскольку ваш основной каталог находится в /home/, а не просто /home (при условии, что второго пользователя никогда не будет)... Ну, если вы действительно этого хотите, вы можете перенастроить ваш домашний каталог на / home и дайте себе разрешения там (отредактировав /etc/passwd). Однако для меня это не так уж и сложно - оболочки запускаются в вашем домашнем каталоге, а методы GUI всегда обеспечивают легкий доступ к нему. Вы никогда не увидите каталоги верхнего уровня, если не хотите.
Главное, от чего вам следует отказаться, это то, что в лучших традициях Linux вы можете настраивать вещи, пока они не будут работать так, как вы этого хотите.
Если ты cat /etc/passwd
вы увидите, что в вашей системе много других пользователей, они просто не люди. знак равно
Кроме того, идея домашнего каталога заключается в том, что он дает вам (и программам, которые вы запускаете) место, где вы можете делать все, что захотите. Это означает, что если в вашем веб-браузере есть дыра в безопасности, он может писать только в $HOME, а не куда-нибудь опасно, например /sbin.
Ну, я единственный пользователь на моем Mac, и резервное копирование - это просто, потому что я храню все свои данные (файлы для скачивания, документы, ненужные файлы, разработки, изображения) в своей домашней папке, а мои медиафайлы (фильмы, музыка, библиотека фотографий) внешний диск (и). Если мне нужно сделать резервную копию, все, что я делаю, это копирую свою домашнюю папку на любой носитель резервной копии, который я выберу.
Я думаю, что Эвери Пэйн понял это правильно:
Система практически ваша. Никто не стоит за вашим плечом, наблюдая за тем, что вы делаете, и печатаете в нем, и при этом нет кода бесчисленных программистов, которые оставляют призраков в машине, чтобы помешать вам что-то делать.
Перестаньте беспокоиться о том, правильно ли вы делаете это или нет. Просто сделай это!