Как я проверяю, какие 'нормальные' пользователи находятся там в системе?

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

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

я также рекомендую альтернативную систему как freebsd, Вы получите другую точку зрения и иметь доступ к некоторым аккуратным функциям, не доступным для Linux (dtrace, zfs)

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

4
31.01.2011, 19:28
4 ответа

Обычно "обычные пользователи" являются идентификатором назначенного пользователя> = 1000. Если это верно, в Вашей системе, затем следующее могло работать:

awk -F: '{if ($3 > 999) print $1}' /etc/passwd
2
27.01.2020, 20:50
  • 1
    я добавил бы также для анализа Довольно интересного/etc/group –  tmow 03.02.2011, 10:22

Сделать grep UID_MIN /etc/login.defs. Затем сделайте getent passwd и посмотрите, у каких пользователей есть UID> = значение UID_MIN сверху.

Объяснение: Каждый раз, когда пользователь вручную добавляется, это захватывает первый доступный UID> = значение UID_MIN от login.defs (если UID вручную не указан),

3
27.01.2020, 20:50
  • 1
    действительно Ваше решение хорошо, но/etc/login.defs используется в системах GNU/Linux и не применяется на все разновидности Unix. Затем getent не является стандартом также, но просто инструментом. –  tmow 03.02.2011, 10:20
  • 2
    @tmow, Ya, его зависимое от операционной системы. И getent находится на всем Linux и solaris полях, которые мы выполняем, поэтому, кажется, достаточно распространен. –  Patrick 04.02.2011, 01:22

Я не думаю, что существует способ сказать, какие пользователи были "вручную созданы". Вероятно, лучшее, которое можно сделать, ищут пользователей, которые имеют допустимую оболочку, как у обычно пользователей системы как sshd и gdm есть оболочки как /bin/false и /sbin/nologin предотвратить логины. Список допустимых оболочек находится в /etc/shells, таким образом, можно использовать grep получить список пользователей с одной из тех оболочек:

$ grep -f /etc/shells /etc/passwd

Если Вы просто хотите имена пользователей:

$ grep -f /etc/shells /etc/passwd | cut -d: -f1
2
27.01.2020, 20:50
ls -l /home

Но это - также не наиболее надежный источник.

Если когда-то вошел в систему:

lastlog | grep -v 'Never logged in'
1
27.01.2020, 20:50
  • 1
    Другая причина это не надежно, состоит в том, что можно удалить пользователя, не удаляя их корневой каталог. –  tshepang 31.01.2011, 19:50

Теги

Похожие вопросы