Назад | Перейти на главную страницу

Поиск домашнего каталога всех пользователей

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

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

Излишне говорить, что ответ на его проблему - "эй, стажер!"

Итак, мне было интересно, есть ли способ найти все домашние каталоги для всех пользователей коробки? Коробка, над которой я работаю, - RHEL 5.

Предполагая, что все пользователи являются локальными пользователями (то есть нет службы сетевых каталогов, такой как LDAP, Active Directory, NIS и т. Д.), Тогда все локальные пользователи, вероятно, перечислены в /etc/passwd, который представляет собой файл с разделителями-двоеточиями со следующими полями:

username:password:uid:gid:name:home directory:shell

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

awk -F: '{print $1,$6}' /etc/passwd

Используя предложение Урголла об использовании getent команда, это:

getent passwd | awk -F: '{print $1,$6}'

Тебе повезло! Все, что вы хотите /etc/passwd :-)

Например:

jay:x:1000:1000:Jay Shah,,,:/home/jay:/bin/bash

куда jay это мое имя пользователя, 1000 это мой uid / gid, /home/jay это мой домашний каталог, и /bin/bash моя оболочка.