
Комментарии 22
Компьютеры (PDP11) уже научились работать с сетью
Поддержка сети появилась только в BSD (а уж NFS сделали в Sun ещё позже). Отдельный /usr был ещё раньше, когда UNIX жил только в пределах Bell Labs - только потому, что вся система не влезала на один физический диск, и /usr монтировался после загрузки с другого диска (но не по сети).
Интересно. Я размещаю портабельные и свои самописные программы в /home/user/mysoft (в винде аналогично, но там просто в корне типа e:/mysoft)
А вообще в линуксе (как впрочем и в винде, и в любых других системах) есть что-то что сейчас кажется правильным, и что-то что кажется неправильным. Например, единый корень файловой системы это красиво и правильно. А вот это разделение на /bin, /sbin и т.п. - явление устаревшее, концепция "Program Files" более логична (но имя папки лучше бы покороче и без пробела). Для разделения на неизменяемые бинарники, изменяемые настройки и т.п. лучше применять какие-то другие особенности файловой системы (которых кстати в существующих ФС может и не быть, но это уже другая история).
/home/user/mysoft
Я убью тебя, лодочник!
Не, у себя размещайте как хотите, но делать так в программе, раздаваемой другим, даже на работе - это не моветон, это срань полная. В Linux нельзя скрыть файлы, не переименовав их. Эта папка так и будет мусолить пользователю глаза на самом видном месте. На Windows все так делают, и поэтому ни один нормальный пользователь Windows не пользуется папкой пользователя, все хранят всё в папках в корне диска. а папка пользователя там - это что-то вроде второй корзины для мусора, в которой при этом принято держать самые важные конфиги.
И у себя так не надо. Сначала программа для себя, потом для себя и соседа, потом в первом релизе забыли переехать в другую папку, а в последующих уже нельзя переехать, не сломав UX. Как то так получилось со Snap, ещё одна гиря к весомому утверждению, что Snap - помойка.
Есть ~/.local/bin , за ~/.local/opt тоже рога не отшибут.
. Эта папка так и будет мусолить пользователю глаза на самом видном месте
никогда туда не смотрю, как оно мне может чтото мусолить?
ни один нормальный пользователь Windows не пользуется папкой пользователя, все хранят всё в папках в корне диск
Как 2000винду поставил, перестал в корне чтото хранить какоето время по привычке делал отдельные папки, потом плюнул и отдался винде на съедение, проще делать как она хочет, так меньше систему надо тюнить чтобы все ссылки правильно работали
===
Это я к чему, вы слишком смело интерполируете свой опыт на то что другие пользователи об этом думают
==
Хотя размещать софт в /home/user/mysoft -- за это реально надо расстреливать, тут прям соглашусь, но не потому что оно комуто мешает, а потому что с точки зрения администрирования, управления и поиска всяких проблем в системе - это попаболь для админа
это попаболь для админа
А админу не пофигу, что лежит у конкретного юзера в его ~ ?
в корпоративной среде, для которой на секундочку unix и создавался, совершенно не пофигу
вообще юзеру, так то, запрещено софт левый без ведома ставить... но это корпоративные заморочки ИБ...их пока опустим
А вообще первая проблема с которой я сталкивался прям сам, есть комп, который мне достался в наследство от старого сотрудника...он показал как что работает, где что лежит, всё ок, ушел, я захожу под своей учеткой...а у этой редиски весь софт стоит в /home/user а у меня девственно чистая машина... ладно я понимаю конфиги, но сам софт то чё? и я иду просить админа мне его копипастить...зомечательно..а еще он и работать будет криво потому что кривой софт гдето в конфигах в глубинах /var/ и /etc понаделал ссылок на /home/user/mysoft которые мне не доступны потому что у меня прав туда нет
Я имел в виду скорее разделяемый компьютер, который использует куча девелоперов. Если мне надо по быстрому поставить (скомпилировав с нужными мне ключами), использовать для тестирования и т.п. и потом снести что-то, компилируемое через ./configure;make;make install - проще сделать именно ./configure --prefix=~/somesoft и потом rm ~/somesoft . Как это повлияет на работу админа - не вижу.
разделяемый компьютер, который использует куча девелоперов
Это вы очень узкий кейс приводите в пример, по этому у девелоперов зачастую рутовые права есть на таких машинах, чтобы мозг админам и девопсам не компостировать постоянно (хотя у меня были бойцы которые на любой чих в техподдержку звонили...я чёт такого не понимаю применительно к девелоперам)
В реальной жизни такое редко бывает нужно
Я размещаю портабельные и свои самописные программы в в корне типа e:/mysoft)
Это небезопасно.
Когда программа находится в каталоге, куда писать может любой пользователь, то этот самый любой пользователь может подменить исполняемый файл (или положить рядом с программой свою вредоносную библиотеку с именем а-ля version.dll или любым другим из числа тех, которые программа ищет в системе).
Таким образом, один пользователь может запустить свой код с правами другого пользователя. Особенно весело, когда программа запускается от администратора.
Вдобавок, это усложняет контроль за запуском приложений через AppLocker и подобные инструменты. Вместо того, чтобы добавить в список разрешённых мест запуска только Windows и Program Files, приходится добавлять ещё и кучу таких вот расположений.
Именно поэтому программы и их компоненты (наподобие .dll) должны находиться в расположениях, куда непривилегированный пользователь писать не может.
К сожалению, любители "портабебебельного" софта про это не думают, а постепенно к ним присоединяются и обычные разработчики (каждое первое Electron-приложение ставится в профиль, foobar2000 сторонние плагины грузит из профиля), и даже корпорации (OneDrive по умолчанию ставится в профиль, лаунчер Blizzard некорректно выставляет права на свои файлы в Program Files).
По умолчанию в новые папки в корне диска пользователь писа̀ть не может, так как права наследуются от корня.
Дык, компьютеры сейчас в основном однопользовательские, многоюзерное нагромождение для профессионалов представляется анахронизмом.
Ну окей, добавьте мне "рабочий профиль", если меня угораздит попасть в контору с BYOD. Или наоборот, добавьте профиль для поднадзорных и подцензурных отпрысков. В обоих случаях это другая модель, чем модель юникса.
Кстати, и чем модель винды. Про %LOCALAPPDATA% и т.д. здесь все позабыли. А ведь логика в винде та же самая, только нарастала она не вокруг нетбута, а вокруг "перемещаемых профилей".
Думаю, "всё своё держу в хомяке и не расставляю себе любимому лишних граблей" - то что доктор прописал однопользовательской по факту системе.
В “одопользовательской” по вашему комментарию винде, после установки минимум 4 учётных записи. И это мы говорим только про “пользовательскую” версию. Тут вопрос философии, сделать быстро, но на костылях или чуть, именно чуть, дольше, но зато спланированно и организовано. А ещё есть вопросы информационной безопасности. Я как администратор ЛВС впрактически везде сразу к антивирусной защите включаю AppLocker. И первый запрет, это установка всякого ПО в профиль пользователя. Потому как исполняемые данные не должны быть доступны на запись рядовому пользователю, что успешно нарушается при установке в профиль. А дома можете творить что хотите. Только домашние пользователи и про резервное копирование зачастую не слышали.
Ваша организация с мандатным доступом, традиционная виндовая и тем более юникс-модели, "родительский контроль" - это совершенно разные модели безопасности.
И все они конфликтуют с потребностями продвинутого пользователя "админа локалхоста". Ладно, "безопасники" с "маркетологами" порешали наши интересы не учитывать - ибо нас таких мало. Стоило бы признать хотя бы очевидное (см. первый абзац).
Впрочем, кое с чем согласен: мне как тому продвинутому админу локалхоста хотелось бы иметь удобный режим эскалации и деэскалации прав. Ключевое слово - удобный. Мне. А не энтерпрайзам и не корпорациям.
Пихаю всё в /usr/local/bin (и заодно r+x себя в ACL прописываю) с расчётом на то, что бинарями пользоваться буду не только я (не в sudoers, кста). Верно делаю? Или в /opt/bin надо было пихать всё?
Я просто оставлю это здесь:
Разница между bin, sbin, usr/bin, usr/sbin / Habr https://share.google/UVelrA4a0DD6p9OfD
Ссылка перенаправляет на https://habr.com/ru/articles/143614/
Много букв, но про самые важные в данном вопросе вы как то умолчали. Иерархия директорий в linux регламентируется в FHS (https://ru.wikipedia.org/wiki/FHS)
Ну тут проще.в /usr /usr/bin хранятся инструменты поставляемые с системой по умолчанию,с установкой с префиксом./usr/local хранятся при установке без префикса
Почему в Linux /bin, /usr/bin, /usr/local/bin…