(Ubuntu) setuid bash não funciona

3

Aqui está o código:

(root:)

# mkdir /test
# cp /bin/bash /test/sbash
# chmod a+s /test/sbash

(user1:)

$ cd /test
$ ./sbash
$ mkdir trycreate
mkdir: cannot create directory 'trycreate': Permission denied

E os scripts bash com o conjunto de bits setuid não funcionam.

A propósito, meu script setuid perl funciona:

test.pl: (com setuid bit set, owner = root)

#!/usr/bin/perl
mkdir('/test/tryperlcreate') or die 'failed'; 

execute test.pl pelo user1 irá criar o diretório de propriedade de root.

    
por Xiè Jìléi 13.12.2009 / 13:18

5 respostas

3

Tente exec ./sbash com -p.

sh:~# cp /bin/bash /bin/ape
sh:~# chmod +s /bin/ape
sh:~**$** /bin/ape -p
ape-3.2#
    
por 17.09.2010 / 11:34
6

Você não pode criar scripts SUID. Felizmente.

Você pode estar interessado no programa "wrapper" da SUID aqui: link

Eu também devo adicionar, por favor, por favor, por favor, certifique-se de que você realmente precisa fazer isso antes de fazê-lo. Os binários SUID podem ser um grande buraco no seu sistema.

    
por 13.12.2009 / 13:32
4

Eu já pude repassar o que já foi feito até a morte, mas essa é uma ótima leitura.

Basicamente, scripts de shell setuid não funcionam por padrão

link

    
por 13.12.2009 / 13:54
1

Isso ocorre por design, tanto no Ubuntu quanto em muitos outros sistemas modernos * nix. Enquanto um setuid é sempre uma potencial vulnerabilidade de segurança, isso é extra quando lidamos com scripts de shell.

(O problema clássico é fazer alguém brincar com o que é considerado argumento separado modificando a variável de ambiente IFS.)

    
por 13.12.2009 / 13:37
1

Como outros já mencionaram, isso ocorre por design.

Tente usar scripts sudo em vez de setuid.

    
por 13.12.2009 / 17:20

Tags

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '660072',
    'url' => 'ubuntu-setuid-bash-doesnt-work',
];

$_COOKIE = [
    '_csrf-frontend' => 'cc0002e294d0f7eb36dc74eff8e039b7ee1a7fb679e519f685b2e8448945abc1a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"QJEaaNs2xO5cwVt0fVAfzvl10K3Rsbsj";}',
    'advanced-frontend' => 'hovbco240dt0of29ni7t8d0i9i',
];

$_SESSION = [
    '__flash' => [],
];