doas funktioniert nicht bei z.B. gparted oder update-grub
/etc/doas.config > permit keepenv nopass :$USER
bevo
Es funktioniert, wenn du den vollen Pfad angibst:
doas /usr/sbin/gparted
edlin
und bei update-grub ?
Den Pfad verrät dir:
doas which update-grub2
edlin
Quote from: bevo on 2023/08/24, 16:39:02...
/etc/doas.config > permit keepenv nopass :$USER
...
Nur um sicherzugehen: Du hast bei Dir real aber schon statt ":$USER" Deinen echten Usernamen eingetragen?
@ der_bud Jaa ;)
So ganz ist mir das Verhalten von doas da nicht klar, oder es ist ein Bug.
Lt. Manpage werden einige Environmentvariablen wie PATH des Zielusers übernommen, default ist root und damit müssten auch die sbin-Verzeichnisse bekannt sein?
Der Parameter keepenv übernimmt lt. manpage nur zusätzliche Variablen des users. Das scheint falsch zu sein.
Egal, ob Bug oder Feature, das Problem ist wohl nicht ganz neu:
https://www.linuxquestions.org/questions/linux-newbie-8/doas-setting-root%27s-path-sbin-for-admin-user-4175707100/ (https://www.linuxquestions.org/questions/linux-newbie-8/doas-setting-root%27s-path-sbin-for-admin-user-4175707100/)
Habs noch nicht getestet, muss erst mal weg.
edlin
Viele Wege führen nach Rom, einen mal schnell ausprobiert.
Ich habe in der Datei ~/.profile des doas-Benutzers folgende Zeile angehangen:
PATH="/sbin:/usr/sbin:$PATH"
Neu angemeldet und
doas update-grub funktionierte ohne vollständigen Pfad.
Ich hoffe, damit ist das Wochenende gerettet. Andere Varianten hab ich nicht ausprobiert.
edlin
Hmmm, leider finde ich die Datei ~/.profile nicht :-\
Doch gefunden!
Wo hast du denn überall gesucht?
Bei mir spuckt es folgendes aus:
edlin@Devil:~$ ls ~/.profile
/home/edlin/.profile
edlin@Devil:~$
Sprich, die ,,versteckte" Datei liegt im Homeverzeichnis des Benutzers.
edlin
Es ist zum Mäuse melken!!
bevo@Farewell-future:~$ ls ~/.profile
ls: Zugriff auf '/home/bevo/.profile' nicht möglich: Datei oder Verzeichnis nicht gefunden
Dolphin und versteckte Dateien anzeigen.
Dolphin mit root Rechten findet die Datei!
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
mesg n 2> /dev/null || true
PATH="/sbin:/usr/sbin:$PATH"
Aber update-grub funtioniert nicht.
In /etc/ ist auch eine Datei profile aber die hat root Berechtigung.
Hast du dich auch ab- und wieder angemeldet, damit das neue .profile wirksam wird?
Meine hat auch etwas mehr Profil:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# 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/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
PATH="/sbin:/usr/sbin:$PATH"
edlin
Was du mit Dolphin als root angezeigt bekommen hast, ist die .profile vom root und nicht vom Nutzer.
edlin
Du kannst ja spaßeshalber mal meine .profile in deinem Home-Verzeichnis anlegen und testen. Kann man ja wieder löschen wenns nix bringt.
edlin
Zuerst mal vielen Dank für Deine Hilfe !!!
Ja, neu angemeldet habe ich mich.
Die profile mit Dolphin als root hat aber bevo Berechtigung.
BINGO :)
Ich habe eine neue .profile in meinem home angelegt und dein profile kopiert.
Danke
bevo