Das "neue" su

khz

||||||||||
Als ich ein Debian-testing upgrate gemacht habe konnte "su" nicht mehr die Programmnamen .... (TAB- Taste) vervollständigen. Nach Fehlersuche mit einer Suchmaschine meiner Wahl habe ich die Lösung gefunden.
Wenn ich mich mit "su -" anmelde geht es wie gewohnt.

####

Using 'su' generates now an path error when launching programs such as 'shutdown'. The cause is a new behavior described below.
---
util-linux (2.32-0.4) unstable; urgency=medium

The util-linux implementation of /bin/su is now used, replacing the
one previously supplied by src:shadow (shipped in login package), and
bringing Debian in line with other modern distributions. The two
implementations are very similar but have some minor differences (and
there might be more that was not yet noticed ofcourse), e.g.

- new 'su' (with no args, i.e. when preserving the environment) also
preserves PATH and IFS, while old su would always reset PATH and IFS
even in 'preserve environment' mode.
- su '' (empty user string) used to give root, but now returns an error.
- previously su only had one pam config, but now 'su -' is configured
separately in /etc/pam.d/su-l

The first difference is probably the most user visible one. Doing
plain 'su' is a really bad idea for many reasons, so using 'su -' is
strongly recommended to always get a newly set up environment similar
to a normal login. If you want to restore behaviour more similar to
the previous one you can add 'ALWAYS_SET_PATH yes' in /etc/login.defs.
---

The new 'su' is useless for me because it cannot launch root program.
I did the modification in /etc/login.defs and restore the previous
behavior. However I am concern with the statement " Doing plain 'su'
is a really bad idea for many reasons".

Quelle:
 
Wie du schon schreibst, it was a bug not a feature. Um root zu werden sollte man schon immer 'su -' verwenden, um nur mal eben ein Programm mit root-Rechten auszuführen gibt es 'sudo'.
 
Source: https://wiki.debian.org/NewInBuster
The su command in buster is provided by the util-linux source package, instead of the shadow source package, and no longer alters the PATH variable by default. This means that after doing su, your PATH may not contain directories like /sbin, and many system administration commands will fail. There are several workarounds:

  • Use su - instead; this launches a login shell, which forces PATH to be changed, but also changes everything else including the working directory.
  • Use sudo instead. sudo still runs commands with an altered PATH variable.
    • To get a regular root shell with the correct PATH, you may use sudo -s.
    • To get a login shell as root (equivalent to su -), you may use sudo -i.
  • Put ALWAYS_SET_PATH yes in /etc/login.defs to get an approximation of the old behavior.
  • Put the system administration directories (/sbin, /usr/sbin, /usr/local/sbin) in your regular account's PATH (see EnvironmentVariables for help with this).

(Hinweise zur Debian-Veröffentlichung Version 10 (Buster) auf 64-Bit PC) https://www.debian.org/releases/testing/amd64/release-notes/index.de.html)
 


Neueste Beiträge

News

Zurück
Oben