SUID, не работающий?

На Ubuntu 16.04.1:

test.sh сценарий:

#!/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

Как pkaramol (uid=1000)

Andromeda $ ./test.sh 
pkaramol
1000

Как testuser (uid=1001)

Andromeda $ su testuser 
Password: 
testuser@Andromeda:/home/pkaramol/Desktop$ ./test.sh 
testuser
1001

Учитывая, что suid был установлен, почему во втором выполнении сделайте мы не видим pkaramol и 1000 в выводе? Разве сценарий, как предполагается, не выполняется с идентификатором владельца файла?

2
задан 8 December 2016 в 09:32

1 ответ

От man 2 execve, раздел NOTES :

Linux ignores the set-user-ID and set-group-ID bits on scripts.

Также см.:

3
ответ дан 2 December 2019 в 02:49

Другие вопросы по тегам:

Похожие вопросы: