[geloest] SSH Zugriff und su

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

[geloest] SSH Zugriff und su

Beitrag von sharbich » 22.09.2014 22:47:40

Hallo Ihr Lieben,

wenn ich mich auf meinen Debian Wheezy Server via SSH einlogge und dann im su wechsle, kommt immer folgende Fehlermeldung:

Code: Alles auswählen

bash: /bin/bash/.bashrc: Ist kein Verzeichnis
Wobei das wechseln funktioniert.
Nur wenn ich dann z.B. den Befehl

Code: Alles auswählen

nano /etc/resolv.conf
aufrufe, kommt immer folgender Hinweis:

Code: Alles auswählen

Fehler beim Lesen von /bin/bash/.nanorc: Ist kein Verzeichnis
Fehler beim Lesen von /bin/bash/.nano_history: Ist kein Verzeichnis
Drücken Sie die Eingabetaste, um mit dem Starten von nano fortzufahren.
Melde ich mich jedoch lokal am Server an, finktioniert alles. Habt Ihr eine Idee, wo ich suchen soll?

Lieben Gruß von Stefan Harbich
Zuletzt geändert von sharbich am 24.09.2014 22:30:39, insgesamt 3-mal geändert.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: SSH Zugriff und su

Beitrag von hec_tech » 22.09.2014 22:57:53

Zeig mal die /etc/passwd her ich glaube da stimmt was nicht.

Dein User und root interessiert micht.

Probier mal su -s /bin/bash ob das funktioniert.

Alternativ su -s /bin/sh

Dimejo
Beiträge: 503
Registriert: 21.07.2014 13:37:23

Re: SSH Zugriff und su

Beitrag von Dimejo » 22.09.2014 23:13:31

Versuch es mal damit: Das wechselt nicht nur zum Benutzer root, es stellt Dir auch die komplette Shell zur Verfügung, wie wenn Du Dich lokal anmeldest.

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 23.09.2014 07:53:32

Hallo Ihr Lieben,

ich Denke das ganze hat etwas mit dem folgenden Bug zu tuen:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=579647
Das werde ich mal probieren.

Lieben Gruß von Stefan Harbich

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSH Zugriff und su

Beitrag von uname » 23.09.2014 10:13:46

Hast du überhaupt Änderungen an /etc/nsswitch.conf vorgenommen. Soll heißen du beziehst wirklich Benutzerdaten, Passwörter und Gruppen über NSS?
Was sagt denn

Code: Alles auswählen

getent passwd
Ich glaube eher du hast einen Fehler in /etc/passwd für deinen Benutzer. Dort könnte als Benutzerverzeichnis /bin/bash statt /home/user stehen, oder?

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 23.09.2014 10:21:46

Hallo,

getent passwd und getent group listen mir die lokalen User und Gruppen, sowie die aus dem LDAP auf. Das einzige was noch nicht funktioniert ist getent shadow. Das listet mir nur die Passwörter der lokalen User auf. Die /etc/nsswitch.conf sieht wie folgt aus:

Code: Alles auswählen

  passwd:         compat ldap
  group:          compat ldap
  shadow:         compat ldap

  hosts:          files dns ldap
  networks:       files ldap

  protocols:      db files
  services:       db files
  ethers:         db files
  rpc:            db files

Lieben Gruß von Stefan Harbich

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSH Zugriff und su

Beitrag von uname » 23.09.2014 10:29:00

Ok. Aber sind Pfad und Shell für alle Benutzer (inkl. root) korrekt, siehe z.B.:

Code: Alles auswählen

test:x:1234:1234:,,,:/home/test:/bin/bash
Zuletzt geändert von uname am 23.09.2014 10:29:53, insgesamt 1-mal geändert.

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 23.09.2014 10:29:51

uname hat geschrieben:Ich glaube eher du hast einen Fehler in /etc/passwd für deinen Benutzer. Dort könnte als Benutzerverzeichnis /bin/bash statt /home/user stehen, oder?
Das glaube ich nicht, weil ich das Problem bei der lokalen Anmeldung am Server nicht habe?

Lieben Gruß von Stefan Harbich

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSH Zugriff und su

Beitrag von uname » 23.09.2014 10:31:07

Schau dir evtl. noch /etc/pam.d/su an und kontrolliere ob es für LDAP auch korrekt arbeitet.

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 23.09.2014 14:21:09

Dimejo hat geschrieben:Versuch es mal damit: Das wechselt nicht nur zum Benutzer root, es stellt Dir auch die komplette Shell zur Verfügung, wie wenn Du Dich lokal anmeldest.
Das funktioniert. Was heisst das nun? Ich füge mal ein Auszug aus der /etc/passwd hinzu

Code: Alles auswählen

root:x:0:0:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
xyz:*:10004:10002:Stefan Harbich:/home/xyz:/bin/bash
...
und meine /etc/pam.d/su

Code: Alles auswählen

#
# The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
# auth       sufficient pam_wheel.so trust

# Uncomment this if you want members of a specific group to not
# be allowed to use su at all.
# auth       required   pam_wheel.so deny group=nosu

# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on su usage.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account    requisite  pam_time.so

# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
# 
# parsing /etc/environment needs "readenv=1"
session       required   pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session       required   pam_env.so readenv=1 envfile=/etc/default/locale

# Defines the MAIL environment variable
# However, userdel also needs MAIL_DIR and MAIL_FILE variables
# in /etc/login.defs to make sure that removing a user 
# also removes the user's mail spool file.
# See comments in /etc/login.defs
#
# "nopen" stands to avoid reporting new mail when su'ing to another user
session    optional   pam_mail.so nopen

# Sets up user limits, please uncomment and read /etc/security/limits.conf
# to enable this functionality.
# (Replaces the use of /etc/limits in old login)
# session    required   pam_limits.so

# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
Dazu lege ich Euch noch meine /etc/pam.d/common-auth

Code: Alles auswählen

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
##
auth    sufficient      pam_unix.so nullok_secure
auth    requisite       pam_succeed_if.so uid >= 1000 quiet
auth    sufficient      pam_ldap.so use_first_pass
auth    required        pam_deny.so
##
auth [success=1 default=ignore] pam_ldap.so 
auth required pam_unix.so try_first_pass 
auth required pam_permit.so 

#auth	 [success=2 default=ignore]			  pam_unix.so nullok_secure try_first_pass
#auth	 [success=1 default=ignore]			  pam_ldap.so use_first_pass
#auth	 requisite					  pam_deny.so
#auth	 required					  pam_permit.so

## auth      sufficient  pam_unix.so
## auth      sufficient  pam_ldap.so minimum_uid=1000 use_first_pass
## auth      required    pam_deny.so

auth required    pam_access.so
Dann benötigt Ihr noch die /etc/security/access.conf

Code: Alles auswählen

# disallow all except people in the login group and root
-:ALL EXCEPT root login:ALL EXCEPT LOCAL
Ich hoffe Ihr könnt mir weiterhelfen?

Lieben Gruß von Stefan Harbich

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: SSH Zugriff und su

Beitrag von habakug » 23.09.2014 16:07:57

Hallo!

Das ist ganz normal so:
man su hat geschrieben:When called without arguments, su defaults to running an interactive
shell as root.
"env" gibt dazu aus:

Code: Alles auswählen

$ su
# env | grep root
HOME=/root
Das "-" ist laut manpage die Abkürzung für "-l":
-, -l, --login
Starts the shell as a login shell with an environment similar to
a real login:
Entsprechend gibt "env" mehr aus:

Code: Alles auswählen

$ su -
# env | grep root
USER=root
PWD=/root
HOME=/root
Man kann auch mit

Code: Alles auswählen

# echo $USER
schauen, ob man in einer Login-Shell oder einer interaktiven Shell ist.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSH Zugriff und su

Beitrag von uname » 23.09.2014 16:27:22

Leider erklärt es die Probleme von oben nicht. Daher bitte mal sowohl als normaler Benutzer sowie später als root ausführen und interessante Auszüge daraus posten. Irgendwo muss doch das falsche "/bin/bash" als Homeordner vorkommen.

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 24.09.2014 14:11:46

Hallo Ihr Lieben,
beigefügt meine Auszüge aus der env zum user1:

Code: Alles auswählen

TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=192.168.200.xxx 54013 22
SSH_TTY=/dev/pts/0
USER=user1
MAIL=/var/mail/user1
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=/home/user1
LANG=de_DE.UTF-8
SHLVL=1
HOME=/home/user1
LOGNAME=user1
SSH_CONNECTION=192.168.200.xxx 54013 192.168.178.xyz 22
_=/usr/bin/env
und das ganze für root:

Code: Alles auswählen

SHELL=/bin/bash
TERM=xterm
SSH_CLIENT=192.168.200.xxx 54013 22
SSH_TTY=/dev/pts/0
USER=root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAIL=/var/mail/root
PWD=/home/user1
LANG=de_DE.UTF-8
HOME=/bin/bash
SHLVL=2
LOGNAME=root
SSH_CONNECTION=192.168.200.xxx 54013 192.168.178.xyz 22
_=/usr/bin/env
Was mir auffällt ist, dass in beiden PWD=/home/user1 steht? Wobei ich den Namen geändert habe, sollte aber nichts zur Sache tun.
Lieben Gruß von Stefan

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: SSH Zugriff und su

Beitrag von habakug » 24.09.2014 14:24:39

Hallo!

Da ist es ja (für root):

Code: Alles auswählen

HOME=/bin/bash
Ist das jetz mit "su" oder "su -" ?

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: SSH Zugriff und su

Beitrag von uname » 24.09.2014 14:26:16

Wie ich von Anfang an gesagt habe ist der HOME-Ordner falsch.

Zwei Möglichkeiten:
1.) editiere mal die erste Zeile in /etc/passwd . Korrekt ungefähr so:

Code: Alles auswählen

root:x:0:0:root:/root:/bin/bash
Laut deinen Angaben steht das aber schon in /etc/passwd. Überprüfe dein LDAP oder /etc/passwd nach weiteren Einträgen für "root".

Statt einen Editor zu bemühen (falls der Fehler in /etc/passwd ist) kannst du evtl.
2.) als "root" (nicht selbst probiert):

Code: Alles auswählen

usermod -d /root
ausführen um den HOME-Ordner anzupassen.

Poste evtl. noch:

Code: Alles auswählen

fgrep root /etc/passwd
getent passwd |fgrep root
Leider bin ich mir nicht sicher ob man die Variable HOME auch innerhalb von Scripten wie z.B. in /etc/profile, /root/.profile, /root/.bashrc usw. nachträglich ändern kann. Das wäre vielleicht auch noch eine mögliche Fehlerquelle.

Dimejo
Beiträge: 503
Registriert: 21.07.2014 13:37:23

Re: SSH Zugriff und su

Beitrag von Dimejo » 24.09.2014 17:51:51

sharbich hat geschrieben:

Code: Alles auswählen

root:x:0:0:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
xyz:*:10004:10002:Stefan Harbich:/home/xyz:/bin/bash
...
uname hat geschrieben:1.) editiere mal die erste Zeile in /etc/passwd . Korrekt ungefähr so:

Code: Alles auswählen

root:x:0:0:root:/root:/bin/bash
Wenn man die beiden Einträge vergleicht, sieht man, dass in Stefans Eintrag ein Doppelpunkt (für den Kommentar) fehlt.
uname hat geschrieben:Statt einen Editor zu bemühen (falls der Fehler in /etc/passwd ist) kannst du evtl.
2.) als "root" (nicht selbst probiert):

Code: Alles auswählen

usermod -d /root
ausführen um den HOME-Ordner anzupassen.
Ich würde zur Sicherheit gleich alles neu setzen:

Code: Alles auswählen

usermod -c root -s /bin/bash -d /root root

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: SSH Zugriff und su

Beitrag von habakug » 24.09.2014 18:13:44

Hallo!

Ja, wir sollten in Zukunft die Doppelpunkte zählen.
...oder nur helfen, wenn die Passwortdatei mit "vipw" bearbeitet wurde. Ich sehe auch sonst keinen Grund da herumzumalen.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 24.09.2014 22:16:47

[Poste evtl. noch:

Code: Alles auswählen

fgrep root /etc/passwd
getent passwd |fgrep root
liefert folgendes Ergebniss

Code: Alles auswählen

root@xyz:/# fgrep root /etc/passwd
root:x:0:0:/root:/bin/bash
root@xyz:/# getent passwd |fgrep root
root:x:0:0:/root:/bin/bash:
Kann es mit dem Doppelpunkt hinter /bin/bash zusammenhängen?
Lieben Gruß von Stefan Harbich

sharbich
Beiträge: 349
Registriert: 27.09.2013 21:12:40

Re: SSH Zugriff und su

Beitrag von sharbich » 24.09.2014 22:29:20

Hallo Ihr Lieben,
ja Ihr habt Recht es lag an der /etc/passwd.

Code: Alles auswählen

Falsch war:
root:x:0:0:/root:/bin/bash
Richtig ist:
root:x:0:0:root:/root:/bin/bash
Sorry, das ich dafür Eure Zeit in Anspruch genommen habe.
Lieben Gruß von Stefan Harbich

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: [geloest] SSH Zugriff und su

Beitrag von uname » 25.09.2014 03:38:51

Kein Problem. Natürlich hätten wir alle das Problem viel schneller erkannt wenn wir deinen Post mit dem Auszug der /etc/passwd mit Verstand gelesen hätten.

Antworten