Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как вывести список всех пользователей  (Прочитано 85230 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ameer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Есть ли способ из консоли вывести список всех пользователей системы, в том числе незалогиненых и никогда не выполнявших вход. Команды вроде w, users, last тут не подходят.

rapidsp

  • Гость
Re: Как вывести список всех пользователей
« Ответ #1 : 23 Сентября 2009, 16:12:53 »
vipw

выход :q

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как вывести список всех пользователей
« Ответ #2 : 23 Сентября 2009, 16:15:50 »
~<tab><tab>
grep <критерий отбора> /etc/passwd

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как вывести список всех пользователей
« Ответ #3 : 23 Сентября 2009, 16:24:59 »
Есть ли способ из консоли вывести список всех пользователей системы, в том числе незалогиненых и никогда не выполнявших вход. Команды вроде w, users, last тут не подходят.
А почему users не подходит ? Ну тогда
sudo users

Оффлайн Sir Ruf

  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: Как вывести список всех пользователей
« Ответ #4 : 23 Сентября 2009, 16:27:22 »
grep home /etc/passwd | cut -d: -f1
А почему users не подходит ? Ну тогда
Показывает только тех кто в системе.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Как вывести список всех пользователей
« Ответ #5 : 23 Сентября 2009, 16:39:07 »
Показывает только тех кто в системе.
Понял, спасибо.

Оффлайн Sir Ruf

  • Активист
  • *
  • Сообщений: 326
    • Просмотр профиля
Re: Как вывести список всех пользователей
« Ответ #6 : 23 Сентября 2009, 18:06:19 »
grep home /etc/passwd | cut -d: -f1
Хотя да, в данном контексте логичней ls /home  :2funny:

Оффлайн ameer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Как вывести список всех пользователей
« Ответ #7 : 23 Сентября 2009, 20:48:12 »
Нет, ls /home не подходит. Командой useradd user1 я могу создать пользователя user1 без домашней папки и, соответственно, ls /home его не покажет. Однако в апплете "пользователи и группы" он появится. С помощью vipw или grep home /etc/passwd | cut -d: -f1 его тоже можно увидеть (спасибо rapidsp и Sir Ruf). Немного уточню вопрос: необходимости видеть системных пользователей (как то syslog, klog, mail, proxy и пр.) нет. Интересуют зарегистрированные "живые" юзеры. С помощью чего апплет "пользователи и группы" выводит их список?
« Последнее редактирование: 23 Сентября 2009, 20:53:50 от ameer »

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3337
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Как вывести список всех пользователей
« Ответ #8 : 23 Сентября 2009, 21:08:14 »
Ну как с помощью чего? С помощью файла passwd))) Системными считаются все пользователи с UID < 1000, делаем выводы. А апплет небось берёт настройки из GDM, зайдите через меню администрирования в настройку окна входа в систему, сразу всё понятно станет. Да, я не мастер shell, так что для решения конкретной проблемы пожалуй могу вам подсунуть такую вот штуку:
#!/usr/bin/env perl

use 5.010;

open INFILE, "<", "/etc/passwd";
while (<INFILE>) {
my @str=split /:/, $_;
say $str[0] if $str[2] >= 1000;
}
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как вывести список всех пользователей
« Ответ #9 : 23 Сентября 2009, 21:13:25 »
awk -F: '{if ($3>=1000) print $1}' /etc/passwd;)

 

Страница сгенерирована за 0.016 секунд. Запросов: 20.