chroot Debian etch auf NASBOX4220 user geht nicht.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 29.03.2008 21:46:19

Hallo Leute

ich bin neu hier im Forum weiss jetzt nicht ob ich mit mein THema hier richtig bin. Denke maches es mal hier auf um mein Fehler zubeschreiben.

Also folgendes ich habe eine NASBOX ICY 4220 von Raidsonic sicher bekannt. Nun wollte ich ein paar dienste Sachen auf ein Debian System amlaufen zubekommen oder gewissse Codes für meine Box mit make & co erstellen.

Die Dateien Debian (etch) 4.03 konnte ich wunderbar auf meine Festplatte entpacken und mich als root anmelden

Beschrieibung:[code]
cd /mnt/md/applicatin/debian/
tar xzvf etch.tgz
mount -t proc none ./proc
[/code]
in System gewechselt mit root
[code]
usr/sbin/chroot ./ /bin/bash
[/code]

Dann System eingerichtet

[code]
echo "nameserver 192.168.178.1" > /etc/resolv.conf
echo "deb http://security.debian.org/ etch/updates main contrib non-free" > /etc/apt/sources.list
echo "deb http://ftp.de.debian.org/debian etch main" >> /etc/apt/sources.list
apt-get update
apt-get dist-upgrade
[/code]

Läüft auch alles wunder bar mit den apt-get und etc.

So nun mein Problem weiin ich mit adduser ein neuen User erstelle will (brauche ich für bestimmte Sachen da es mit root leider nicht geht)
wird er auch laut shell /Konsole erstellt. Ein home Verzeichnis wird angelegt sw. alles wuderbar.
Wenn ich mich aber dann von root mit >> mit >> login Username anmelde bekomme ic in der Konsole :


[quote]
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.
[/quote]
Ausgegeben
was dann so aussieht als wenn amn Angemeldet aber in der Konsole steht immer noch [code]root@Debian#[/code] und ich kann keine Sachen mit dem endsperechenden User mit dem ich mich angemeldet habe keine Befehel/Sachen ausführen d.h. ich arbeite dann immer noch mit root was ich aber nicht will.

Ausgabe sieht z.B. so aus:

[code]make menuconfig
Makefile:58: *** Running makefile as root is prohibited! Please build Freetz as normal user. Stop.
[/code]

Ich habe selbst ein Debian System auf mein Rechner und mit chorrt eingerichtet als Sanbox wo ich auch user anlegen kann und mit dem arbeiten kann.

Jetzt Frageich mich wieso geht es auf der Box nicht? Ich habe in ander Foren schon gelsen die es auch mit ein Nassystem gemacht haben und wo es auch geklappt hat.
hat jemand ein Rat wie ich evtl. doch als User in chroot auf der Box arbeiten kann. Hab leider keine möglichkeit diese Packages auf mein PC mit make&co zuerstellen.

Danke für die Hilfe schonmal

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

Beitrag von gms » 29.03.2008 22:28:13

Willkommen im Forum!

Obige Meldung, die du bei der Anmeldung bekommst, scheint von der /etc/motd Datei zu kommen. Die Anmeldung dieses Users müßte daher erfolgreich gewesen sein. Danach wird von "login" noch eine Shell geöffnet und hier dürfte es ein Problem geben.
Überprüfe einmal welche Shell für diesen User gesetzt wurde

Code: Alles auswählen

gms2:/# getent passwd test
test:x:1001:1001:,,,:/home/test:/bin/bash
und ob dieser User Ausführungsrechte auf diese Shell hat. z.B für die "bash"

Code: Alles auswählen

gms2:/# ls -l /bin/bash
-rwxr-xr-x 1 root root 677184 2006-12-11 22:20 /bin/bash
Nachdem diese Datei dem User "root" und der Gruppe "root" gehört muß ganz Rechts ein "r-x" stehen

Gruß
gms

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Beitrag von newland » 30.03.2008 03:55:07

Hallo
so hab mal das [code]getent passwd test[/code] eingegeben.

Ergebniss:
es kommt keine rückmeldung vom System. Da scheint doch nicht was zu stimmen ?

Dann habe ich [code]ls -l /bin/bash[/code]
Ergebniss:
[code]-rwxr-xr-x 1 root root 673748 Mar 26 05:34 /bin/bash[/code]

Denke dies Ausgabe ist wohl ok.
Die modt gibt doch nur das [quote]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.
[/quote] bei der Anmeldung aus.

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

Beitrag von gms » 30.03.2008 09:38:14

newland hat geschrieben: so hab mal das

Code: Alles auswählen

getent passwd test
eingegeben.

Ergebniss:
es kommt keine rückmeldung vom System. Da scheint doch nicht was zu stimmen ?
war mein Fehler, ich habe das zuwenig verdeutlicht, daß am Ende der entsprechende Username eingesetzt gehört, also "getent passwd USER" und USER durch den Namen deines Users ersetzen
newland hat geschrieben: Die modt gibt doch nur das
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.
bei der Anmeldung aus.
exakt, daraus kann man aber auch schließen, daß die Anmeldung noch erfolgreich war, denn sonst würde diese Ausgabe nicht erscheinen
Hast du an der Datei ".bash_profile" deines Users etwas verändert ? Wenn dort z.B ein "exit" aufgerufen wird, hätte man einen ähnlichen Effekt
Füge einmal ein

Code: Alles auswählen

echo "Ich bin angemeldet"
ganz am Anfang der /etc/profile ein, dann solltest du bei der Anmeldung sehen, ob die Login-Shell für den User gestartet wurde

Gruß
gms

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Beitrag von newland » 30.03.2008 22:02:43

Hallo

so ich habe noch mal bei zwei Test Users

das [code]getent passwd test user[/code]

Eergebniss:
Einmal bei user make:[code]make:x:1000:1000:ide,,,:/home/make:/bin/bash
[/code] Denn hatte ich zuerst Angelegt

Dann bei User ide als Ergebniss:

[code]
ide:x:1001:1001:,,,:/home/ide:/bin/bash
[/code]


Was mich jetzt wundert ist das Ergebniss von make! Wieso Gruppe 1000 und warum steht das IDE mit drin?

Die zweite Ausgabe mit User ide Passt ja nach dein Beitrag ja mit Gruppe 1001 etc.

[quote]Hast du an der Datei ".bash_profile" deines Users etwas verändert ? Wenn dort z.B ein "exit" aufgerufen wird, hätte man einen ähnlichen Effekt [/quote]

Nein habe ich überhaupt nicht. Ich ahbe mir gestern mal die Datei mit cat angeschaut.


Einaml zu bash_profile die sieht bei mir so aus:

[quote]# ~/.bash_profile: executed by bash(1) for login shells.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/login.defs
#umask 022

# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
[/quote]
Frage ist das richtig so?

Hab das hier mal

[code]echo "Ich bin angemeldet"[/code] gesetzt aber bei der Anmeldung
kommt der Test nicht in die Konsole als Ausgabe weder bei make noch bei ide.

Es kommt nur
[quote]
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.
[/quote]

Das wars.

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

Beitrag von gms » 30.03.2008 22:15:01

newland hat geschrieben: Was mich jetzt wundert ist das Ergebniss von make! Wieso Gruppe 1000 und warum steht das IDE mit drin?
das "ide" steht beim User "make" in dem Feld welches den optionalen Usernamen beinhaltet, abgesehen von der Verwirrung ist es nicht tragisch, wenn dort was falsches steht. Das kannst du durch Editieren der Datei /etc/passwd beheben.
"adduser" legt im Normalfall für jeden User auch eine Gruppe an, wahrscheinlich ist die 1000er Gruppe daher die Gruppe "make" und die 1001er Gruppe die Gruppe "ide". Das kannst du in der Datei /etc/group bzw über das Kommando "getent group make" überprüfen

Wenn du als User "root" das Kommando "su make" bzw "su ide" eingibst, funktioniert das ? Und als weiterer Test funktioniert ein "su -l make" ?
( keine Sorge wenn bei diesen Kommandos die "motd" Datei nicht erscheint, das sollte auch so sein )

Gruß
gms

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 01.04.2008 04:32:46

Hallo :mrgreen:

So ich habe mal die UserGroup überprüft.

[quote]as "ide" steht beim User "make" in dem Feld welches den optionalen Usernamen beinhaltet, abgesehen von der Verwirrung ist es nicht tragisch, wenn dort was falsches steht. Das kannst du durch Editieren der Datei /etc/passwd beheben.[/quote]

Ja das konnet ich änder jetzt steht dort make. Die Groups werde hier in 1000,1002,1003 fortlaufend angelget. hab mal eine adduser test angelegt. konnte ich dann sehn der bekamm 1003 zugewissen.

Dann habe ich unter root[code]su make[/code] bzw. [code]su ide[/code] und ich konnte mich mit den anmelden bzw ich kamm dann in der Umgebng make:/# Konnte dann mit den ensprechneden User arbeiten

Bei [quote]su -l make[/quote] kommt mein Text [code]Ich bin Angemeldet make
[/code] bin dann in der Umgebung von make bzw ide. Das scheint zu laufen.Aber wie bekoome ich es jetzt mit login hin?
Zuletzt geändert von newland am 05.04.2008 21:48:58, insgesamt 1-mal geändert.

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 05.04.2008 21:48:34

weiss den keine wie man evtl das Porblem lösen kan.....

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

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von gms » 05.04.2008 22:27:51

newland hat geschrieben:weiss den keine wie man evtl das Porblem lösen kan.....
du bist aber hartnäckig :D
Damit ich das etwas besser verstehe: Warum möchtest du den Userwechsel über "login" machen und nicht über "su" wie üblich ? Das "login" Kommando ist ja eher dafür gedacht, von den "getty" Prozessen aufgerufen zu werden.

rufe einmal das folgende Kommando auf:

Code: Alles auswählen

strace -f -o login.trc login make
und poste die Datei login.trc auf http://nopaste.debianforum.de/ und den pasenden Link dann hier rein. Das Programm strace erzeugt ein Tracefile von allen Systemroutinen, die vom "login" Prozess aufgerufen werden.

Gruß
gms

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 12.04.2008 20:28:14

Hallo so bin wieder :)
so das
[code]strace -f -o login.trc login make[/code]
gemacht und die datei [URL=http://nopaste.debianforum.de/7817]hier[/URL]

Das [code]access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)[/code] gefällt mir nicht....

Hoffe man kann was mit der log was anfangen.

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

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von gms » 12.04.2008 21:42:50

Code: Alles auswählen

  readlink("/proc/self/fd/0", "/dev/ttyp0", 4095) = 10
...
 stat64("/dev/ttyp0", 0xbee67774)  = -1 ENOENT (No such file or directory)
laut erster Zeile findet das Login in dem Pseudo Terminal /dev/ttyp0 statt, zwischen diesen beiden Zeilen, wird so ziemlich alles für das Login vom User "make" vorbereitet, jetzt sollte nur noch ein "chown/chmod" auf dieses Device ausgeführt werden, damit der User "make" auch auf dieses zugreifen kann, danach ein "setuid" auf die Userid vom "make", ein "chdir" in das Homeverzeichnis vom "make" und dort sollte dann der Ablauf an eine neue Shell übergeben werden.
Ohne einem Terminal macht das jedoch keinen Sinn, daher bricht der "login" Prozeß dort auch richtiger Weise ab.
Die Gruppen von "/dev/ttyp0" ist meistens auf "tty" gesetzt, wenn das bei dir auch der Fall ist, dann füge den User "make" in diese Gruppe hinzu und probiere das Login nochmals

Gruß
gms

edit: war nicht ganz durchdacht: auch wenn der User keine Rechte auf "/dev/ttyp0" hat, dürfte das "stat" Kommando nicht fehlschlagen, scheint also so als hätte der User "make" keine Rechte das "/dev" Verzeichnis zu lesen. Das "/dev" Verzeichnis sollte aber für alle lesbar und executierbar sein, die Rechte sollten also so ausschauen:

Code: Alles auswählen

gms1 ~ # ls -ld /dev
drwxr-xr-x 13 root root 14360 12. Apr 21:45 /dev

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 16.06.2008 02:35:54

Hallo um das Thema noch mal aufzugreifen.Bin ich leider noch nict aus Zeitgründen weiter gekommen.

So ich habe mal /dev nach Rechten geschaut. Es sieht so aus:

[code]Home-Server:/# ls -ld /dev
drwxr-xr-x 4 root root 4096 Mar 27 00:15 /dev[/code]

Sollte doch ok sein aber trozdem komm ich mit login make nicht auf die Konsole!

newland
Beiträge: 29
Registriert: 29.03.2008 21:16:28

Re: chroot Debian etch auf NASBOX4220 user geht nicht.

Beitrag von newland » 25.06.2008 01:47:09

Sorry jungs jetzt weisich nicht weiter :( keiner von euch ein Plan ? Hilfe ist immer Herzlich willkommen :D

Antworten