So erstellen Sie eingeschränkte Benutzerkonten in Linux

So erstellen Sie eingeschränkte Benutzerkonten in Linux

Ich möchte für jedes der auf meinem Debian-Server installierten Schlüsselprogramme ein Benutzerkonto erstellen. Beispielsweise für die folgenden Programme:

Tomcat Nginx Supervisor PostgreSQL

Dies scheint nach meinen Online-Informationen empfehlenswert zu sein. Ich möchte diese Benutzerkonten jedoch so weit wie möglich einschränken, sodass sie keinen Shell-Login haben, keinen Zugriff auf die anderen Programme haben und so eingeschränkt wie möglich, aber dennoch funktionsfähig sind.

Könnte mir jemand erklären, wie das erreicht werden könnte? Meine bisherige Lektüre lässt Folgendes vermuten:

echo "/usr/sbin/nologin" >> /etc/shells useradd -s /usr/sbin/nologin tomcat

Ich glaube jedoch, dass es einen umfassenderen Weg gibt, dies zu tun.

EDIT: Ich verwende Debian Squeeze

Antwort1

Welche Distribution verwenden Sie? Gute Distributionen haben ihre Installationsskripte für solche Pakete bereits so eingerichtet, dass sie spezifische Benutzer für Daemons erstellen, die von der Ausführung als separater Benutzer profitieren können. Einige Pakete teilen sich einen Benutzer, wenn sie gemeinsam verschiedene Dateien lesen/schreiben müssen. In allen Fällen verwenden sie jedoch nologinin der Regel die Login-Shell, was angemessen ist.

Antwort2

Ich weiß nicht, ob es Ihnen hilft oder nicht, sehen Sie sich einfach das hier an.

Ich möchte diese Benutzerkonten so weit wie möglich einschränken,damit sie keinen Shell-Login haben

Bearbeiten Sie dazu vor dem Erstellen des Benutzerkontos einfach die /etc/default/useraddDatei

Das

  1 # useradd-Standarddatei
  2 GRUPPE=100
  3 HOME=/Zuhause
  4 INAKTIV=-1
  5 ABLAUF=
  6 SHELL=/bin/bash
  7 SKEL=/usw./skel
  8 CREATE_MAIL_SPOOL=ja

Zu diesem

  1 # useradd-Standarddatei
  2 GRUPPE=100
  3 HOME=/Zuhause
  4 INAKTIV=-1
  5 ABLAUF=
  6 SHELL=/bin/nologin
  7 SKEL=/usw./skel
  8 CREATE_MAIL_SPOOL=ja

Nach der Änderung ist es bei der Erstellung eines Benutzerkontos für alle diese Konten nicht mehr möglich, sich am System anzumelden.

Das liegt daran

Benutzer:x:1017:1017::/home/Benutzer:/bin/kein Login-----> /etc/passwd-Dateieintrag

siehe hier

[max@localhost ~]$ su - Benutzer
Passwort:
su: /bin/nologin: Keine solche Datei oder kein solches Verzeichnis
[max@localhost ~]$

Sie können dies erhalten, indem Sie /etc/passwddie Datei direkt bearbeiten. Keine Notwendigkeit, sie zu bearbeiten/etc/default/useradd

Datei, wenn Benutzer weniger sind

ändere einfach die zuletzt abgelegte

Das

Benutzer:x:1017:1017::/home/Benutzer:/bin/bash

Zu diesem

Benutzer:x:1017:1017::/home/Benutzer:/bin/nologin

verwandte Informationen