Page 1 of 1

Problems with sudo

Posted: Fri Sep 20, 2024 8:27 am
by Caramel

(EasyOS 6.3.1)

First a remark.
The outputs of ls and sudo ls (executed as root) can be different. It is visible with ls /root.
The layout is different. Thereis no colour with sudo ls
The name of a file with a "é" is not correctly displayed ( '$'\303\251'' instead of é)

But here the main problem is with the use of sudo in a script:

Let's call "sudo line" a line beginning by sudo (sudo command...)
The line that follows a sudo line does not wait the end of the execution of this sudo line to execute (unless it is itself a sudo line)

Example with this script testsudo :

Code: Select all

#/bin/bash

sudo mkdir /testdir
sudo chown spot /testdir
touch /testdir/file

run-as-spot /path/to/testsudo fails:

touch: impossible de faire un touch '/testdir/file': Permission denied

For the script to succeed I changed

Code: Select all

exec sudo-sh ${PPID} ${C}

with

Code: Select all

sudo-sh ${PPID} ${C}
RETURNDLG=0
while [ $RETURNDLG -eq 0 ]
 do
  sleep 1
  ps | grep "gtkdialog --program=SUDOSH_DLG" | grep -v grep 1> /dev/null
  RETURNDLG=$?
 done

Note the deletion of the exec. I don't know if this causes any side effects.