Можно ли «скрыть» учетную запись из / etc / passwd?

Типичная система Linux не только учитывает фактического пользователя (пользователей) системы, но и различные системные учетные записи.

Есть ли файл типа /etc/passwd для демонов или другие средства, в которых может быть определена учетная запись?

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

  • Как переключаться между пользователями на одном терминале?
  • Дата входа пользователя и время входа в систему
  • Как я могу изменить домашний каталог сервера sftp на MAC OS X?
  • Запустить сценарий, когда пользователь выйдет из системы
  • В чем разница между обычным пользователем и системным пользователем?
  • Будет ли учетная запись заблокирована при входе в режим FTP на удаленный сервер, пароль которого уже истек в UNIX
  • Как определить, какой пользователь был использован для запуска Apache Tomcat в последний раз (или последние несколько раз)
  • Разрешить другим пользователям копировать файлы из моей папки?
  • 4 Solutions collect form web for “Можно ли «скрыть» учетную запись из / etc / passwd?”

    Пользователи Daemon и пользователи плоти и крови перечислены в одних и тех же файлах. «Файл типа /etc/passwd для демонов» – это /etc/passwd .

    Формальных определений пользователей системы и пользователей нет. Ядру все равно (кроме предоставления пользователям большого количества привилегий с UID 0). Большинство команд администрирования тоже не заботятся. Некоторые типичные различия:

    • Человеческий пользователь имеет настоящее имя, например «John Doe», тогда как у пользователя системы есть описательное имя, например «Nasal daemon» или вообще нет.
    • Пользователь имеет реальную оболочку для входа (например, /bin/sh или /bin/bash или /bin/csh . Некоторые пользователи системы имеют оболочку (почти всегда /bin/sh ), другие – нет, в зависимости от того, как они предназначенный для использования (например, su foo требует, чтобы foo имел оболочку).
    • У пользователя-пользователя часто есть пароль – но это не всегда так, например, пользователь удаленного доступа может иметь только SSH-ключ. Обратите внимание, что в современных устройствах пароль не находится в /etc/passwd но в другом файле, например /etc/shadow .
    • Домашний каталог пользователя пользователя обычно находится в /home (или в каком-то конкретном месте), тогда как домашний каталог пользователя системы обычно не находится в /home и может не существовать (но есть исключения).
    • Большинство сайтов определяют диапазон идентификаторов пользователей для пользователей системы и непересекающийся диапазон для пользователей. Резервирование 100-65533 или 500-65533 или 1000-65533 является типичным, и большинство дистрибутивов настроено для начала размещения реальных идентификаторов пользователей от 500 или 1000.

    На сайтах, где учетные записи распределяются между несколькими компьютерами, обычно имеется центральный сервер, содержащий списки пользователей, доступные через NIS или LDAP . Запись passwd в passwd /etc/nsswitch.conf указывает, где искать информацию о пользователе. Обычно у пользователей системы есть локальные /etc/passwd и реальные пользователи из всей сетевой базы данных, но иногда в базе данных сети есть системные пользователи (для обеспечения соответствия UID, что облегчает репликацию серверов и данных) и иногда в локальном файле есть человеческие пользователи (чтобы они входили в систему, даже когда сеть была закрыта).

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

    Нет причин иметь отдельный файл определения пользователя. Пользователи системы и реальные пользователи не являются технически разделенными, но организационно: по диапазону, из которого берутся их UID. посмотрите файл /etc/login.defs . У моего openSUSE есть следующие записи:

     SYSTEM_UID_MIN 100 SYSTEM_UID_MAX 499 UID_MIN 1000 UID_MAX 60000 

    Инструменты distro используют эти значения, чтобы разделить две группы. Но если вы создали учетную запись пользователя с UID 300, то она, вероятно, не будет отображаться в меню входа в систему, но вы можете использовать эту учетную запись, как и любой другой.

    Если вы действительно хотите разделить пользовательские и системные учетные записи (чтение некоторых комментариев на другие сообщения, похоже, вам это интересно), вы можете оставить всех пользователей системы в базе files (например, / etc / passwd) и поместить людей пользователей во второй базе данных (вроде бы, если вы делали ldap).

    Для этого вы можете использовать модуль Berkeley DB NSS (доступный во многих системах через дополнительный пакет glibc, называемый nss_db ). Я не уверен, какую ОС вы используете, но этот сайт предлагает некоторое представление о Linux: http://www.linuxfromscratch.org/hints/downloads/files/nss_db.txt

    Это не для слабонервных, так как документация не очень богата, но было бы интересно поиграть, если вы хотите узнать больше о том, как работают такие вещи (предложение @Hauke ​​Laging о внедрении собственного отлично).

    Большинство демонов работают от имени root, несколько (по соображениям безопасности, чтобы ограничить их способность к вреду) запускаются как их собственные пользователи. Они перечислены в /etc/passwd . Большинство дистрибутивов ограничивают UID «системного пользователя» некоторым значением, например 500 или 1000, поэтому дает ключ. Некоторые деамоны имеют записи GECOS (описание пользователя), в которых говорится «демон», другие – странные оболочки. Но есть и фантомные пользователи для NFS и других приложений.

    Linux и Unix - лучшая ОС в мире.