6.5. Creación de los directorios

Es hora de crear cierta estructura en el sistema de ficheros LFS. Crearemos un árbol de directorios. Usando los siguientes comandos se creará un árbol estándar:

install -d /{bin,boot,dev,etc/opt,home,lib,mnt}
install -d /{sbin,srv,usr/local,var,opt}
install -d /root -m 0750
install -d /tmp /var/tmp -m 1777
install -d /media/{floppy,cdrom}
install -d /usr/{bin,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr
install -d /usr/share/{doc,info,locale,man}
install -d /usr/share/{misc,terminfo,zoneinfo}
install -d /usr/share/man/man{1,2,3,4,5,6,7,8}
install -d /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr/local
install -d /usr/local/share/{doc,info,locale,man}
install -d /usr/local/share/{misc,terminfo,zoneinfo}
install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}
install -d /var/{lock,log,mail,run,spool}
install -d /var/{opt,cache,lib/{misc,locate},local}
install -d /opt/{bin,doc,include,info}
install -d /opt/{lib,man/man{1,2,3,4,5,6,7,8}}

Los directorios se crean por defecto con los permisos 755, pero esto no es deseable para todos los directorios. En los comandos anteriores se hacen dos cambios: uno para el directorio personal de root y otro para los directorios de los ficheros temporales.

El primer cambio nos asegura que nadie aparte de root pueda entrar en el directorio /root, lo mismo que debería hacer un usuario normal con su directorio personal. El segundo cambio nos asegura que cualquier usuario pueda escribir en los directorios /tmp y /var/tmp, pero no pueda borrar los ficheros de otros usuarios. Esto último lo prohibe el llamado “bit pegajoso” (sticky bit), el bit más alto (1) en la máscara de permisos 1777.

6.5.1. Nota de conformidad con FHS

El árbol de directorios está basado en el estándar FHS (disponible en http://www.pathname.com/fhs/). Además del árbol arriba creado, dicho estándar estipula la existencia de /usr/local/games y /usr/share/games. No los recomendamos para un sistem base, sin embargo, eres libre de hacer que tu sistema cumpla el FHS. Como sobre la estructura del subdirectorio /usr/local/share el FHS no es preciso, creamos aquí sólo los directorios que son necesarios.