/etc/passwd dauerhaft ändern

Status
Für weitere Antworten geschlossen.

brichun

Benutzer
Mitglied seit
26. Dez 2015
Beiträge
37
Punkte für Reaktionen
0
Punkte
6
Hi,

ich möchte die passwd dauerhaft ändern. Der Grund dafür ist folgender, seit dem update von DSM 5 auf DSM 6 lässt sich mein JD2 script weder nach systemneustart noch manuell über terminal erfolgreich starten.

Der nohup.out log steht, dass für den user JD2 "/sbin/nologin" file or directory dose not exist. Nach langem hin und her hab ich mir die /etc/passwd angesehen. Dort ist als shell pfad für den JD2 user "/sbin/nologin" gelistet. Wenn ich den pfad in "/bin/sh" änder funktioniert das Starten. Doch nach einem Systemneustart stehen da wieder die alten Werte "/sbin/nologin" drin und mein JD2 ist immer noch im Ruhezustand

Wie kann ich den Pfad dauerhaft ändern?
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Also wenn ich die Datei per vi bearbeite, bleibt die auch so bestehen.
Auch nach einem neustart.
 

brichun

Benutzer
Mitglied seit
26. Dez 2015
Beiträge
37
Punkte für Reaktionen
0
Punkte
6
Hi psycho,

danke für deinen versuch. Habs soeben erneut erfolglos ausprobiert.

1)passwd geändert
2)jd2 start script ausgeführt
3)testweise noch was geladen
4)DS neustart
5)passwd geprüft -> wieder der selbe zustand, wie vor der änderung

das system DSM6 muss also nach jedem neustart die datei wiederherstellen.

Vielleicht irgendeine einstellungssache?

Weisst du was das /sbin/nologin genau bedeutet ?

Alle user bis auf

admin
root
deamon
lp



haben alle das /sbin/nologin als paramter stehen
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
/sbin/nologin wirft den User halt direkt wieder raus, sodass man sich nicht anmelden kann.
Ich bin mir aber nicht mal sicher, ob es normal ist, dass da der jd2 als User drin steht.
Würde diesen sonst einfach mal komplett rausnehmen.

Wie änderst du denn die Datei? Und nach dem speichern mal einfach per cat die Datei aufgerufen?
Schon mal geschaut, was in der /etc.defaults/passwd steht?

Bei mir startet JD auch automatisch nach einem neustart direkt.
 

brichun

Benutzer
Mitglied seit
26. Dez 2015
Beiträge
37
Punkte für Reaktionen
0
Punkte
6
in der

/etc.defaults/passwd die ich mit cat angesehen hab

ist der JD2 user nicht gelistet.

die variante ändern und mit cat ansehen, bestätigt die vorher vollzogene änderung. sprich meine änderung mit vim war erfolgreich.
was mir aufgefallen ist...

wenn ich die

/etc/passwd mit vim oder vi ansehe verglichen mit cat. dann sehe ich mit cat mehr einträge als mit vi oder vim. Wieso das denn??

Ich bin mir aber nicht mal sicher, ob es normal ist, dass da der jd2 als User drin steht.
müssen da nicht alle user drin stehen?

wie machst du es mit dem JD2?

ich hab einen eigen User JD2 angelegt der nur sehr beschränkte rechte hat. genaugenommen darf der blos in genau ein verzeichnis schreiben. dann hab ich ein script das mir die java headless mit dem jd2 als owner startet. mit der dsm5 version funktionierte das alles wunderbar. erst seit dem update von java und dsm6 geht dat nich mehr.
aber ein manueller start ( mit "sudo sh S99jdownloader.sh start") nachdem ich die /etc/passwd angepasst hab funktioniert.


P.S.Ich fühl mich im dunklen Linuxwald wie Rotkäppchen.
 
Zuletzt bearbeitet:

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Die Anzahl der Einträge sollten aber gleich sein.
Keine Ahnung wieso es bei dir so ist.

Ich habe keinen extra User angelegt.
Einfach default Java 8 sowie das JD SPK.

Evtl. passen Pfade in deinem Script nicht?

Du kannst doch auch einfach den Start Befehl im Aufgabenplaner hauen.
Wählst du einfach Systemstart und haust davor ein sleep.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.007
Punkte für Reaktionen
2.699
Punkte
423
Ich würde versuchen, nicht die passwd zu ändern, sondern den Job als root mit "su -s /bin/sh JD2 -c kommando" zu schedulen. Mit -s überschreibst du die Standard-Shell aus der passwd. Schau dir mal mit "su -?" die Hilfe von su an.
 
Zuletzt bearbeitet:

brichun

Benutzer
Mitglied seit
26. Dez 2015
Beiträge
37
Punkte für Reaktionen
0
Punkte
6
Schedulen ? Noch nie gemacht... stell ich das über das OS ein oder mit Terminal Funktionen?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.007
Punkte für Reaktionen
2.699
Punkte
423
Sorry. Ich meinte halt über die /etc/crontab direkt oder den "Aufgabenplaner" im DSM.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat