Bach dice lo siguiente:
mkdir es un
setuidprograma típico . Solo un proceso con una raíz UID efectiva puede crear una carpeta. (Sección 7.6, página 229)
Verifiqué los permisos en Ubuntu 12.04, el bit setuid no está configurado.
-rwxr-xr-x 1 root root 42624 Oct  2 08:55 mkdir
   ^??
Luego verifiqué otros programas que se supone que tienen este conjunto, como pingy suy lo tienen configurado.
-rwsr-xr-x 1 root root 34740 Nov  8  2011 ping
   ^---there it is 
Entonces, ¿cómo mkdirfunciona? ¿Han cambiado las cosas desde que Bach escribió eso?
                    
                        unix
                                system-calls
                                
                    
                    
                        Anirudh Ramanathan
fuente
                
                fuente

Respuestas:
La llamada mkdir () ha estado presente desde BSD 4.2. Más tarde se agregó a SYSV 3.0. Ver: http://pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html
BSD 4.2 salió en 1984: http://www.unix.org/what_is_unix/history_timeline.html
Si se permite el acceso a un punto de entrada en modo kernel en UNIX a través de una llamada al sistema desde el modo de usuario sin restricción, lo que indica duskwuff, entonces no se requiere setuid.
fuente
setuid()sistema llame. ¿Es definitivamente la correcta?mkdir().Ya no es necesario tener privilegios de root para crear una carpeta. Ahora hay una
mkdir()llamada al sistema que cualquier proceso puede usar para crear un directorio.fuente
Exactamente. El permiso para crear un directorio se basa hoy en día en el permiso de escritura en el directorio principal o en el
tbit (para directorios similares a / tmp donde todos pueden crear un directorio, pero usted solo puede eliminar archivos de su propiedad).fuente