PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SELinux - Zugriffsberechtigungen



Battleplayer
14.09.07, 07:59
Hi,

Ich habe eine Problem mit SELinux.
Ich habe auf meinem System ein Debian mit SELinux installiert.
Ich arbeite in der Targeted Policy und würde gerne einem Benutzer z.B. appache_admin das Recht geben den Appache Dienst zu starten und zu stoppen.
Wenn ich aber die rolle zu sysadm_r wechel oder/und zu dem Typen httpd_t geht das Beenden des dienstes immer noch nicht.
Ich habe aber gelesen das es möglich ist z.B. einen User für den Appache dienst zu erstellen, einen für Squid,.......
Ich wüsste gerne wie man das macht?
Ich wäre euch sehr dankbar ihr mir helfen könntet


Mit freundlichen Grüßen
Björn

zyrusthc
15.09.07, 01:22
Willkommen im Forum.

Dein Post ist schlecht verständlich!

Ich kenne zwar SELinux nicht, aber generell wird beim installieren einen Webservers ein Benutzer mit angelegt
"meist www-run,www-data,httpd,apache" unter dem der Prozess dann laufen soll!
Benutzer können auf Linuxsystemen mit Kommando useradd erstellt werden.
Um Benutzern Sonderrechte zu geben, benötigst du sudo (http://de.linwiki.org/index.php/Linuxfibel_-_System-Administration_-_Nutzerverwaltung#Sonderrechte_f.C3.BCr_einen_Benu tzer)!

Beschreibe genau was du wie gemacht hast, dann kann man dir eventuell helfen!

PS: Das Thema wäre besser in "Linux als Server" aufgehoben.


Greeez Oli

Thorashh
15.09.07, 08:26
Du vergisst, das neben selinux auch noch die normalen Linux-Zugriffsrechte beachtet werden müssen.
Um den Apache starten zu können, sind zwingend root-Rechte erforderlich.

Am einfachsten ist das mit sudo zu lösen.

Battleplayer
17.09.07, 07:07
Erst einmal Danke für eure Antworten.
Da es bei SELinux um ein Sicherheitsrelevantes Thema geht habe ich es in diesen Bereich geschrieben (SELinux baut auf dem DAC-System auf und implementiert ein MAC-System).
Das anlegen von Benutzern macht mir kein Problem.
Bsp:
useradd testuser
groupadd -g testgroup testuser
passwd testuser
******
******

Ich weise dann den Benuter eine Role zu (mit newrole) z.B. httpd_r und einen Typen sysadm_t und hoffe nun darauf mit diesem Benuter (anstatt mit dem Admin da keine Pw weitergabe mehr stattfinden soll (Sicherheitsrisiko)) den httpd Dienst administrieren zu können.

Problem: Es funktioniert nicht!
Kann es daran liegen das sowas nur in der Strict Policy funktioniert?
Mache ich etwas Falsch (weil ich irgendwas Falsch verstanden habe)?

PS: Ich habe schon viele Tage mit googlen verbracht und jetzt versuche ich einfach euer Know how zu testen ;)

Mit freundlichen Grüßen
Björn

fuffy
17.09.07, 07:31
Hi!


Ich weise dann den Benuter eine Role zu (mit newrole) z.B. httpd_r und einen Typen sysadm_t und hoffe nun darauf mit diesem Benuter (anstatt mit dem Admin da keine Pw weitergabe mehr stattfinden soll (Sicherheitsrisiko)) den httpd Dienst administrieren zu können.
Wie Thorashh schon gesagt hat: Der Apache muss mit dem Benutzer root gestartet werden, da er anderenfalls nicht an Port 80 lauschen kann. Port 80 gehört nämlich zu den "well-known ports".
Du musst das mittels sudo lösen.

Gruß
fuffy

Battleplayer
19.09.07, 11:03
Ziel bei SELinux ist es doch, das befehle wie sudo nicht mehr gebraucht werden, da diese viel zu mächtig sind und eine weitergabe des root kennworts bedeuten.

Ich habe jetzt ein anderes Problem entdeckt

Wenn ich ein Benuter erstellt habe z.B. test und diesen dann mit
semanage user -a -R `staff_r sysadm_r' -P user testuser_u
semanage login -a -s testuser_u test

Wenn ich mich mit diesem Benuter jetzt aber anmelde ist er nicht testuser_u:sysadm_r:unconfined_t sondern user_u:system_r:unconfined.

Überprüft habe ich schon alles mit
semanage login -l
semanage user -l

Kann mir jemand bei diesem Problem vielleicht helfen?