Меню Рубрики

Как узнать домашний каталог пользователя linux

Просматриваем список пользователей в Linux

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

Способы проверки списка пользователей

Люди, которые постоянно используют данную систему, могут это сделать с помощью целого ряда методов, а для новичков это весьма проблематично. Поэтому инструкция, которая будет расписана ниже, поможет неопытному пользователю справиться с поставленной задачей. Сделать это можно при помощи встроенного Терминала или же ряда программ с графическим интерфейсом.

Способ 1: Программы

В Linux/Ubuntu управлять зарегистрированными в системе пользователями можно при помощи параметров, работа которых обеспечивается специальной программой.

К сожалению, для графической оболочки рабочего стола Gnome и Unity программы разные. Однако они обе способны предоставить набор опций и инструментов для проверки и редактирования групп пользователей в дистрибутивах Linux.

«Учетные записи» в Gnome

Сначала следует открыть параметры системы и выбрать раздел под названием «Учетные записи». Обратите внимание на то, что системные пользователи здесь уже отображаться не будут. Список зарегистрированных пользователей находится в панели слева, правее есть раздел настроек и изменения данных каждого из них.

Программа «Пользователи и группы» в дистрибутиве с графической оболочкой Gnome установлена всегда по умолчанию, однако если вы ее не находите в системе, то можно провести автоматическую загрузку и установку с помощью выполнения команды в «Терминале»:

sudo apt-get install unity-control-center

KUser в KDE

Для платформы KDE существует одна утилита, пользоваться которой даже гораздо удобнее. Она называется KUser.

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

Как и в случае с Gnome, в KDE программа KUser установлена по умолчанию, но ее можно удалить. Чтобы произвести установку приложения, выполните команду в «Терминале»:

sudo apt-get install kuser

Способ 2: Терминал

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

Все записи в нем представлены в следующем виде:

  • имя каждого из юзеров;
  • уникальный идентификационный номер;
  • пароль ИД;
  • ИД группы;
  • название группы;
  • оболочка домашнего каталога;
  • номер домашнего каталога.

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

Полный список пользователей

Вызвать переадресацию в файл с сохраненными данными юзеров можно с помощью «Терминала», введя в него следующую команду:

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

Имена в списке пользователей

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

Просмотр активных пользователей

В ОС, работающей на базе Linux, можно посмотреть не только пользователей, которые были зарегистрированы, но и тех, кто в настоящее время активны в ОС, заодно просмотрев то, какие процессы они используют. Для такой операции применяется специальная утилита, вызываемая командой:

Данная утилита будет выдавать все команды, которые выполняются пользователями. Если он одновременно задействует две и более команд, то они также найдут отображение в выдаваемом списке.

Истории посещений

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

Дата последней активности

Кроме того, в операционной системе Linux можно узнать, когда каждый из зарегистрированных пользователей был последний раз активен – это делает команда lastlog, выполняемая при помощи одноименного запроса:

В этом логе также отображается информация о пользователях, которые никогда не были активными.

Заключение

Как можно заметить, в «Терминале» представлены более детальные сведения, касающиеся каждого пользователя. В нем есть возможность узнать кто и когда входил в систему, определить, пользовались ли ей посторонние люди, и многое другое. Однако для рядового пользователя будет лучшим вариантом воспользоваться программой с графическим интерфейсом, чтобы не вникать в суть команд Linux.

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

Источник

Как найти домашний каталог пользователя в linux или unix?

Как найти домашний каталог произвольного пользователя из Grails? В Linux это часто /home / user. Однако в некоторых ОС, таких как OpenSolaris, например, путь /export/home/user.

13 ответов

для UNIX-подобных систем вы можете выполнить” echo

username ” использование оболочки (поэтому используйте Runtime.exec() для выполнения <"/bin/sh", "-c", "echo

обычно вы используете оператор

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

могут возникнуть проблемы с доступом, которые вы можете избежать, используя этой обходной путь (с помощью файла политики безопасности)

попробуйте это на Java:

для произвольного пользователя, а на сервер:

вы можете использовать переменную среды $HOME для этого.

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

когда мне нужно было сделать это раньше с Java, мне пришлось написать собственный код JNI, который обернул UNIX getpwXXX() семейные звонков.

если вы пытаетесь сделать это для имени пользователя, которое вы не можете жесткий код, это может быть сложным. Конечно!–1–> сказал бы вам путь к моему дому dir /home/rbronosky , но что, если rbronosky находится в переменной? Если вы это сделаете name=rbronosky; echo

вот реальный случай и решение:

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

/.ssh или он будет расширяться до /root/.ssh . Вместо этого вы делаете:

красота в том, что если скрипт не запускается как судо тогда $SUDO_USER пуст, поэтому это в основном то же самое, что делать “echo

“. Он по-прежнему работает так, как вы ожидаете.

если вы используете set -o nounset , который вы должны использовать, вы хотите сделать экспорт до этого.

Я предполагаю, что вы хотите найти домашний каталог другого пользователя. Очевидно, получение “пользователя”.главная ” свойство будет самый простой способ получить текущий домашний каталог пользователя.

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

теперь технически у нас должен быть поток, ожидающий stdout и stderr, поэтому буферы не заполняются и не блокируют процесс, но я уверен, что буфер может по крайней мере содержать одно имя пользователя. Кроме того, вы можете проверить результат, чтобы увидеть, начинается ли он с

root (или любое имя пользователя, которое вы использовали), чтобы убедиться, что пользователь существует и правильно оценивается.

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

чтобы найти домашний каталог для пользователя FOO в системе UNIX-ish, используйте

FOO . Для текущего пользователя, используйте

найдите оболочку Java для getpwuid/getpwnam(3) функции, они запрашивают у системы информацию о пользователе по uid или по имени входа, и вы получаете всю информацию, включая домашний каталог по умолчанию.

Источник


Adblock
detector