# jailkit config



## demmtrok (7. Dez. 2010)

Hallo,

beim Anlegen von shh-Usern mit Jailkit scheint es einen Fehler zu geben. Ohne Jailkit funktioniert soweit alles, mit Jailkit wird die Verbindung sofort wieder getrennt:

```
ssh sshtest@xxx.org
sshtest@xxx.org's password: 
Linux xxx.xxx.org 2.6.26-2-686-bigmem #1 SMP Thu Nov 25 01:59:22 UTC 2010 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Dec  7 12:37:48 2010 from xxx.xxx.xxx.xxx
Connection to xxx.org closed.
```
jk_check jail auf dem server gibt folgendes aus:

```
xxx:/# jk_check jail
WARNING: /usr/jk_check.ini does not exist, only checking jails found in /etc/passwd
ERROR: user web2 does not exist in /var/www/clients/client0/web2//etc/passwd
Traceback (most recent call last):
  File "/usr/sbin/jk_check", line 289, in <module>
    main()
  File "/usr/sbin/jk_check", line 286, in main
    activateConfig(configfile, verbose)
  File "/usr/sbin/jk_check", line 235, in activateConfig
    jails = testrealpasswd()
  File "/usr/sbin/jk_check", line 215, in testrealpasswd
    if (rpw[6].trim() != chrootsh):
AttributeError: 'str' object has no attribute 'trim'
xxx:/#
```
Jailkit wurde vor ISPConfig installiert. Das Hostsystem ist ein aktuelles Debian Lenny, Ispconfig liegt in V. 3.0.3 vor und Jailkit dürfte 2.5 sein.


----------



## Till (7. Dez. 2010)

Versuch mal bitte folgendes:

1) aktuelles jailkit installieren.
2) manuelles ispconfig update durchführen und dabei auswählen, dass die dienste neu konfiguriert werden.
3) testweise ein neues web inkl. neuem ssh user erstellen und testen, ob jailkit damit funktioniert.


----------



## demmtrok (7. Dez. 2010)

scheint zu funktionieren. merkwürdig  naja immerhin wissen wir jetzt daß ispconfig 3 auch mit jailkit 2.1.3 funktioniert.


----------



## demmtrok (7. Dez. 2010)

wobei die fehlermeldung noch immer da ist:

```
xxx:~# jk_check jail
ERROR: user web4 does not exist in /var/www/clients/client0/web4//etc/passwd
Traceback (most recent call last):
  File "/usr/sbin/jk_check", line 289, in <module>
    main()
  File "/usr/sbin/jk_check", line 286, in main
    activateConfig(configfile, verbose)
  File "/usr/sbin/jk_check", line 235, in activateConfig
    jails = testrealpasswd()
  File "/usr/sbin/jk_check", line 214, in testrealpasswd
    chrootsh = os.path.join(PREFIX, '/sbin/jk_chrootsh')
NameError: global name 'PREFIX' is not defined
```


----------



## Till (9. Dez. 2010)

Ob Du das jail mit dem Kommando in ispconfig überhaupt checken kannst, weiß ich nicht,. Da ispconfig ein besonderes setup mit mehrfach verwendeter UID hat. Die wichtige Frage ist, ob Du Dich jetzt einloggen kannst?


----------



## demmtrok (9. Dez. 2010)

ja kann ich soweit. mir ist noch eine merkwürdigkeit in dem zusammenhang aufgefallen. 

einmal beispielsweise ein verzeichnis aus sicht eines users ohne jail:

```
web6@xxx:/var/www/xxx.org/web/speicher$ ls -alh
total 8.0K
drwxr-xr-x 2 web6 client0 4.0K 2010-12-09 09:53 .
drwx--x--- 5 web6 client0 4.0K 2010-12-09 09:53 ..
```
der gleiche user bekommt auf ein whoami "web6" als ausgabe.

soweit ist das alles korrekt. sperre ich jetzt den user ins jail sieht das verzeichnis wie folgt aus:

```
s0user1@xxx.org:/web/speicher$ ls -alh
total 8.0K
drwxr-xr-x 2 s0user1 client0 4.0K Dec  9 08:53 .
drwx--x--- 5 s0user1 client0 4.0K Dec  9 08:53 ..
```
ein whoami gibt dann dementsprechend s0user1 aus.

wenn ich jetzt aber einen zweiten user (s0user2) anlege bleibt das verzeichnis so:

```
s0user1@xxx.org:/web/speicher$ ls -alh
total 8.0K
drwxr-xr-x 2 s0user1 client0 4.0K Dec  9 08:53 .
drwx--x--- 5 s0user1 client0 4.0K Dec  9 08:53 ..
```
und als whoami wird mir auch bei s0user2 "s0user1" ausgegeben. 

kann es also sein daß für alle ssh-jail user einer domain nur ein jail erstellt wird?


----------



## demmtrok (9. Dez. 2010)

jap, habs getestet. also quasi im home von s0user2 eine datei erstellt die ich mit s0user1 löschen konnte. das ist natürlich suboptimal. also gut daß beide user prinzipiell in einem jail sind, aber schlecht daß offensichtlich nur eine uid verwendet wird.


----------



## Till (9. Dez. 2010)

Es ist Sinn und Zweck des setups dass sich alle ssh user eine uid teilen. Die ssh Zugänge sind für Internet Agenturen mit mehreren Entwicklern die auf die gleichen Dateien zugreifen können. das geht nur mittels einer uid.

In ISPConfig 2 getrennte UID's was zu großen Problemen bei allen usern geführt hat, da nämlich dann alle per ssh bearbeiteten Dateien nicht dem web user gehörten und somit nicht als scripte verwendet werden konnten und andersherum auch die ssh User keinen zugriff auf die web Dateien hatten was sie recht sinnlos für ein Hosting System machte.

Wenn Du einen klassischen Shell Server einrichten möchtest, dann nimm am besten kein ISPConfig. ISPConfig ist für We Hosting Systeme und nicht klassische Unix Shellserver zugänge (wie sie z.B. Univeritäten für ihre IT Fakultäten anbieten) entwickelt worden.

Oder aber Du legts einfach für jeden Benutzer einen Kunden an, so wie es in ISPConfig gedacht ist.


----------



## demmtrok (10. Dez. 2010)

Hm okay. 

Wäre es denn theoretisch mit Jailkit möglich jedem ssh-user ein eigenes Home zuzuweisen? Der gemeinsame /web Ordner könnte ja durchaus für alle frei zugänglich bleiben. Es wäre aber gut wenn jeder User zumindest einen privaten Ordner für seine Dateien hat.


----------



## Till (13. Dez. 2010)

Das hat er doch, jeder User hat einen eignene defaalt Folder, in dem er nach dem Login landet. Dieser ist natürlich systembedingt für alle User zugänglich, denn es sollen ja gerade keine unterschiedlcihen UID's verwendet werden.


----------



## demmtrok (13. Dez. 2010)

du hast natürlich recht.

vielen dank für die ganze arbeit, ihr habt ein sehr schönes system zusammengestellt.


----------

