Alle Literatur, die ich bisher auf setuid
gelesen habe, spricht über seteuid
in einer Weise, die impliziert, dass es sich um einen Systemaufruf handelt. Der Abschnitt 2 man
Seiten sagen nie, ob eine Funktion ein Systemanruf ist oder nicht, so seteuid(2)
ist keine Hilfe. Und wenn es sich nicht um einen Systemaufruf handelt, was bedeutet, dass die Funktionalität nicht vom Kernel bereitgestellt wird, wie kann dann eine "effektive UID" eingestellt werden?Ist ein Systemaufruf unter Linux seteuid?
3
A
Antwort
6
Die Abschnitt 2 man Seiten sind alle Systemaufrufe - das ist, was Abschnitt 2 ist für. Die Manpages von Abschnitt 3 sind alle Bibliotheksaufrufe, da Abschnitt 3 dafür zuständig ist. Siehe man (1) (die manuelle Seite für man
selbst) für die Liste der Abschnitte und was sie sind:
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g.
man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
0
Sie können ganz einfach überprüfen, ob es sich um ein Systemaufruf ist oder wenn es in libc definiert durch ein Schreiben kleines Programm und laufen strace darauf. Beispiel:
int main() {
seteuid();
}
gcc -o main main.c
-bash-4.2$ strace ./main 2>&1 | grep set
setresuid(-1, 1, -1) = -1 EPERM (Operation not permitted)
In diesem Fall ist seteuid in libc implementiert. Siehe here für die Implementierung
Verwandte Themen
- 1. Systemaufruf für immer unter Linux lesen
- 2. Ist getaddrinfo() ein Systemaufruf?
- 3. Linux-Systemaufruf getifaddr C++
- 4. seteuid() funktioniert nicht. Grund?
- 5. Wo ist der Userspace-Wrapper für den ioctl-Systemaufruf unter x86_64 Linux definiert?
- 6. Linux Socket Systemaufruf "Akzeptieren" niemals zurück?
- 7. Ist sched_getcpu() unter Linux zuverlässig?
- 8. Wie gibt ein undefinierter Systemaufruf -1 zurück?
- 9. Störungsbereitschaftsbenachrichtigung für Select Systemaufruf
- 10. Unter Linux, wie die Änderung einer Datei/Verzeichnis, durch Systemaufruf oder Shell-Befehl zu überwachen?
- 11. x86 Assembly: Bevor Sie einen Systemaufruf unter Linux durchführen, sollten Sie alle Register speichern?
- 12. Proprietäre Codecs unter Linux. Was ist legal?
- 13. Qt5 unter Linux - wo ist Linguist?
- 14. System.exit ist unter Linux nicht Thread-sicher?
- 15. Trigger inotify Ereignis über NFS unter Linux?
- 16. Ein Problem mit Android Studio unter Linux
- 17. Systemaufruf zurückgibt, bevor rsync abgeschlossen ist
- 18. Stellen Sie ein Qt-Projekt unter Linux
- 19. Interaktiv ein- und ausschalten unter Linux?
- 20. Wie kann ich Systemaufruf von Linux/UNIX in Golang aufrufen
- 21. Ist es möglich, einen Systemaufruf über ein LKM hinzuzufügen?
- 22. strace hat ein anderes Ergebnis von Linux schreiben Systemaufruf auf verschiedenen Puffer
- 23. Ermöglicht es Linux, einen Systemaufruf von Signal-Handlern auszuführen?
- 24. Gibt es Raw Linux Systemaufruf API/ABI-Dokumentation
- 25. Ist ein Linux-Framebuffer-Treiber ein Grafikkartentreiber?
- 26. tchar.h unter Linux
- 27. Echtzeit-Audioanalyse unter Linux
- 28. ASP.Net unter Linux
- 29. Linux-Systemaufruf-Tabelle oder Cheetsheet in Assembler Sprache
- 30. arpalert unter Linux