JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Gestión de las cuentas de usuario y los entornos de usuario en Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Gestión de cuentas de usuario y entornos de usuario (descripción general)

Novedades y cambios en la gestión de cuentas de usuario y entornos de usuario

Cambios de seguridad que afectan la gestión de cuentas de usuario

Introducción a la interfaz gráfica de usuario de User Manager

Editor administrativo (pfedit)

Subdirectorio /var/user/$USER

Cambios en el comando groupadd

Notificación de recuento de inicios de sesión fallidos

¿Qué son las cuentas de usuario y los grupos?

Componentes de cuentas de usuario

Nombres de usuario (inicio de sesión)

Números de ID de usuario

Uso de ID de usuario e ID de grupo de gran tamaño

Grupos UNIX

Contraseñas de usuario

Directorios raíz

Servicios de nombres

Entorno de trabajo del usuario

Directrices para asignar nombres de usuario, ID de usuario e ID de grupo

Dónde se almacena la información de cuentas de usuario y grupos

Campos del archivo passwd

Archivo passwd predeterminado

Campos en el archivo shadow

Campos en el archivo group

Archivo group predeterminado

Comandos para obtener información de cuenta de usuario

Comandos que se utilizan para la gestión de usuarios, roles y grupos

Personalización de un entorno de trabajo del usuario

Uso de archivos de inicialización de sitio

Cómo evitar referencias de sistema local

Funciones de shell

Historial de shells bash y ksh93

Variables de entorno de shell bash y shell ksh93

Personalización del shell Bash

Variable de entorno MANPATH

Variable de entorno PATH

Configuración de directrices de ruta

Variables de configuración regional

Permisos de archivo predeterminados (umask)

Personalización de un archivo de inicialización de usuario

2.  Gestión de cuentas de usuario mediante la interfaz de línea de comandos (tareas)

3.  Gestión de cuentas de usuarios mediante el uso de la interfaz gráfica de usuario de User Manager (tareas)

Índice

Personalización de un entorno de trabajo del usuario

La siguiente información se describe en esta sección:

Una parte de la configuración de un directorio principal del usuario es proporcionar archivos de inicialización de usuario para el shell de inicio de sesión del usuario. Un archivo de inicialización de usuario es una secuencia de comandos de shell que establece un entorno de trabajo para un usuario después de que el usuario inicia sesión en un sistema. Básicamente, puede realizar cualquier tarea en un archivo de inicialización de usuario que puede realizar en una secuencia de comandos de shell. Sin embargo, la tarea principal del archivo de inicialización de usuario es definir las características de un entorno de trabajo de usuario, como una ruta de búsqueda, variables de entorno y entorno de ventanas del usuario. Cada shell de inicio de sesión tiene su propio archivo o sus archivos de inicialización de usuario, que se enumeran en la siguiente tabla. Tenga en cuenta que el archivo de inicialización de usuario predeterminado para los shells ksh93 y bash es /etc/skel/local.profile.

Tabla 1-7 Archivos de inicialización de usuario ksh93 y bash

Shell
Archivo de inicialización de usuario
Finalidad
bash
$HOME/.bash_profile

$HOME/.bash_login

$HOME/.profile

Define el entorno del usuario al iniciar la sesión
ksh93
/etc/profile

$HOME/.profile

Define el entorno del usuario al iniciar la sesión
$ENV
Define el entorno del usuario en el inicio de sesión dentro del archivo y es especificado por la variable de entorno ENV del shell Korn

Puede utilizar estos archivos como punto de inicio y luego modificarlos para crear un conjunto de archivos estándar que proporciona un entorno de trabajo común para todos los usuarios. También puede modificar estos archivos para proporcionar el entorno de trabajo para distintos tipos de usuarios.

Para obtener instrucciones paso a paso acerca de cómo crear grupos de archivos de inicialización de usuario para diferentes tipos de usuarios, consulte Cómo personalizar los archivos de inicialización de usuario.

Uso de archivos de inicialización de sitio

Los administradores y los usuarios pueden personalizar archivos de inicialización de usuario. Esta importante tarea se puede realizar con archivos de inicialización de usuario centralizados o distribuidos globalmente denominados archivos de inicialización de sitio. Los archivos de inicialización de sitio le permiten introducir continuamente nuevas funcionalidades al entorno de trabajo del usuario al tiempo que permiten personalizar el archivo de inicialización del usuario.

Cuando hace referencia a un archivo de inicialización de sitio en un archivo de inicialización de usuario, todas las actualizaciones para el archivo de inicialización de sitio se reflejan automáticamente cuando el usuario inicia sesión en el sistema o cuando un usuario inicia un nuevo shell. Los archivos de inicialización de sitio están diseñados para distribuir cambios en todo el sitio para entornos de trabajo de los usuarios que no previó al agregar usuarios.

Puede personalizar un archivo de inicialización de sitio de la misma manera que personaliza un archivo de inicialización de usuario. Estos archivos normalmente residen en un servidor o un conjunto de servidores, y aparecen como la primera instrucción en un archivo de inicialización de usuario. También, cada archivo de inicialización de sitio debe ser del mismo tipo de secuencia de comandos de shell que el archivo de inicialización de usuario al que hace referencia.

Para hacer referencia a un archivo de inicialización de sitio en un archivo de inicialización de usuario de shell ksh93 o bash, coloque una línea al principio del archivo de inicialización de usuario similar a la siguiente línea:

. /net/machine-name/export/site-files/site-init-file

Cómo evitar referencias de sistema local

No agregue referencias específicas al sistema local en el archivo de inicialización de usuario. Las instrucciones en un archivo de inicialización de usuario deben ser válidas, independientemente del sistema al que el usuario se conecta.

Por ejemplo:

Funciones de shell

Esta versión de Oracle Solaris es compatible con las siguientes funciones y comportamiento de shell:

En la siguiente tabla, se describen las opciones de shell que se admiten en Oracle Solaris.

Tabla 1-8 Funciones de shell básicas en la versión de Oracle Solaris

Shell
Ruta
Comentarios
Bourne-Again Shell (bash)
/usr/bin/bash
Shell predeterminado para usuarios creados por un instalador, así como el rol root

El shell (interactivo) predeterminado para usuarios creados con el comando useradd, así como el rol root, es /usr/bin/bash. La ruta predeterminada es /usr/bin:/usr/sbin.

Shell Korn
/usr/bin/ksh
ksh93 es el shell predeterminado en esta versión de Oracle Solaris
Shell C y shell C mejorado
/usr/bin/csh y /usr/bin/tcsh
Shell C y shell C mejorado
Shell compatible con POSIX
/usr/xpg4/bin/sh
Shell compatible con POSIX
Shell Z
/usr/bin/zsh
Shell Z

Nota - El shell Z (zsh) y el shell C mejorado (tsch) no se instalan en el sistema de forma predeterminada. Para usar cualquiera de estos shells, primero debe instalar los paquetes de software necesarios.


Historial de shells bash y ksh93

Tanto el shell bash como el shell ksh93 registran un historial de todos los comandos que ejecuta. Este historial se mantiene por usuario, lo que significa que el historial es persistente entre las sesiones de inicio de sesión y es representativo de todas las sesiones de inicio de sesión.

Por ejemplo, si está en un shell bash, puede visualizar el historial completo de los comandos que ha ejecutado, por ejemplo:

$ history
1 ls
2 ls -a
3 pwd
4 whoami
.
.
.

Para mostrar un número de comandos anteriores, incluya un número entero en el comando:

$ history 2
12 date
13 history

Para obtener más información, consulte la página del comando man history(1).

Variables de entorno de shell bash y shell ksh93

El shell bash y el shell ksh93 almacenan información especial de variables que el shell conoce como una variable de entorno. Para obtener una lista completa de las variables de entorno actuales del shell bash, utilice el comando declare:

$ declare
BASH=/usr/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINEND=()
BASH_SOuRCE=()
BASH_VERSINFO=([0]=''3'' [1]=''2'' [2]=''25'' [3]=''1''
[4]=''release'' [5]''
.
.
.

Para el shell ksh93, use el comando set, que es el comando declare equivalente del shell bash:

$ set
  COLUMNS=80
  ENV='$HOME/.kshrc'
  FCEDIT=/bin/ed
  HISTCMD=3
  HZ=''
  IFS=$' \t\n'
  KSH_VERSION=.sh.version
  LANG=C
  LINENO=1
  .
  .
  .

Para imprimir variables de entorno para cualquier shell, utilice el comando echo o printf. Por ejemplo:

$ echo $SHELL
/usr/bin/bash
$ printf ''$PATH\n''
/usr/bin:/usr/sbin

Nota - Las variables de entorno no persisten entre sesiones. Para configurar las variables de entorno que permanecen coherentes entre inicios de sesión, debe realizar los cambios en el archivo .bashrc.


Un shell puede tener dos tipos de variables:

Variables de entorno

Especifica las variables que se exportan a todos los procesos que son reproducidos por el shell. El comando export se utiliza para exportar una variable. Por ejemplo:

export VARIABLE=value

Estos valores se pueden visualizar mediante el comando env. Un subconjunto de variables de entorno como PATH, afecta el comportamiento del shell en sí mismo.

Variables (locales) de shell

Especifica las variables que afectan sólo el shell actual.

En un archivo de inicialización de usuario, puede personalizar el entorno de shell de un usuario cambiando los valores de las variables predefinidas o especificando variables adicionales.

En la siguiente tabla, se proporcionan más detalles sobre el shell y las variables de entorno que están disponibles en la versión de Oracle Solaris.

Tabla 1-9 Descripciones de variables de shell y de entorno

Variable
Descripción
CDPATH
Establece una variable utilizada por el comando cd. Si el directorio de destino del comando cd se especifica como un nombre de ruta relativa, el comando cd primero busca el directorio de destino en el directorio actual (.). Si no se encuentra el destino, los nombres de ruta enumerados en la variable CDPATH se buscan de manera consecutiva hasta que el directorio de destino se encuentra y el cambio de directorio se completa. Si el directorio de destino no se encuentra, el directorio de trabajo actual se deja sin modificar. Por ejemplo, la variable CDPATH se establece en /home/jean y existen dos directorios en /home/jean, bin y rje. Si está en el directorio /home/jean/bin y escribe cd rje, cambia los directorios a /home/jean/rje, aunque no especifique una ruta completa.
HOME
Establece la ruta para el directorio principal del usuario.
LANG
Establece la configuración regional.
LOGNAME
Define el nombre del usuario que ha iniciado sesión actualmente. El valor predeterminado de LOGNAME se define automáticamente mediante el programa de inicio de sesión para el nombre de usuario especificado en el archivo passwd. Sólo debería ser necesario hacer referencia a esta variable y no reiniciarla.
MAIL
Establece la ruta al buzón de correo del usuario.
MANPATH
Establece las jerarquías de las páginas del comando man que están disponibles.

Nota - A partir de Oracle Solaris 11, la variable de entorno MANPATH ya no se requiere. El comando man determina el MANPATH apropiado según la configuración de variables del entorno de PATH.


PATH
Especifica, en orden, los directorios que el shell busca para encontrar el programa a ejecutar cuando el usuario escribe un comando. Si el directorio no está en la ruta de búsqueda, los usuarios deben escribir el nombre de ruta completa de un comando.

Como parte del proceso de inicio de sesión, la variable de entorno PATH predeterminada se define automáticamente y se establece como se especifica en .profile.

El orden de ruta de búsqueda es importante. Cuando existen comandos idénticos en ubicaciones distintas, se utiliza el primer comando encontrado con ese nombre. Por ejemplo, suponga que PATH está definida en la sintaxis del shell como PATH=/usr/bin:/usr/sbin:$HOME/bin y un archivo denominado sample reside en /usr/bin y /home/jean/bin. Si el usuario escribe el comando sample sin especificar el nombre de ruta completo, se utiliza la versión encontrada en /usr/bin.

PS1
Define el indicador de shell para el shell bash o el shell ksh93.
SHELL
Establece el shell predeterminado utilizado por make, vi y otras herramientas.
TERMINFO
Nombra un directorio donde se almacena una base de datos terminfo alternativa. Utilice la variable TERMINFO en el archivo /etc/profile o /etc/.login. Para obtener más información, consulte la página del comando man terminfo(4).

Cuando la variable de entorno TERMINFO se establece, el sistema primero comprueba la ruta TERMINFO definida por el usuario. Si el sistema no encuentra una definición para un terminal en el directorio TERMINFO definido por el usuario, busca el directorio predeterminado, /usr/share/lib/terminfo, para una definición. Si el sistema no encuentra una definición en ninguna ubicación, el terminal se identifica como "ficticio".

TERM
Define el terminal. Esta variable se debe restablecer en el archivo /etc/profile o /etc/.login. Cuando el usuario invoca a un editor, el sistema busca un archivo con el mismo nombre definido en esta variable de entorno. El sistema busca el directorio al que se hace referencia por TERMINFO para determinar las características de terminal.
TZ
Establece la zona horaria. La zona horaria se utiliza para mostrar fechas, por ejemplo, en el comando ls -l. Si TZ no se estableció en el entorno del usuario, se utiliza la configuración del sistema. De lo contrario, se utiliza la hora del meridiano de Greenwich.

Personalización del shell Bash

Para personalizar el shell Bash, agregue la información al archivo .bashrc que está situado en el directorio principal. El usuario inicial que se crea al instalar Oracle Solaris tiene un archivo .bashrc que define PATH, MANPATH y el indicador de comandos. Para obtener más información, consulte la página del comando man bash(1).

Variable de entorno MANPATH

La variable de entorno MANPATH especifica dónde el comando man busca páginas del comando man de referencia. MANPATH se establece de manera automática según el valor PATH de un usuario, pero, por lo general, incluye /usr/share/man y usr/gnu/share/man.

Tenga en cuenta que la variable de entorno MANPATH de un usuario se puede modificar, independientemente de la variable de entorno PATH. No es necesario un equivalente uno a uno de las ubicaciones de la página del comando man asociadas, con directorios en la variable de entorno $PATH del usuario.

Variable de entorno PATH

Cuando el usuario ejecuta un comando utilizando la ruta completa, el shell utiliza la ruta para encontrar el comando. Sin embargo, cuando los usuarios especifican sólo un nombre de comando, el shell busca los directorios para el comando en el orden especificado por la variable PATH. Si el comando se encuentra en uno de los directorios, el shell ejecuta el comando.

Una ruta predeterminada está establecida por el sistema. Sin embargo, la mayoría de los usuarios la modifica para agregar otros directorios de comando. Muchos problemas del usuario relacionados con la configuración del entorno y el acceso a la versión correcta de un comando o una herramienta pueden atribuirse a rutas definidas incorrectamente.

Configuración de directrices de ruta

A continuación se ofrecen algunas instrucciones para configurar variables PATH efectivas:

Variables de configuración regional

Las variables de entorno LANG y LC especifican convenciones y conversiones específicas de una región para el shell. Estas conversiones y convenciones incluyen zonas horarias, pedidos de clasificación y formatos de fechas, hora, moneda y números. Además, puede utilizar el comando stty en un archivo de inicialización de usuario para indicar si la sesión de terminal admitirá caracteres de varios bytes.

La variable LANG establece todas las posibles conversiones y convenciones para la configuración regional dada. Puede establecer diversos aspectos de localización por separado mediante estas variables LC: LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARY y LC_TIME.


Nota - De manera predeterminada, Oracle Solaris 11 sólo instala configuraciones regionales basadas en UTF-8.


En la siguiente tabla, se describen los valores de variables de entorno para las configuraciones regionales principales de Oracle Solaris 11.

Tabla 1-10 Valores para variables LANG y LC

Valor
Configuración regional
en_US.UTF-8
Inglés, Estados Unidos (UTF-8)
fr_FR.UTF-8
Francés, Francia (UTF-8)
de_DE.UTF-8
Alemán, Alemania (UTF-8)
it_IT.UTF-8
Italiano, Italia (UTF-8)
ja_JP.UTF-8
Japonés, Japón (UTF-8)
ko_KR.UTF-8
Coreano, Corea (UTF-8)
pt_BT.UTF-8
Portugués, Brasil (UTF-8)
zh_CN.UTF-8
Chino simplificado, China (UTF-8)
es_ES.UTF-8
Español, España (UTF-8)
zh_TW.UTF-8
Chino tradicional, Taiwán (UTF-8)

Ejemplo 1-1 Configuración regional mediante las variables LANG

En un archivo de inicialización de usuario de shell Bourne o Korn, debe agregar lo siguiente:

LANG=de_DE.ISO8859-1; export LANG

LANG-de_DE.UTF-8; export LANG

Permisos de archivo predeterminados (umask)

Cuando crea un archivo o directorio, los permisos de archivo predeterminados asignados a un archivo o directorio están controlados por la máscara de usuario. La máscara de usuario está definida por el comando umask en un archivo de inicialización de usuario. Puede mostrar el valor actual de la máscara de usuario si escribe umask y presiona la tecla Retorno.

La máscara de usuario contiene los siguientes valores octales:

Tenga en cuenta que si el primer dígito es cero, no se muestra. Por ejemplo, si la máscara de usuario se establece en 022, se muestra 22.

Para determinar el valor umask que desea definir, reste el valor de los permisos que desee de 666 (para un archivo) o 777 (para un directorio). El resto es el valor que se debe utilizar con el comando umask. Por ejemplo, supongamos que desea cambiar el modo predeterminado para los archivos a 644 (rw-r--r--). La diferencia entre 666 y 644 es 022, que es el valor que utilizará como un argumento para el comando umask.

También puede determinar el valor umask que desea establecer utilizando la siguiente tabla. Esta tabla muestra los permisos de archivo y directorio que se crean para cada uno de los valores octales de umask.

Tabla 1-11 Permisos para valores de umask

Valor octal de umask
Permisos de archivo
Permisos de directorio
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
--- (ninguno)
--- (ninguno)

La siguiente línea en un archivo de inicialización de usuario establece los permisos de archivo predeterminados en rw-rw-rw-.

umask 000

Personalización de un archivo de inicialización de usuario

A continuación, se muestra un ejemplo del archivo de inicialización de usuario .profile. Puede utilizar este archivo para personalizar sus propios archivos de inicialización de usuario. En este ejemplo, se utilizan los nombres y las rutas del sistema que tendrá que modificar para su sitio en particular.

Ejemplo 1-2 El archivo .profile

(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/gnu/bin:. 
(Line 2) MAIL=/var/mail/$LOGNAME 
(Line 3) NNTPSERVER=server1 
(Line 4) MANPATH=/usr/share/man:/usr/local/man 
(Line 5) PRINTER=printer1 
(Line 6) umask 022 
(Line 7) export PATH MAIL NNTPSERVER MANPATH PRINTER
  1. Define la ruta de búsqueda de shell del usuario.

  2. Define la ruta al archivo de correo del usuario.

  3. Define el servidor de reloj/hora del usuario.

  4. Define la ruta de búsqueda del usuario para páginas del comando man.

  5. Define la impresora predeterminada del usuario.

  6. Establece los permisos de creación de archivo predeterminados del usuario.

  7. Establece las variables de entorno enumeradas.