Default-umask für Benutzer

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Default-umask für Benutzer

Beitrag von bbastix » 18.02.2005 12:13:24

Hallo.

Wie kann ich denn einem Benutzer eine umask von 007 verpassen? Ich hab die /etc/login.defs angepasst, ebenso die /etc/profile und die .bash_profile des Benutzers. Aber seine umask ist und bleibt auf 022, auch wenn ich ihn neu anmelde.

Wo muss ich die denn noch umstellen?

Basti

Debian Sarge

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 18.02.2005 12:28:07

...in die /et/passwd hab ich auch umask=007 gesetzt, aber irgendwo wird die entweder wieder au 022 zurückgesetzt oder das 007 wird an all den Stellen, die mir genannt wurden ignoriert.

Argh!

Basti

Benutzeravatar
Maikel
Beiträge: 1267
Registriert: 13.04.2004 15:39:25
Wohnort: Gelsenkirchen
Kontaktdaten:

Beitrag von Maikel » 18.02.2005 12:41:13

Guck mal in

Code: Alles auswählen

/etc/skel/.bash_profil
bzw direkt in

Code: Alles auswählen

/etc/login.defs
.
Dahin wird ja für den default-Wert verwiesen.
Cheers, Maikel
------------
BGLUG
------------
Linus Torvalds:
"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)"

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 18.02.2005 13:30:50

Hab ich ja angepasst.

Benutzeravatar
Maikel
Beiträge: 1267
Registriert: 13.04.2004 15:39:25
Wohnort: Gelsenkirchen
Kontaktdaten:

Beitrag von Maikel » 18.02.2005 14:57:19

Und wenn du nun ne neue Datei erstellst passt das nicht?
Cheers, Maikel
------------
BGLUG
------------
Linus Torvalds:
"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)"

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 19.02.2005 02:37:44

Nein, er setzt die Rechte dann auf rwx-r-r, ganz gleich, ob ich den Benutzer neu angemeldet habe oder gar einen neuen Benutzer angelegt habe, den Rechner neu gestartet habe oder einen Kopfstand gemacht habe. Woran könnte das liegen? Wie kann ich die "Fehlerquelle" eingrenzen?

Basti

Benutzeravatar
Maikel
Beiträge: 1267
Registriert: 13.04.2004 15:39:25
Wohnort: Gelsenkirchen
Kontaktdaten:

Beitrag von Maikel » 19.02.2005 09:03:55

Maikel hat geschrieben:Und wenn du nun ne neue Datei erstellst passt das nicht?
IMHO greift das nur auf neu erstellt Datein.
Cheers, Maikel
------------
BGLUG
------------
Linus Torvalds:
"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)"

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 19.02.2005 20:21:20

Maikel hat geschrieben:
Maikel hat geschrieben:Und wenn du nun ne neue Datei erstellst passt das nicht?
IMHO greift das nur auf neu erstellt Datein.
Ja, sollte es zumindest - tut es aber nicht. Sch*** - ich hab einfach Sarge per Netinstall-CD und ein paar Office-Programme installiert!

Hat denn niemand mal das gleiche Problem gehabt oder gibts eine andere Möglichkeit, ein Gruppenverzeicnis anzulegen, auf das dann alle Gruppenmitglieder frei Zugreifen können?

Basti

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 19.02.2005 22:28:26

Ich habe jetzt die /etc/profiles geändert und eine neue Datei in /etc/X11/Xsession.d/99umask angelegt, in beide ein "umask 0007" eingetragen und es funktioniert bei mir.
Es gibt allerdings auch Ausnahmen, z.B. Nautilus kocht anscheinend ein eigenes Süppchen. letztendlich ist die umask ja auch nur ein Vorschlag (default Wert). Die Rechte vergibt im Endeffekt das Programm, welches die Datei erstellt.

[edit]
Die Datei /etc/X11/Xsession.d/99umask muß mit Leserechten für alle ausgestattet sein.
[/edit]

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 21.02.2005 02:26:49

Ja, jetzt funktioniert es. Herzlichen Dank! Ich hatte wohl fahrlässigerweise je die führende 0 weggelassen, da einmal 022 ohne 0 davor vorgeschlagen wurde und ich mir dachte: Oktal 07 ist das gleiche, wie 007, aber offenbar wurde da die Zeichenkette, nicht die Oktalzahl ausgewertet.

Jetzt wäre natürlich noch ein kleines Shell-Skript schön, welches bei jedem Login aufgerufen wird und die Rechte der Gruppen-Verzeichnisse nochmal "nachrückt", falls da doch irgendwie was schief gegangen ist.

Vielen Dank.
Basti

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 22.02.2005 03:33:34

Das hier:

Code: Alles auswählen

find / -type d -uid UID ! -perm 770 -exec chmod 770 {} \;
sollte helfen, wobei UID durch die uid des entsprechenden benutzers zu ersetzen ist und man noch zusätzliche einstellungen vornehmen kann (z.B. auf bestimmte verzeichnisse begrenzen, da eine Suche ab / relativ zeitintensiv ist.

MfG; Fenta

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 22.02.2005 21:43:24

Hi.

Es gibt ein Verzeichnis /home/groups. Darin liegt für jede Arbeitsgruppe je ein Unterverzeichnis mit dem Namen der Gruppe. Ich dachte daher sowas in der Art:

# Schleife durch jeden Eintrag in /home/groups -> Eintrag nach $GROUP
chgrp -R $GROUP /home/groups/$GROUP
chmod -R 770 /home/groups/$GROUP
# Ende der Schleife

Allerdings hab ich reichlich wenig Plan von der Bash-Programmierung. Vielleicht könnt ihr mir helfen. Vor allem auch, wo ich das Skript dann einbinde, das es beim Login ausgrführt wird.

Basti

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 22.02.2005 21:54:36

Das Script

Code: Alles auswählen

#!/bin/sh
for dir in /home/group/*; do 
  [ -d "$dir" ] || continue
  group=`basename "$dir"`
  echo chgrp -R "$group" "$dir"
  chmod -R 770 "$dir"
 done
Willst du das Script wirklich bei jedem Login aufrufen ? Genügt nicht ein Cronjob ?

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 22.02.2005 22:56:27

Wow! Danke! Rasselt die Schleife nicht in die Einträge "." und ".." rein?
gms hat geschrieben:Willst du das Script wirklich bei jedem Login aufrufen ? Genügt nicht ein Cronjob ?
Es wäre gut, wirklich bei jedem Einloggen die Rechte einzustellen. Viele Daten weden das nicht sein, so dass die Verzögerung wahrscheinlich unmerklich wäre. Die Ausgabe werde ich rausnehmen.

Wo binde ich das Skript dann ein? In den .bashrc?

Basti

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 22.02.2005 23:07:50

bbastix hat geschrieben:Rasselt die Schleife nicht in die Einträge "." und ".." rein?
nein
bbastix hat geschrieben: Wo binde ich das Skript dann ein? In den .bashrc?
Direkt in der .bashrc wirst du Probleme mit den Rechten bekommen, das Script sollte schon als root ausgeführt werden.
Wenn du also darauf bestehtst, daß das bei jedem Login aufgerufen werden soll, würde ich dir einmal empfehlen dieses Script irgendwo abzulegen (nur für root ausführbar und schreibbar). Danach über sudo, allen deinen Gruppenmitgliedern die Ausführung dieses Scripts gestatten und dann das Kommando "sudo <scriptname>" irgendwo (/etc/profile,...) einzubinden.

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 22.02.2005 23:27:03

An sudo hatte ich auch gedacht, aber letzlich kann ich doch auch einfach das SUID-Bit setzen oder übersehe ich da was? Es werden ja keine Parameter übergeben und das Skript kann von mir aus so oft laufen, wie es will.

> und dann das Kommando "sudo <scriptname>" irgendwo (/etc/profile,...) einzubinden.

"irgendwo" is doof! *g*
Ich gehe davon aus, dass sich die Benutzer nur über KDM nach KDE einloggen - wäre also auch Möglich einen Link nach ~/.kde/Autostart zu legen. Anders wäre es mir aber natürlich lieber.

Basti

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 23.02.2005 01:15:52

Am einfachsten und ungefährlichsten ist es, das script via cron auszuführen. Sowohl sudo als auch setuid bieten potentielle Angriffsmöglichkeiten. Ich verstehe auch immernoch nicht, warum bei jedem login die Rechte neu gesetzt werden müssen. Erstens kann man das ausnutzen (flooding, je nachdem wie umfangreich deine Verzeichnishierarchie ist) und zweitens sollte eine kontrolle pro 15 min doch eigentlich schicken, oder? ;)

Du kannst es zwar in die /etc/profile eintragen, hilft aber nichts, da es mit den rechten des einloggenden benutzers ausgeführt werden wird. Gleiches gilt natürlich auch für deine kde-Methode.

MfG; Fenta

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 23.02.2005 02:44:38

Hi.

> Sowohl sudo als auch setuid bieten potentielle Angriffsmöglichkeiten.

Ich kenn mich mit der Shell-Programmierung eben ganicht aus. Sag doch mal, wie das abgedruckte Skript mit setuid-Bit für einem Angriff benutzt werden könnte. Links werden doch so nicht verfolgt, oder?

> Ich verstehe auch immernoch nicht, warum bei jedem login die Rechte neu gesetzt werden
> müssen. Erstens kann man das ausnutzen (flooding, je nachdem wie umfangreich deine
> Verzeichnishierarchie ist) und zweitens sollte eine kontrolle pro 15 min doch eigentlich
> schicken, oder?

Wahrscheinlich wird es nur ein solches Gruppenverzeichnis und vielleicht zwei, drei Benutzer geben, die sich - vorm Rechner sitzend - einloggen und so sicherlich kein Interesse haben, das System heiß laufen zu lassen - was sie in dem Fall mit einer fork-bomb auch etwas effektiver angehen könnten, oder lieg ich da falsch?

Der Grund bzw. die Idee ist einfach, dass da absolte Linux-Neulinge vorm Rechner hocken. Die Gefahr, dass jemand also die Gruppe ener Dateiändert ist ohnehin eigentlich kaum da. Nur wenn doch, dann hab ichkeinen Bock drauf, dass sich jemand anmeldet ud eine Datei nicht lesen kann, sich dann wundert und das mit dem Kollegen bespricht und 10 Minuten später gehts dann plötzlich - wie von Zauberhand. Da ist es doch allemal eleganter, das einfach beim einloggen zu erledigen, denn das Problem tritt ja frühestens auf, wenn sih jemand anderes einloggt als der, der es verursacht hat.

Dagegen würde natürlich sprechen, was immer es da an Sicherheitsproblemen geben könnte. Ich bin allerdings kein Freund von "setuid ist Böse", wenn es tatsächlich keine Angriffsmöglichkeit gibt. Aber da schau ich einfach nicht tief genug rein.

Freu mich also über weitere Beiträge - und, vielen Dank - macht echt Spaß hier...

Basti

lochkarte
Beiträge: 190
Registriert: 08.12.2004 11:43:44

Beitrag von lochkarte » 23.02.2005 10:40:28

bbastix hat geschrieben:Sag doch mal, wie das abgedruckte Skript mit setuid-Bit für einem Angriff benutzt werden könnte.
Bei einem Script bewirkt das setuid-bit genau gar nichts.

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 23.02.2005 10:52:26

Jetzt bin ich verwirrt... 8O

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.02.2005 11:48:31

naja, das Programm das ausgeführt wird ist ja die Shell und nicht das Script, dieses wird ja nur gelesen und interpretiert. Du müßtest also der Bash das setuid-bit zukommen lassen :wink:

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 23.02.2005 11:48:36

lochkarte hat geschrieben:
bbastix hat geschrieben:Sag doch mal, wie das abgedruckte Skript mit setuid-Bit für einem Angriff benutzt werden könnte.
Bei einem Script bewirkt das setuid-bit genau gar nichts.
Ups, peinlich ;)
Ja du hast recht, hatte das garnicht bedacht.

@bbastix: Dann nimm normalen Usern doch das Recht an chgrp, wenn sie die gruppen eh nicht ändern sollen.

MfG, Fenta

bbastix
Beiträge: 233
Registriert: 24.06.2003 15:56:58
Wohnort: Kassel

Beitrag von bbastix » 23.02.2005 12:23:58

...dann macht sudo <Skriptname> auch keinen Sinn, oder? Es müsste dann sudo sh <skriptname> oder heißen, oder?

> Dann nimm normalen Usern doch das Recht an chgrp, wenn sie die gruppen eh nicht
> ändern sollen.

Ich hab grad mal chown und chgrp auf 750 geändert, konnte dann aber dennoch im Konqueror per Mouseklick die Guppe ändern. Hab ich was übersehen?

Basti

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.02.2005 12:29:40

bbastix hat geschrieben:...dann macht sudo <Skriptname> auch keinen Sinn, oder? Es müsste dann sudo sh <skriptname> oder heißen, oder?
doch sudo macht Sinn, das Script wird im entsprechendem Environment gestartet. Verwende aber "sudo <scriptname"

bbastix hat geschrieben: Ich hab grad mal chown und chgrp auf 750 geändert, konnte dann aber dennoch im Konqueror per Mouseklick die Guppe ändern. Hab ich was übersehen?
Nein, das war einfach keine schlaue Idee, gibt ja auch Systemcall's

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 23.02.2005 12:54:00

Also ich hab damit bislang keine Probleme, hab hier aber ehrlichgesagt auch alles sehr restriktiv.

edit: muss leider zugeben, dass man mit bestimmten Usern doch Zugriff hat (bislang nicht ausgiebig getestet). Vielleicht hat ja jemand einen besseren Vorschlag, um das ändern von Gruppen für normale User zu unterbinden...

MfG; Fenta

Antworten