Setuid, setgid, stickybit

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Setuid, setgid, stickybit
Ich hab leider die Konvention vergessen wo dieses Bit angezeigt werden soll.

angenommen ich hab diese rechte:

-rwxrwxrwx

Wenn das uidbit gesetzt sieht das dann so aus:

-rwsrwxwrx, bzw wenn user kein x hat -rwSrwxwrx

Wenn das gid bit gesetzt ist:

-rwxrwsrwx, bzw wenn group kein x hat -rwxrwSwrx

stimmt das so weit?

und wo kommt das sticky bit hin?

thx im vorraus


das stimmt soweit, sticky-bit gibt’s nur bei directories und wird entsprechend als t bzw. T angezeigt bei others.
kannst du ja auch selbst einfach mal durchtesten wenn du mit ‘chmod xyyy name’ die ersten 3 bits (x) entsprechend setzt und dann mit ls die entspr. darstellung anzeigen lässt.


wo kommt das t bzw T hin bei others? bei r,w oder x?


x


Das Sticky Bit gibt es auch bei Dateien, es hat auf Linux Systemen nur keine Bedeutung. Dennoch kann es gesetzt sein. Ausserdem verrät chmod(1) dass es auf anderen Kerneln evtl für systemspezifische Zwecke genutzt wird.


Auch hier meine Frage: Müssen/Sollen wir das umsetzen? Hat ja je nach OS gegenteilige Bedeutung und hat je nichts mit Rechten zu tun…


wie kann man das unter linux bei dateien setzen?
wenn man versucht es für ein file zu setzen (zB mit chmod 7700 myfile), und sich dann ein listing mit ls ausgeben lässt wird nichts angezeigt, auch die bitmaske wie sie in der manpage von lstat aufgeführt ist erkennt das bit nicht (prüfe deshalb auch nicht auf dir/nicht-dir), d.h. es wird wohl nie gesetzt von chmod - bzw kann nicht gesetzt werden?!


mikey@lucifer[tmp] touch hallo
mikey@lucifer[tmp] chmod 1755 hallo
mikey@lucifer[tmp] ls -l hallo
-rwxr-xr-t  1 mikey users 0 2005-06-05 23:23 hallo

ihr sollt nichts umsetzen sondern es lediglich anzeigen wenn es gesetzt ist. Und das könnt ihr dem Modus der stat Struktur entnehmen


mikey@lucifer[tmp] chmod 7700 hallo
mikey@lucifer[tmp] ls -l hallo
-rws--S--T  1 mikey users 0 2005-06-05 23:23 hallo
mikey@lucifer[tmp] uname -a
Linux lucifer 2.6.11.11 #1 Sun Jun 5 19:05:52 CEST 2005 i686 GNU/Linux

danke euch beiden


faui05d [src]> touch hallo
faui05d [src]> chmod 1755 hallo
faui05d [src]> ls -l hallo
-rwxr-xr-x  1 sijecons cipce 0 Jun  6 19:10 hallo
faui05d [src]> uname -a
Linux faui05d 2.4.30 #1 SMP Tue Apr 12 13:46:36 CEST 2005 i686 GNU/Linux
faui05d [src]> chmod 7700 hallo
faui05d [src]> ls -l hallo
-rws--S---  1 sijecons cipce 0 Jun  6 19:10 hallo

sachen gibt’s :slight_smile:


simistil@faui05d[simistil] touch hallo
simistil@faui05d[simistil] chmod 1755 hallo
simistil@faui05d[simistil] ls -l hallo
-rwxr-xr-x  1 simistil immdstud 0 Jun  6 19:37 hallo
simistil@faui05d[simistil] cd /tmp
simistil@faui05d[tmp] touch hallo
simistil@faui05d[tmp] chmod 1755 hallo
simistil@faui05d[tmp] ls -l hallo
-rwxr-xr-t  1 simistil immdstud 0 Jun  6 19:37 hallo

liegt scheinbar am NFS…


mikey@lucifer[~] touch hallo
mikey@lucifer[~] chmod 1755 hallo
mikey@lucifer[~] ls -l hallo
-rwxr-xr-t  1 mikey users 0 2005-06-06 19:38 hallo

wobei es bei mir daheim auch geht (ist auch NFS)