Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: alfonz19 14 Prosince 2010, 10:57:58

Název: setuid bit. Jak to přesně funguje?
Přispěvatel: alfonz19 14 Prosince 2010, 10:57:58
$ cat > test.sh
#!/bin/bash

su jboss -c whoami
$ chmod 755 test.sh
$ sudo chown root:root test.sh
$ sudo chmod u+s test.sh
$ ls -l test.sh
-rwsrwxrwx 1 root root 32 2010-12-14 10:57 test.sh
$ ./test.sh
Password:
su: Authentication failure


proč jsem dotazován na heslo, když
sudo su jboss -c whoami
bez ptaní vypíše jboss? Dle manu bych očekával, že se skript test.sh na heslo ptát nebude.
Název: Re: setuid bit. Jak to přesně funguje?
Přispěvatel: alfonz19 14 Prosince 2010, 11:39:15

aha, takže setuid se vyhodnocuje JEN NA BINÁRKÁCH a perl skriptech. To by stálo za zmínku v dokumentaci ...

---
You cant use setuid on bash scripts, it just wont work. You could make a simple C wrapper that calls that script and compile it though. This is what a lot of scripters do to get around that.

Setuid only works on binaries and perl scripts (if your os supports and has perl-setuid support)