debian - skript misto defaultniho /bin/bash nejde
Mam PC s debianem, a chci aby pokud se tam prihlasim pres SSH urcitym uctem probehl pouze dany skript a ucet se odhlasil. Mam to tak rozchozene na vicero PC, ale na jednom mi to nechce fungovat.
V /etc/passwd do vypada takhle:
testucet:x:0:1001:,,,:/home/testucet:/home/testucet/skript.sh
- pokud uzivatele testucet s timhle nastavenim prihlasim, tak jen problikne prihlaseni a zmizi. To co je v skriptu se nevykona. Jsem z toho jelen, kdyby to nefungovalo jinde tak to beru - jsem blbej, ale identicke PC vedle funguje tak jak chci. Pokud dam uzivatelovi testucet /bin/bash tak se normalne prihlasim - rucne spustim /home/testucet/skript.sh a ten korektne probehne. Takze to nevypada na problem s nejakymi pravy atd.
Napada nekoho cim by to mohlo byt? Nemuzu najit nic co by bylo jinak nez na tom funkcnim PC, ale nejde to...
Nechci ti kecat do tvého řešení, ale tohle se řeší direktivou ForceCommand v nastavení sshd.
Například takhle to mám nastaveno v sshd_config.
Uživatel, kterému se přes SSH má spustit místo shellu skript, je ve skupině script-users.
Ještě bych podotknul, že v passwd mám pro toho uživatele nastavený login shell na /bin/false.
Snad ti to takhle bude stačit.
Abych byl úplně důsledný, tak nemusíš porovnávat uživatelské skupiny, ale můžeš to rozlišovat i na jednotlivé uživatele.
Více viz
shebang máš ve skriptu nastavený dobře?
Práva a chmod na soubor nastavena dobře? Zejména +X v odpovídající skupině?
ehm...no.... ano, to #!/bin/sh tam jaksi chybelo. Hlavne ze jsem zkontroloval vse ostatni - mozne i nemozne, a jinde to mam samozrejme dobre. Muzete oznacit jako solved, facku si dam sam.