(erledigt) sudo tab Vervollständigung geht bei machen system Befehlen nicht

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ren22

(erledigt) sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von ren22 » 20.10.2019 18:19:50

Hallo,

was muss man einstellen das auch die tab Vervollstädigung bei dem sudo f<tab drücken> Befehl auch sudo fdisk zurückliefert, fdisk dient nur als Bsp :?:
Wahrscheinlich sind es noch mehr system Befehle die nicht per Tab Vervollständigt werden wenn man sudo voranstellt an dem Befehl. Wie zb.: sudo vg<tab drücken> liefert kein vgreduce zurück ...

Danke
Zuletzt geändert von ren22 am 26.10.2019 14:47:56, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von DeletedUserReAsG » 20.10.2019 18:43:59

Die Completion zeigt naturgemäß nur Sachen an, die sich in der aktuellen $PATH befinden. Einfache Abhilfe: Sachen, die als Root gemacht werden sollen, als Root machen: die sbin-Verzeichnisse sind in dessen PATH, und Tab wird’s entsprechend vervollständigen.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von Lord_Carlos » 21.10.2019 10:11:10

Sudo ist nett :)
Stell mal sicher das du Debianbash-completion installiert hast.

Dann guck mal in deine ~/.bash_profile und/oder /etc/profile
und guck ob dieser kode enhalten und nicht kommentiert ist:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

Kann gut sein das es da schon steht, aber mit # vor jeder Zeile. Einfach die # wegmachen, speichern und neustarten (oder in bash neu einloggen)

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von MSfree » 21.10.2019 10:36:52

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
21.10.2019 10:11:10
Stell mal sicher das du Debianbash-completion installiert hast.
Dafür ist Debianbash-completion aber nicht gedacht.

bash-completion ergänzt Programmparameter, teiweise ausgeschriebene Namen von Executables werden von der Shell selbst ergänzt.

Zum Beipiel:

Code: Alles auswählen

apt-get upd<TAB>
würde "upd" zu "update" ergänzen.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von Meillo » 21.10.2019 15:45:27


Sudo-Diskussion nach viewtopic.php?f=15&t=175130 verschoben. Es ist wohl schon der zehnte sudo-Diskussion-Thread, aber nun gut. Wer daran teilnehmen will, kann das *dort* tun. Hier nicht. Hier wird ueber Tab-Completion geredet.
Use ed once in a while!

DeletedUserReAsG

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von DeletedUserReAsG » 21.10.2019 16:47:41

Das Problem ist aber nunmal, dass die Shell bei der Verwendung von sudo nicht weiß, was in der $PATH des Zielusers oder in der sudoers steht, und die Completion per Tab deswegen nicht funktionieren kann. Lässt sich daher leider nicht vermeiden, auch sudo mit einzubeziehen ;)

ren22

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von ren22 » 21.10.2019 22:02:57

niemand hat geschrieben: ↑ zum Beitrag ↑
20.10.2019 18:43:59
Die Completion zeigt naturgemäß nur Sachen an, die sich in der aktuellen $PATH befinden. Einfache Abhilfe: Sachen, die als Root gemacht werden sollen, als Root machen: die sbin-Verzeichnisse sind in dessen PATH, und Tab wird’s entsprechend vervollständigen.
@niemand stimmt, daran habe ich garnicht gedacht mit der $PATH Variable, auch völlig Logisch :!:

Was würde denn passieren, wenn ich die $PATH Variablen von root, ebenfalls dem Benutzer zu ordne :?:
Ich schlimmsten Falle "Keine Berechtigung", wenn man Programm xyz aus den sbin Verzeichnissen ausführen möchte :?: :!: :?:

Danke

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von Meillo » 21.10.2019 22:25:43

ren22 hat geschrieben: ↑ zum Beitrag ↑
21.10.2019 22:02:57
Was würde denn passieren, wenn ich die $PATH Variablen von root, ebenfalls dem Benutzer zu ordne :?:
Ich schlimmsten Falle "Keine Berechtigung", wenn man Programm xyz aus den sbin Verzeichnissen ausführen möchte :?: :!: :?:
Ich habe bei meinem normalen User auch sbin im $PATH. Schlimm ist das nicht. ifconfig(8) z.B. laesst sich auch als normaler User ausfuehren.


Btw: Der Hintergrund ist der, dass `sbin' IIRC urspruenglich fuer ``statically linked binaries'' stand. Als dynamische Linken aufkam fuehrte man das ein, um wichtige Systembefehle statisch gelinkt abzulegen, damit sie auch noch funktionieren, wenn das System nicht ganz in Ordnung ist.
Use ed once in a while!

DeletedUserReAsG

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von DeletedUserReAsG » 21.10.2019 22:30:46

Auf anderen Systemen sieht’s gar so aus:

Code: Alles auswählen

% file /sbin
/sbin: symbolic link to usr/bin

:D :cry: :? :!:
(reichen vier? Oder sollten’s mehr sein? Ich bin nicht so geübt im sinnlosen Smileyposten)

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von MSfree » 21.10.2019 23:14:45

Meillo hat geschrieben: ↑ zum Beitrag ↑
21.10.2019 22:25:43
Ich habe bei meinem normalen User auch sbin im $PATH. Schlimm ist das nicht.
Natürlich ist das nicht schlimm.

Ein eingeschränkter PATH ist bestenfalls Security by Obscurity. Durch einen erweiterten PATH kann man jedenfalls keinen Schaden anrichten. Z.B. mit ifconfig kann man nur die aktuelle Konfiguration abfragen, zum Setzen von Parametern braucht man root-Rechte.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: sudo tab Vervollständigung geht bei machen system Befehlen nicht

Beitrag von JTH » 22.10.2019 00:51:18

Meillo hat geschrieben: ↑ zum Beitrag ↑
21.10.2019 22:25:43
Btw: Der Hintergrund ist der, dass `sbin' IIRC urspruenglich fuer ``statically linked binaries'' stand. Als dynamische Linken aufkam fuehrte man das ein, um wichtige Systembefehle statisch gelinkt abzulegen, damit sie auch noch funktionieren, wenn das System nicht ganz in Ordnung ist.
Ah, mal wieder was gelernt :THX: Habe nie überlegt, woher das s kommen könnte.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten