Какой адрес имеет домашняя личная папка пользователя sun в системе linux

Обновлено: 04.07.2024

Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]

Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.

Работаем с файловой системой

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

  1. pwd — показывает директорию в которой вы находитесь;
  2. ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке ;
  3. cat — выводит содержимое файла, например cat /путь/к/файлу ;
  4. cd — переходит в указанную папку, например cd /путь/к/папке ;
  5. cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать ;
  6. mv — перемещает файл/папку, например mv /что/переместить /куда/переместить ;
  7. rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке ;
  8. du — считает размер директории, например du -hc /путь/к/папке ;
  9. mkdir — создаёт директорию, например mkdir /путь/к/папке ;
  10. touch — создаёт файл, например touch /путь/к/файлу .
  • Чтоб вернуться в предыдущую директорию, необходимо выполнить cd - ;
  • Чтобы перейти на одну директорию вверх, необходимо выполнить cd … ;
  • Чтобы перейти в домашнюю директорию, необходимо выполнить cd

Что где лежит и зачем оно там?

… если оно там лежит, значит так и должно быть, не трожь это!

Иерархия файловой система в * nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.

  • / — корень файловой системы, внутри него располагается всё;
  • /bin , /sbin , /usr/bin — тут располагаются различные исполняемые файлы (программы);
  • /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
  • /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты , и т.д.);
  • /etc — тут находятся различные файлы настроек различных системных программ, демонов;
  • /home — тут располагаются домашние директории пользователей;
  • /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
  • /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
  • /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media ;
  • /opt — тут находятся установленные проприетарные приложения и библиотеки;
  • /proc , /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
  • /root — домашняя директория пользователя root;
  • /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
  • /usr/lib , /usr/lib32 — хранят в себе различные библиотеки;
  • /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
  • /usr/local — имеет такую же структуру как и /usr , только хранит в себе вручную собранные и установленные приложения и библиотеки;
  • /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
  • /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы ;
  • /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
  • . — текущая директория;
  • … — директория на один уровень выше текущей.

Более подробную информацию о иерархии файловой системы можно почитать в man hier .

Заключение

Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».

И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).

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

Где хранится системная информация о домашних каталогах пользователей в Linux

При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

login : password : UID : GID : GECOS : home : shell

Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. ;)

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор

(тильда) в Debian

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

Результат не сильно отличается от предыдущего, но к

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

Ещё одним полезным свойством

является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду

А теперь посмотреть содержимое этого файла:

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! ;)

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.

Директория содержит файлы устройств, подключенные к операционной системе. В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX-подобных операционных систем.

В этой директории находится основная часть конфигурационных файлов самой операционной системы (настройки сети, список пользователей, групп и т.д.) и различных программ (Apache, Samba и т. д.).

В этом месте должна размещаться вся личная информация пользователей системы. Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.

Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя. Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы. Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.

В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена. В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.

Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.

Директория, используемая для автоматического монтирования различных устройств USB-накопителей, CD-ROM и т.д. При вставке в привод CD-ROM диска он автоматически подключается во вложенный каталог этой директории.

Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB-накопители, CD-ROM и т.д.

/proc — это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Подробнее можно прочитать здесь.

Это домашний каталог или Домашняя папка суперпользователя. Эта директория фактически ничем не отличается от директории обычного пользователя. Данная директория по умолчанию всегда расположена в корневом каталоге файловой системы. Это было сделано для предотвращения проблем с доступом к директории /home. В случае когда к каталогу /home по какой-то причине невозможно получить доступ, в системе всегда есть возможность залогиниться под учетной записью суперпользователя, для решения возникших проблем с доступом.

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.

/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.

/sys/block содержит директории всех блочных устройств, присутствующих в данный момент в системе.

В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).

Каталог содержит список группированных устройств по классам (printer, scsi-devices и т.д.).

Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

В этом каталоге хранятся все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме суперпользователя root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин.

Директория дополнительных программ для всех учетных записей.

Каталог для размещения доступных компьютерных игр в системе.

Заголовочные файлы С++.

Системные библиотеки для программ, расположенных в директории /usr.

По стандарту /usr должен быть общим для нескольких компьютеров и смонтирован по сети, а /usr/local должен содержать установленные пакеты программы только на локальной машине (к примеру, /usr - бюджет семьи, а /usr/local - личный кошелек каждого). Но чаще всего директория /usr/local используется для установки программ, которые не предназначены для конкретного дистрибутива (к примеру для пакетного дистрибутива Ubuntu в /usr находятся "родные" установленные пакеты, а /usr/local находятся собранные пакеты из исходников).

Дополнительные системные программы.

Общие данные установленных программ.

В каталоге находятся все иконки системы.

Директория, в которой обычно находится справочная документация по установленным программам.

Исходные кода (например, здесь располагаются исходные кода ядра).

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

В этом месте хранятся все кэши различных программ.

В этом месте расположены файлы с игровыми достижениями.

Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).

Здесь лежат lock-файлы, указывающие на занятость некоторого ресурса.

В этом месте хранятся все log-файлы.

Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).

В 3:30 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.

Вопрос вызвавший трудности

Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике "Информатика". Ваш вопрос звучал следующим образом:

После проведенного совещания с другими специалистами нашего сервиса, мы склонны полагать, что правильный ответ на заданный вами вопрос будет звучать следующим образом:

НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:


Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.

Белоусова Мальта Святославовна - автор студенческих работ, заработанная сумма за прошлый месяц 68 700 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию

ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!

Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.

Деятельность компании в цифрах:

Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.

Ответы на вопросы - в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.

Полезные статьи - раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.

Красивые высказывания - цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.

В данном посте рассматривается создание и администрирование пользователей в операционных системах (ОС) на базе ядра Linux. Для примера будет использоваться ОС Oracle Linux 7.5. Будут рассмотрены следующие вопросы:

  • Типы пользователей
  • Основные файлы, хранящие информацию о пользовательских учетных записях
  • Администрирование (управление) учетными записями

Типы пользователей

В Linux есть три типа пользовательских учетных записей – root (суперпользователь), системные и пользовательские.

  • root(суперпользователь) – учетная запись, имеющая полный контроль над системой. Суперпользователь может запускать любую команду без каких-либо ограничений;
  • системные – эти учетные записи нужны для операций над системными компонентами, например для почтовых или sshd учетных записей. Эти учетные записи обычно нужны для выполнения каких-либо конкретных функций в системе, и потому не модифицируются;
  • пользовательские – учетные записи этого типа предоставляют доступ к системе для пользователей. Обычные пользователи имеют именно этот тип учетной записи, что ограничивает их доступ к критично важным системным файлам и папкам.

Основные файлы, хранящие информацию о пользовательских учетных записях

Основные параметры пользовательской учетной записи это: Имя, пароль, UID, GID, Комментарий, Домашняя директория, командная оболочка.

Основные файлы ОС, хранящие информацию о пользовательских учетных записях:

  • /etc/passwd– Содержит информацию об учетной записи и пароле. Это основной файл, содержащий информацию об учетных записях.
  • /etc/shadow– Содержит пароли в зашифрованном виде (SHA-512) для соответствующей учетной записи.
  • /etc/group– Содержит информацию о группах для каждой учетной записи.
  • /etc/gshadow– Содержит информацию, касающуюся безопасности групп.

Далее подробно рассмотрим каждый файл и его содержимое.

  • loginID – имя пользователя (Имя должно быть уникальным и состоять максимум из 32 символов (любые, кроме двоеточия [:] и символа новой строки [\n] )).
  • x – плейсхолдер для зашифрованного пароля хранящегося в файле /etc/shadow.
  • UID – номер, использующийся системой, для идентификации пользователя (UID для обычных пользователей должны иметь диапазон от 100 до 2^32-1).
  • GID – номер, использующийся системой, для идентификации основной группы пользователя.
  • comment (GECOS) – комментарий, обычно содержит полное имя пользователя.
  • home_directory – полный путь к пользовательской домашней директории. В данной директории хранятся конфигурационные файлы пользователя.
  • login_shell – пользовательское командная оболочка.

После установки ОС файл /etc/passwd выглядит (по умолчанию) как на скриншоте:


В файле /etc/shadow находятся записи в следующем виде:

  • loginID – имя пользователя,
  • password – пароль в зашифрованном виде. Пароль должен минимум в 8 символов длиной, включая спецсимволы, цифры, и буквы. Обычно формат пароля $id$salt$hashed, где $id – алгоритм, которым шифруется пароль ($1$ is MD5, $2a$ is Blowfish, $2y$ is Blowfish, $5$ is SHA-256, $6$ is SHA-512).
  • lastchg – количество дней c 1.01.1970, когда пароль был изменен в последний раз.
  • min – минимальное число дней между сменами пароля
  • max – максимальное число дней, в течении которых пароль будет валиден
  • warn – количество дней за которые пользователь будет предупрежден об истечении пароля
  • inactive – количество дней, в течении которых пользователь может быть неактивен перед блокировкой
  • expire – дата, когда истекает срок пользовательской учетной записи

Скриншот файла /etc/shadow


Структура файла /etc/group следующая:

  • groupname – имя группы (максимум 8 символов);
  • group-password – пустое поле или звездочка;
  • GID – идентификатор группы;
  • username-list – список пользователей, для которых данная группа является вторичной.


Структура файла /etc/gshadow следующая:

  • groupname – имя группы;
  • encrypted-password — зашифрованный пароль группы. Если задан, то пользователи, не являющиеся членами группы, могут присоединиться к группе введя пароль этой группы используя команду newgrp. Если значение этого поля равно !, то пользователи не смогут присоединиться к группе командой newgrp. Значение !! означает то же самое, что и . однако еще обозначает то, что пароль еще не был задан. Если значение пусто – в группу могут логиниться только члены группы;
  • group-admins — члены группы, перечисленные в этом поле, могу добавлять или убирать членов группы используя команду gpasswd;
  • group members — члены группы, перечисленные в этом поле, являются обычными пользователями данной группы.


Администрирование (управление) учетными записями

Добавление пользователей

Для того, чтобы добавить пользовательскую учетную запись, необходимо выполнить команду useradd. Пример добавления пользователя с именем test:

Проверим, появилась ли соответствующая запись в файле /etc/passwd:

Зададим пароль пользователю dushanbe командой passwd:

Далее появится приглашение ввести новый пароль.

Проверим, появилась ли соответствующая запись в файле /etc/shadow:

Модификация пользователей

Для модификации пользователей используется команда usermod. Попробуем изменить имя пользователя dushanbe на test с помощью команды usermod и опции –l.

Проверим, изменилась ли соответствующая запись в файле /etc/passwd:

Удаление пользователей

Для удаления пользователей используется команда userdel (опция –r так же удалит домашнюю директорию пользователя).

Добавление группы

Для добавления группы используется команда groupadd:

Проверим, появилась ли соответствующая запись в файле /etc/group:

Модификация группы

Производится командой groupmod. Сменим имя группе testgrp на testg:

Проверим, изменилась ли соответствующая запись в файле /etc/group:

Удаление группы

Для удаления группы из ОС используется команда groupdel:



Добавление/удаление учетной записи в группу

usermod –G groupname username – добавить учетную запись в группу;

gpasswd –d username groupname – удалить учетную запись из группы.


В примере проверим файл /etc/group на наличие группы dushanbe и добавим в эту группу пользователя molly. Проверим файл еще раз, и затем – удалим пользователя из группы. Снова проверяем файл, чтобы убедиться в правильности выполнения команды:

Читайте также: