![]() |
Hi, ihr ich bräuchte mal die Hilfe von einem Linux Freak [img]smile.gif[/img] Und zwar will ich einen User anlegen, der von dem Admin ein Passwort zu gewiesen bekommt, und es alleine aber nicht ändern darf. Soll heißen, der User darf sein Passwort nicht ändern. Geht das? Wenn ja was muss ich machen. |
</font><blockquote>Zitat:</font><hr />Original erstellt von [TB]Lucky: Soll heißen, der User darf sein Passwort nicht ändern. Geht das? Wenn ja was muss ich machen.</font>[/QUOTE]was soll das denn für einen sinn haben? root kann doch sowieso jederzeit die passwörter von jedem ändern... .cruz |
</font><blockquote>Zitat:</font><hr />Original erstellt von [TB]Lucky: und es alleine aber nicht ändern darf. Soll heißen, der User darf sein Passwort nicht ändern. Geht das? Wenn ja was muss ich machen.</font>[/QUOTE]Jupp, kann man machen. Über min_age kannst Du die Anzahl der Tage festlegen bis das Passwort geändert werden darf. siehe http://www.linux-user.de/ausgabe/2002/12/080-zubefehl/ piet |
Ja weiß ich das der root das darf. Ich bin ja der root. Nur will ich halt einen User anlegen, der seine Passwort nicht ändern darf. Ich will muss für ein Programm ein Verzeichniss anlegen, auf das viele User zugriff haben.(Auf der Arbeit). Nur sollen die keine Möglichkeit haben, das Passwort für den User zu ändern. Sonst macht das der eine der andere weiß es nicht etc. Ich als Root darfs aber weiterhin ändern darum gehts. Hat also schon einen Sinn das ganze. |
wie wäre es, wenn du den usern den zugriff auf passwd verbietest? ;) [img]graemlins/teufel3.gif[/img] |
Darauf bin ich auch schon gekommen. Nur wie? :D ich habe im moment keine Idee. [img]tongue.gif[/img] Vielleicht seh ich im moment auch den Wald vor lauter Bäumen nicht. |
im moment keine ideen? *g* ist doch mehr ein dauerzustand *SCNR* denke logisch nach [ist bei deinen 'waldläufen' (wg. der bäume) schwer, aber mach es trotzdem]: es gibt unter unix owner, group und others... wenn der passwd-befehl also den owner root und die group root hat, denn sind alle anderen ..... ;) und wie setzt man rechte unter unix? man chmod dürfte klarheit verschaffen... [img]graemlins/teufel3.gif[/img] |
Also das mit der Gruppe hatte ich schon in betracht gezogen, aber es gibt ja auch noch andere User auf dem Server, die das aber machen dürfen... Das ist es ja was mir so Kopfzerbrechen macht :( |
du hast nicht wirklich gerafft, was ich gemeint habe, gell? [img]graemlins/headbang.gif[/img] wenn der besitzer root ist, und die gruppe root, dann sind alle anderen others... entziehe others die rechte, dann hat keiner, der nicht zu owner oder group passt, die rechte... wenn du sagst, dass bestimmte kreise auf passwd zugreifen dürfen, dann definiere eine neue gruppe... dann mach alle anderen, die zugreifen dürfen, zum mitglied dieser gruppe, und ändere die group von passwd (man chgrp) auf diese neue gruppe... nicht so kompliziert denken... einfach bleiben... [img]graemlins/teufel3.gif[/img] |
ohweia ich bin wirklich nicht gut drauf. Boah ey da hätte ich auch selber drauf kommen können oder? :( [img]graemlins/headbang.gif[/img] [img]graemlins/headbang.gif[/img] |
Das war aber ein komischer Dialog... Anyway, passwd wird doch normalerweise su root ausgeführt, egal wie der User auch immer Rechte hat!? |
nö... sofern der benutzer sein eigenes passwort (was im normalfall zutrifft) kennt, darf er es auch verändern (ohne superuser zu sein)... man kann den zugriff auf das passwort regulieren (wie piet gemeint hat) - das ganze auch über pam steuern (wäre für lucky zu kompliziert)... oder den "others" ganz einfach die rechte für passwd entziehen (und explizit eine gruppe einrichten für die, die dann doch ihr passwort ändern dürfen)... der dialog oben hatte eigentlich den sinn, das lucky seine grauen zellen anstrengen sollte - das sollte man von einem angehenden fachinformatiker schon erwarten können... [img]graemlins/teufel3.gif[/img] |
</font><blockquote>Zitat:</font><hr />Original erstellt von n_dot_force: man kann den zugriff auf das passwort regulieren (wie piet gemeint hat) - das ganze auch über pam steuern (wäre für lucky zu kompliziert)... </font>[/QUOTE]Sag sowas nie. :D Hast du dafür eine Anleitung? </font><blockquote>Zitat:</font><hr /> [...]der dialog oben hatte eigentlich den sinn, das lucky seine grauen zellen anstrengen sollte - das sollte man von einem angehenden fachinformatiker schon erwarten können... </font>[/QUOTE]Normalerweise bin ich ja auch nicht halb krank. Schnupfen und hatte bis vor ein paar Tagen leiche Halsschmerzen. Von daher wäre ich selber auch drauf gekommen. Das mit den Rechten entziehen habe ich ja schon vorher gemacht. :( [img]graemlins/headbang.gif[/img] |
</font><blockquote>Zitat:</font><hr />Original erstellt von n_dot_force: nö... sofern der benutzer sein eigenes passwort (was im normalfall zutrifft) kennt, darf er es auch verändern (ohne superuser zu sein)...</font>[/QUOTE]So? </font><blockquote>Zitat:</font><hr />...Die passwd-Datei soll eigentlich für niemanden beschreibbar sein. Allerdings möchte man jedem Benutzer zugestehen mit Hilfe des passwd-Kommandos sein Paßwort zu verändern. Also setzt root das set-uid-Bit. Jeder der nun das Programm passwd aufruft bekommt temporär Root-Rechte und kann nun die /etc/passwd schreiben. Gesetz wird das Bit durch: # chmod +s Datei</font>[/QUOTE] |
Hi, Das was Du zitierst wird beim anlegen eines Users mit erledigt. Es muß also nicht erst der Admin (root) hinzugezogen werden. Macht ja im Privatgebrauch auch Sinn. Kannst es ja mal ausprobieren bei Deiner Distribution ob Du als User Dein Passwort ändern darfst. Bei produktiven Systemen ist das natürlich etwas anderes. Da sollten dann die Zugriffsrechte schon explizit für die jeweiligen Programme, Dienste vergeben werden. z.B. chmod -c 0700 /etc/passwd setzt die Rechte so, dass nur root lesen, schreiben und ausführen darf. Alle anderen dürfen nix. :) piet PS:Kannst Du mal bitte die Quelle Deines Zitates mit angeben. |
@bo: es ist ein feiner unterschied zwischen su root und dem setzen des suid-bits... für ersteres ist das root-passwort erforderlich (das ausser lucky ja keiner haben sollte) wenn man das suid-bit entfernt, dann kann _keiner_ ausser root mehr passwd benutzen (das will lucky ja auch nicht) also bleibt nur der mittelweg über die zugriffsrechte (ohne antastung des suid)... oder (sofern es funktioniert) der konfigurierung von pam... lt. tecchannel sollte das suid-bit auch unangetastet bleiben: </font><blockquote>Zitat:</font><hr />... Daher sollten Sie nur bei den notwendigsten Dateien das SUID-root-Flag gesetzt lassen. Dazu zählen neben passwd, ping, traceroute und su gegebenenfalls Xwrapper für X11 sowie einige Files aus der KDE-Suite. ...</font>[/QUOTE](quelle: tecchannel) @lucky: du willst einen link zu einer pam-'anleitung'? ok [img]smile.gif[/img] http://www.tecchannel.de/betriebssysteme/720/8.html pam wäre eine erweiterte möglichkeit zu piet's vorschlag (komplexer, aber auch eleganter)... folgendes wäre denkbar (hab das aber nicht selbst probiert): man kann mit pam dienste zeitbegrenzen und diese begrenzung auf einzelne user explizieren... siehe dazu hier: http://www.kernel.org/pub/linux/libs...-6.html#ss6.25 wenn du jetzt das time-modul startest, und deine regel (/etc/security/time.conf) so aussieht: passwd ; tty* & ttyp* ; accountname ; !Al0000-2400 dann sollte es auch den gewünschten erfolg bringen (kein zugriff für accountname auf passwd über die terminals tty* und ttyp* an allen wochentagen von 0 bis 24 uhr)... gegebenfalls musst du - sofern du noch andere terminal-verbindungsarten hast - diese im 2. feld hinzufügen... wie schon erwähnt: pam ist die elegante methode! @piet: wie oben schon von bo erwähnt: es stimmt... nimmst du das suid-bit von passwd, dann kann _kein_ zugriff (ausser vom root) auf passwd mehr erfolgen... da lucky das aber ja nicht generell haben will, liegt die lösung IMO in den zugriffsrechten oder (sofern es funktioniert) bei pam... da ich grad kde3.1 final kompiliere, kann ich das mit pam nicht verifizieren (aber theoretisch müsste es funktionieren)... [edit] text für lucky (im @lucky-teil) um 1-2 sätze erweitert... [/edit] [img]graemlins/teufel3.gif[/img] [ 28. Januar 2003, 15:24: Beitrag editiert von: n_dot_force ] |
Also das mit dem PAM_Time habe ich verstanden. Nur noch nicht, wie das nun aktiviert wird. :( Muss ich einen Service neustarten? Denn im momemnt dürfen die User immer noch das Passwort ändern :( Hmm ich denke, ich weiß das Prob nun... Ich geh über Putty drauf, dadurch greif ich doch nicht auf die Standart Konsolen oder? Hilfe da hab ich das einzigste Problem noch.. [img]smile.gif[/img] [ 05. Februar 2003, 12:08: Beitrag editiert von: [TB]Lucky ] |
@lucky: (1) pam muss installiert sein (wenn du das mit pam machen willst)... und wenn pam installiert ist, dann muss mal das (2) login muss über pam laufen (siehe den tecchannel-link)... und wenn das funktioniert, dann musst du (3) das zeitsteuerungsmodul installieren (erklärt durch den 2. link, der auf die pam-anleitung verweist)... und nachdem es installiert wurde, muss das (4) zeitsteuerungsmodul auch noch konfiguriert werden (von selber geht da nix)... als administrator solltest du eigentlich wissen, über welche terminals die user einsteigen (und wenn du dir über die bezeichnungen nicht im klaren bist, dann log dich remote ein, und schau dann mittels ps -aux in die prozessliste - dort ist der zugang dann auch aufgelistet ;) ) - und statt der terminal-nr. halt einen joker (= *) setzen... und wenn du mehrere terminalarten sperren willst, dann halt mit && verbinden (im link wurden z.b. 2 terminal-arten, tty und ttyp, gesperrt... es gibt aber noch mehr terminal-arten ;) )... [img]graemlins/teufel3.gif[/img] wie gesagt: es ist der eleganteste weg, aber nicht der einfachste... [img]graemlins/teufel3.gif[/img] |
argh... Zugang kenn ich ja... allerhöchstens Putty. Naja werde ich wohl ein * setzen... |
</font><blockquote>Zitat:</font><hr />Original erstellt von [TB]Lucky: argh... Zugang kenn ich ja... allerhöchstens Putty. Naja werde ich wohl ein * setzen...</font>[/QUOTE]der joker gilt nur für die nr. - nicht den namen! sagmal, wieso willst du alles so kompliziert machen? (btw: putty ist nur terminal-emulation, _keine_ zugangsart!) benutz ps -aux, und schau nach, welches terminal der putty-user hat (egal ob du dich als root oder user einloggst) beispiele für tty-geräte: tty0-tty7 ... virtuelle konsolen pty* ... pseudo-terminals (z.b. xterm-fenster) ttyS* ... serielle schnittstellen teste am server, ob du dich mit mit einem 2. terminal als user einloggen kannst, und ob dort pam mit dem zeitmodul funktioniert... wenn ja: dann hast du (für putty) ein falsches terminal erwischt, und musst hier korrigieren... wenn nein: dann hast du pam und/oder das zeitmodul für pam nicht richtig installiert und/oder konfiguriert... ich sagte doch schon... klingt einfach - ist es aber nicht! (pam ist aber die eleganteste methode!) wenn du damit überfordert bist, dann mach das mit den gruppen (es gibt viele wege nach rom)... später kannst du das ja noch verfeinern... ;) [img]graemlins/teufel3.gif[/img] |
Jo an Putty liegt es nicht. :( Muss wohl daran liegen, das es leider noch nicht richtig installiert ist. Werd ich wohl mal den Kollegen anlabbern, wenn der aus der Schule wieder kommt. :/ |
welche distro? im falle von gentoo: bei mir sind pam und pam-login installiert, und in den use-flags ist u.a. auch pam eintragen (/etc/make.conf) eventuell solltest du dann noch emerge -u --deep world durchführen... --deep ist ein spezialparameter, um die abhängigkeiten der abhängigkeiten zu überprüfen... [img]graemlins/teufel3.gif[/img] |
Ich meine Red Hat. |
</font><blockquote>Zitat:</font><hr />Original erstellt von [TB]Lucky: Ich meine Red Hat.</font>[/QUOTE]selber schuld... *SCNR* aber genug der scherze... AFAIK ist bei redhat pam von haus aus mitinstalliert... hast du in /etc/security/time.conf die von mir gepostete zeile so eingetragen (1:1) - mit ausnahme des accountnamens, den du auf den gewünschten accountnamen änderst... ? </font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">passwd ; tty* & ttyp* ; accountname ; !Al0000-2400</pre>[/QUOTE]hast du dann auch /etc/pam.d/login mitgeteilt, dass du das zeitmodul für's login verwenden willst? </font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"># # apply pam_time accounting to login requests # login account required pam_time.so</pre>[/QUOTE][img]graemlins/teufel3.gif[/img] |
hmm also eingetragen ja.. aber ich seh gerade das ich einen Fehler gemacht habe.... Ich habe anstelle von login was anderes eingegeben. :( naja muss ich morgen direkt mal testen. [ 05. Februar 2003, 19:36: Beitrag editiert von: [TB]Lucky ] |
Ich bin so blöd. :( Boah ich habe vergessen, das ich die ja nur Zugriff auf ein freigegebenes Samba Verzeichniss brauchen. [img]graemlins/kloppen.gif[/img] [img]graemlins/kloppen.gif[/img] Also denen direkt den ganzen Zugriff über die Konsole verboten fertig. [img]smile.gif[/img] Aber mal davon abgesehen. Das mit PAM_TIME ging sogar. Aber komischerweise nur über direkten Zugriff am Server. *wunder* Naja was solls... Ein gaaaaaaaaaaaaanz grosses danke schön an euch vor allem n.force. Vor allem dafür, das ihr immer noch nicht an mir verzweifelt seid. :rolleyes: |
die ausgangslage ist dann ja komplett anderes... dann hättest sowieso nichts verändern brauchen, ausser die standardshell des 'spezialusers' in der passwd in z.b. /bin/false zu ändern das pam_time nur direkt am server selbst funktioniert hat liegt daran, dass du es nicht richtig konfiguriert hast (mittels erweiterung des von mir geposteten zeile für /etc/security/time.conf um weitere terminal-arten... wie schon gepostet: die prozessliste hätte dir - bei benutzung über putty - genau gesagt, wie du eingeloggt bist, und diese terminal-art hättest mitsperren sollen... ;) ) btw: das von dir gewünschte ergebnis (das nicht einloggen des 'spezialusers') erzielst du auch mit pam_time... dazu muss die /etc/security/time.conf statt mit passwd ; ... mit login ; ... beginnen... ;) wie schon angedeutet: viele wege führen nach rom... *g* [edit] btw: hab grad über nachgesehen... wenn du dich remote einloggst, dann benutzt er das terminal pts0, d.h. pts* wäre mal ein versuch wert gewesen (und/oder pty*, den beide geräte existieren)... ps -aux und ein kurzer blick ins /dev-verzeichnis kann oft hilfreich sein... *dg* [/edit] [img]graemlins/teufel3.gif[/img] [ 06. Februar 2003, 11:07: Beitrag editiert von: n_dot_force ] |
Das mit passwd wollte ich schon als erstes machen. War schon richtig. Das mit Login habe ich mir dann gedacht, als ich an das Samba Verzeichniss gedacht hatte. [img]graemlins/headbang.gif[/img] Naja nun läufts ja wie gewollt. Jo ich habe anstelle /bin/false auf /sbin/nologin geschrieben... dadürch schliesst sich der Putty direkt [img]tongue.gif[/img] (Was ich übrigens geil finde.) |
dir ist aber schon klar, das im gegensatz von /bin/false 'dein' /bin/nologin nicht als programm existiert... das ergebnis ist bei beiden das gleiche (der ausstieg von putty), nur: dadurch, das 'nologin' nicht existiert, könnten probleme beim mitloggen auftauchen... empfehlung: ändere die standardshell auf /bin/false - im eigenen interesse... [img]graemlins/teufel3.gif[/img] |
hmm nee war mir nicht klar... Okay habe ich geändert. Thx für den Hinweis. [img]smile.gif[/img] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr. |
Copyright ©2000-2025, Trojaner-Board