удалить учетную запись пользователя системы, если демон больше не нужен?

В необычном сценарии я должен избавиться от конкретной учетной записи пользователя системы под названием «lp» (дешифрование печати строк) в системе openSUSE.

Могу ли я просто прокомментировать строку для этой учетной записи в /etc/passwd не запускаясь в непоследовательное состояние системы?

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

У кого-нибудь еще был опыт удаления системных учетных записей?

  • Разрешение доступа на запись к подключенному к SMB диску
  • Не удается создать samba 4 share, который принимает учетные данные домена
  • Доля Samba открыта для всех
  • Samba NT_STATUS_NO_TRUST_SAM_ACCOUNT
  • Как использовать URL-адрес SMB с user / userid, который содержит символ @?
  • Инструкции Samba работают на CentOS 6.5, но не CentOS 6.3 - разрешения в Windows разные
  • Пароли Samba истекают через x дней - как мы их исправим, чтобы не истечь
  • Выполнить .exe на долю samba
  • 4 Solutions collect form web for “удалить учетную запись пользователя системы, если демон больше не нужен?”

    Я бы быстро find в системе, чтобы увидеть, есть ли файлы, которые принадлежат этому пользователю, lp ранее.

     $ find -user lp 

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

     $ rpm -qf /path/to/file/find/found 

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

    Если пакеты не найдены, эта учетная запись может быть удалена из /etc/passwd , /etc/shadow , & /etc/group . Вы проверили, нет ли в аккаунте каких-либо связанных групп?

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

     $ id lp uid=4(lp) gid=7(lp) groups=7(lp) 

    Более простым способом удаления пользователя будет использование одной из встроенных команд. Обычно они представляют собой команду: userdel <username> .

    Например:

      $ sudo userdel lp 

    Путь вперед

    Комментарий ниже от OP (@MasterofCelebration):

    Ну, я нашел некоторые пакеты, относящиеся к основным функциям (например, ghostscript, файловая система), которые мне не обязательно удалять. Поэтому я подумал об изменении имени учетной записи и добавлении новой учетной записи для желаемого пользователя (оставив UID системной учетной записи его новое имя, например «lprint»). Теперь сложная часть состоит в том, что я не знаю, что на самом деле произойдет с домашним каталогом нового пользователя, используемым, например, «приложением для печати» или другим распространенным материалом, хотя мне это совсем не нужно (мне даже не нужен дом каталог нового пользователя, это только для целей SAMBA).

    Я бы оставил любые пакеты, которые идентифицируются как связанные с пользователем lp .

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

    Вот что я сделал бы:

    1. Я оставил бы старый UID один для lp . Измените его имя от lp до lpold .
    2. Создайте новую учетную запись с новым UID и идите вперед и назовите ее lp .
    3. Сделайте поиск lp в каталоге /etc и посмотрите, можете ли вы идентифицировать любые файлы конфигурации, которые явно вызывают lp , если вы их найдете, измените их на lpold .

    Выполняя это так, вам не придется прикасаться к файлам на диске, они автоматически lpold как принадлежащие lpold . Также он позволит вам lpold файлы на диске lpold и новый lp .

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

    Комментирование учетной записи в /etc/passwd и /etc/shadow приведет к эффективному удалению пользователя. То же самое для /etc/group и /etc/gshadow .

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

    Во всяком случае, я бы этого не сделал. Что делать, если вам нужно установить CUPS? Вы сделаете свой пользовательский администратор CUPS? Подумайте, что ваши сценарии распространения в пакетах могут работать с именем lp : например, служба может разрешить lp иметь права на чтение / запись некоторых файлов (почему? Я не знаю, но это может произойти).

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

    Я бы не стал, особенно не для одной из традиционных учетных записей с низким номером, например, lp . Если вы когда-нибудь захотите добавить поддержку принтера – например, CUPS – у вас возникнут проблемы … и помните, что CUPS вполне может быть зависимой от пакетов, которые вы будете устанавливать в будущем. Даже если вы не устанавливаете что-то вроде CUPS, в течение десятилетий lp был стандартным пользователем (в Unix-системах), поэтому пакеты могут зависеть от него, и в любом случае могут быть части системы, которые его используют. Также пользователь / группа lp могут принадлежать группам по умолчанию и / или собственным файлам, каталогам и устройствам.

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

    Я думаю, вы можете просто сделать резервную копию /etc/passwd и /etc/shadow и запустить userdel … Я не знаю SUSE (сам использую Ubuntu и Debian), но я не думаю, что вы столкнетесь с проблемами ,

    Кстати, не можете ли вы использовать pdbedit или smbpasswd чтобы дать вашему самбе другому пользователю lp? Действительно ли система конфликтует?

    Interesting Posts

    Как установить SyslogIdentifier в разделе в файле службы systemd как пустой?

    Лучшая практика для скрытия виртуальной консоли при рендеринге видео в framebuffer

    Как узнать, какие учетные записи, связанные с ssh, запущены

    Почему я должен запускать alsactl init каждый раз, когда я загружаю свою систему?

    файловая система не смонтирована, она не установлена

    OSX: Grammarian не удалит

    Сделать пакет debian для установки python

    Значения странного значения cpu, сообщенные pidstat

    Где заданы предпочтения шрифтов по умолчанию в современном рабочем столе Unix (которые влияют на выбор шрифта нестандартным Emacs 24)?

    После исследования, все еще запутавшись в мониторинге использования ОЗУ

    Почему `cat`ing файл в себя стирает его?

    Использование awk для идентификации числа одинаковых столбцов

    Как изменить список менеджеров окон, которые отображаются в Gnome Login?

    Сделайте вывод bash! = 0, вызванный AWK и прерванный с помощью ^ C

    Организация одного сценария с помощью другого

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