Next: Distribución de teclado, Previous: Swap Space, Up: Configuración del sistema [Contents][Index]
Los grupos y cuentas de usuaria se gestionan completamente a través de la
declaración operating-system
. Se especifican con las formas
user-account
y user-group
:
(user-account
(name "alicia")
(group "users")
(supplementary-groups '("wheel" ;permite usar sudo, etc.
"audio" ;tarjeta de sonido
"video" ;dispositivos audivisuales como cámaras
"cdrom")) ;el veterano CD-ROM
(comment "hermana de Roberto"))
Esta es una cuenta que usa un shell diferente y un directorio personalizado (el predeterminado sería "/home/rober"):
(user-account
(name "rober")
(group "users")
(comment "hermano de Alicia")
(shell (file-append zsh "/bin/zsh"))
(home-directory "/home/roberto"))
Durante el arranque o tras la finalización de guix system
reconfigure
, el sistema se asegura de que únicamente las cuentas de usuaria
y grupos especificados en la declaración operating-system
existen, y
con las propiedades especificadas. Por tanto, la creación o modificación de
cuentas o grupos realizadas directamente invocando órdenes como
useradd
se pierden al reconfigurar o reiniciar el sistema. Esto
asegura que el sistema permanece exactamente como se declaró.
Objetos de este tipo representan cuentas de usuaria. Los siguientes miembros pueden ser especificados:
name
El nombre de la cuenta de usuaria.
group
¶Este es el nombre (una cadena) o identificador (un número) del grupo de usuarias al que esta cuenta pertenece.
supplementary-groups
(predeterminados: '()
)Opcionalmente, esto puede definirse como una lista de nombres de grupo a los que esta cuenta pertenece.
uid
(predeterminado: #f
)Este es el ID de usuaria para esta cuenta (un número), o #f
. En el
último caso, un número es seleccionado automáticamente por el sistema cuando
la cuenta es creada.
comment
(predeterminado: ""
)Un comentario sobre la cuenta, como el nombre completo de la propietaria.
Note that, for non-system accounts, users are free to change their real name
as it appears in /etc/passwd using the chfn
command. When
they do, their choice prevails over the system administrator’s choice;
reconfiguring does not change their name.
home-directory
Este es el nombre del directorio de usuaria de la cuenta.
create-home-directory?
(predeterminado: #t
)Indica si el directorio de usuaria de esta cuenta debe ser creado si no existe todavía.
shell
(predeterminado: Bash)Esto es una expresión-G denotando el nombre de archivo de un programa que será usado como shell (see Expresiones-G). Por ejemplo, podría hacer referencia al ejecutable de Bash de este modo:
(file-append bash "/bin/bash")
... y al ejecutable de Zsh de este otro:
(file-append zsh "/bin/zsh")
system?
(predeterminado: #f
)Este valor lógico indica si la cuenta es una cuenta “del sistema”. Las cuentas del sistema se tratan a veces de forma especial; por ejemplo, los gestores gráficos de inicio no las enumeran.
password
(predeterminada: #f
)Normalmente debería dejar este campo a #f
, inicializar la contraseña
de usuaria como root
con la orden passwd
, y entonces dejar
a las usuarias cambiarla con passwd
. Las contraseñas establecidas
con passwd
son, por supuesto, preservadas entre reinicio y
reinicio, y entre reconfiguraciones.
Si usted realmente quiere tener una contraseña prefijada para una
cuenta, entonces este campo debe contener la contraseña cifrada, como una
cadena. Puede usar el procedimiento crypt
para este fin:
(user-account
(name "carlos")
(group "users")
;; Especifica una contraseña inicial mediante un hash SHA-512.
(password (crypt "ContraseñaInicial!" "$6$abc")))
Nota: El hash de esta contraseña inicial estará disponible en un archivo en /gnu/store, legible por todas las usuarias, por lo que este método debe usarse con precaución.
See Passphrase Storage in The GNU C Library Reference Manual, para
más información sobre el cifrado de contraseñas, y Encryption in GNU Guile Reference Manual, para información sobre el procedimiento de
Guile crypt
.
Las declaraciones de grupos incluso son más simples:
(user-group (name "estudiantes"))
Este tipo es para grupos de usuarias. Hay únicamente unos pocos campos:
name
El nombre del grupo.
id
(predeterminado: #f
)El identificador del grupo (un número). Si es #f
, un nuevo número es
reservado automáticamente cuando se crea el grupo.
system?
(predeterminado: #f
)Este valor booleano indica si el grupo es un grupo “del sistema”. Los grupos del sistema tienen identificadores numéricos bajos.
password
(predeterminada: #f
)¿Qué? ¿Los grupos de usuarias pueden tener una contraseña? Bueno,
aparentemente sí. A menos que sea #f
, este campo especifica la
contraseña del grupo.
Por conveniencia, una variable contiene una lista con todos los grupos de usuarias básicos que se puede esperar:
Esta es la lista de grupos de usuarias básicos que las usuarias y/o los paquetes esperan que estén presentes en el sistema. Esto incluye grupos como “root”, “wheel” y “users”, así como grupos usados para controlar el acceso a dispositivos específicos como “audio”, “disk” y “cdrom”.
Esta es la lista de cuentas de usuaria básicas que los programas pueden esperar encontrar en un sistema GNU/Linux, como la cuenta “nobody”.
Fíjese que la cuenta de “root” no se incluye aquí. Es un caso especial y se añade automáticamente esté o no especificada.
Next: Distribución de teclado, Previous: Swap Space, Up: Configuración del sistema [Contents][Index]