Em man 2 execve
, seção NOTES :
Linux ignores the set-user-ID and set-group-ID bits on scripts.
Veja também:
No Ubuntu 16.04.1:
test.sh
script:
#!/bin/bash
IAM=$(whoami)
ID=$(id -u $IAM)
echo "${IAM}"
echo "${ID}"
Andromeda $ ls -al | grep test.sh
-rwsrwxrwx 1 pkaramol pkaramol 71 Δεκ 8 07:52 test.sh
Como pkaramol
( uid
= 1000)
Andromeda $ ./test.sh
pkaramol
1000
Como testuser
( uid
= 1001)
Andromeda $ su testuser
Password:
testuser@Andromeda:/home/pkaramol/Desktop$ ./test.sh
testuser
1001
Dado que suid
foi definido, por que, na segunda execução, não vemos pkaramol
e 1000
na saída? O script não deve ser executado com o ID do proprietário do arquivo?
Em man 2 execve
, seção NOTES :
Linux ignores the set-user-ID and set-group-ID bits on scripts.
Veja também: