Beruflich Dokumente
Kultur Dokumente
13.2 Linux Fundamentos Objetivos del examen En este capítulo se hará cargo de los temas de
los siguientes objetivos del examen Linux Essentials: Tema 5: Seguridad y permisos de archivos
(peso: 7) 5.1: Seguridad Básica y Identificando Tipos de usuarios Peso: 2 Descripción: Varios
tipos de usuarios en un sistema Linux. Principales Áreas de Conocimiento: • Raíz y Standard
Usuarios • Los usuarios del sistema La siguiente es una lista parcial de los usados archivos,
términos y utilidades: • / etc / passwd, / etc / group • Identificación, quien, w • sudo Las cosas
que son bueno saber: • Do
13.3.1 archivo / etc / passwd Cada línea del archivo / etc / passwd se refiere a una cuenta de
usuario. El siguiente gráfico muestra las primeras diez líneas de un archivo típico / etc / passwd
Each line is separated into fields by colon characters. The fields from left to right are as
follows:
Cada línea se divide en campos de caracteres de dos puntos. Los campos de izquierda a
derecha son los siguientes
La siguiente tabla describe cada uno de estos campos en detalle, usando la primera línea de la
salida de la gráfica anterior (root: x: 0: 0: root: / root: / bin / bash):
El campo
Ejemplo
Descripción
raíz nombre
Este es el nombre de la cuenta
Este nombre es utilizado por la persona cuando inician sesión en el sistema y
cuando la propiedad del archivo está provisto el comando ls -l. Normalmente, el
sistema utiliza el ID de usuario (ver a continuación) interno y el nombre de
cuenta se proporciona para que sea más fácil para los usuarios regulares para
referirse a la cuenta.
id de usuario 0
Cada cuenta se le asigna un ID de usuario (UID). El UID es lo que realmente define la cuenta
como el nombre de usuario normalmente no es utilizado directamente por el sistema. Por
ejemplo, los archivos son propiedad de UID, no por los nombres de usuario. Algunos UID son
especiales. Por ejemplo, el UID de 0 establece que la cuenta de usuario con privilegios
administrativos. UID por debajo de 500 (en algunas distribuciones de Linux 1,000) se reservan
para las cuentas del sistema. Cuentas del sistema serán cubiertos con más detalle más
adelante en este capítulo.
comentario de la raíz
Este campo puede contener cualquier información sobre el usuario, incluyendo su nombre real
(completo) y otra información útil. Este campo también se llama el campo GECOS (General
Electric integral del sistema operativo). GECOS es un formato predefinido rara vez se utiliza
para este campo que define una lista separada por comas de artículos, incluyendo el nombre
completo del usuario, ubicación de la oficina, número de teléfono e información adicional. Un
administrador puede modificar la información GECOS con el comando chfn y los usuarios
pueden mostrar esta información con el comando dedo.
Cuentas del sistema rara vez tienen directorios de inicio, ya que por lo general
no se utilizan para crear o almacenar archivos
Field ExampleDescription
This is the name of the account. This name is used by the person
when they log in to the system and when file ownership is provided
with the ls -l command. Typically, the system uses the user ID
(see below) internally and the account name is provided to make it
name root easiest for regular users to refer to the account.
The root account is normally a special administrative account.
However, it is important to note that not all systems have a root
account and that it is really the user id of 0 (zero) that provides
administrative privileges on the system.
At one time, the password for the user was actually stored in this
password location, but now it is stored in the /etc/shadow file. The x in the
x
placeholder password placeholder field indicates to the system that the
password is not stored here, but rather in the /etc/shadow file.
Each account is assigned a user ID (UID). The UID is what really
defines the account as the user name is normally not directly used
by the system. For example, files are owned by UIDs, not by user
names.
user id 0 Some UIDs are special. For example, the UID of 0 provides that
user account with administrative privileges.
UIDs below 500 (on some Linux distributions 1,000) are reserved for
system accounts. System accounts will be covered in more detail
later in this chapter.
Each file and directory is owned by a user account. Normally the
person who creates the account owns the file. In addition, each file
is owned by a group, normally the user's primary group.
Groups are assigned numeric IDs just like users are.
When a user creates a file, the file is owned by the user's UID and
primary
0 also owned by a group id (GID), the user's primary GID. This field
group id
defines which GID is the user's primary GID.
Besides, providing default group ownership on a file, this field also
indicates that the user is a member of the group, which means the
user will have special permissions on any file that is owned by this
group. Permissions will be covered in detail in a later chapter.
This field can contain any information about the user, including their
real (full) name and other useful information.
This field is also called the GECOS (General Electric
comment root Comprehensive Operating System ) field. GECOS is a rarely used
predefined format for this field that defines a comma-separated list
of items, including the user's full name, office location, phone
number and additional information.
Field ExampleDescription
The bash shell (/bin/bash) is the most common shell for Linux
users.
Note that while this chapter describes the contents of the user and group files, the next
chapter will describe the commands and tools used to modify user and group account
information.
13.3.2 / etc / shadow Archivo Como se mencionó anteriormente, el archivo / etc
/ shadow contiene información de la cuenta relacionada con la contraseña del
usuario. Un archivo típico / etc / shadow se vería como el siguiente gráfico:
name:password:last change:min:max:warn:inactive:expire:reserved
Los campos del archivo / etc / shadow son: Nombre: Contraseña: último
cambio: min: max: advertir: inactivo: expirará: reservado
La siguiente tabla describe los campos del archivo / etc / shadow con más
detalle, utilizando el siguiente relato que describe una cuenta de usuario típico
sysadmin:$6$lS6WJ9O/fNmEzrIi$kO9NKRBjLJJTlZD.L1Dc2xwcuUYaYwCTS.g
t4elijSQW8ZDp6GLYAx.TRNNpUdAgUXUrzDuAPsYs5YHZNAorI1:15020:5:30:7
:60:15050:
5 min
Este es uno de los campos de envejecimiento de contraseñas; un valor distinto
de cero en este campo indica que después de un usuario cambia su
contraseña, la contraseña no se puede cambiar de nuevo para el número
especificado de días (5 días en este ejemplo). Este campo es importante
cuando se utiliza el campo max (véase más adelante).
Un valor de cero en este campo significa que el usuario siempre puede cambiar
su contraseña.
max 5
Este campo se utiliza para obligar a los usuarios a cambiar sus contraseñas en
una base regular. Un valor de 30 en este campo significa que el usuario debe
cambiar su contraseña al menos cada 30 días para evitar que su cuenta
"bloqueada".
Por ejemplo, un min: max de 5:60 significa que el usuario debe cambiar su
contraseña cada 60 días y, después de cambiar, el usuario debe esperar 5 días
antes de que puedan cambiar su contraseña de nuevo.
expirará 15050
Este campo representa el número de días del 1 de enero 1970 y el día de la
cuenta se "expira". Una cuenta caducada será bloqueado, no se eliminan, lo
que significa que el administrador puede restablecer la contraseña para
desbloquear la cuenta.
reservado
Actualmente no se utiliza, este campo está reservado para uso futuro.
Los usuarios normales no pueden ver el contenido del archivo / etc / shadow
por razones de seguridad. Para ver el contenido de este archivo, debe iniciar
sesión como administrador (la cuenta de root).
13.3.3 Visualización de información de la cuenta Una buena manera de ver la
información de la cuenta desde el archivo / etc / passwd es usar el comando
grep para salida sólo la línea que contiene la cuenta que le interesa. Por
ejemplo, para ver la información de la cuenta para el nombre de usuario
llamado "sysadmin" , utilice el comando / etc / passwd sysadmin grep:
A good way to view account information from the /etc/passwd file is to use the grep
command to output just the line containing the account that you are interested in. For
example, to see the account information for the user name named "sysadmin", use the
grep sysadmin /etc/passwd command:
Another technique for retrieving user information that is normally contained in the
/etc/passwd and /etc/shadow files is to use the getent command. One advantage to
using the getent command is that it can retrieve account information that is defined locally
(/etc/passwd and /etc/shadow) or on a network directory server.
The general syntax of a getent command is: getent database record. For example, the
getent passwd sysadmin command would retrieve the passwd account information for
the sysadmin user:
Otra técnica para la recuperación de la información del usuario que
normalmente se encuentra en el directorio / etc / passwd y / etc / shadow
archivos es utilizar el comando getent. Una de las ventajas de utilizar el
comando getent es que puede recuperar información de la cuenta que se
define a nivel local (/ etc / passwd y / etc / shadow) o en un servidor de
directorio de red.
La sintaxis general de un comando getent es: registro de la base getent. Por
ejemplo, el comando passwd sysadmin getent sería recuperar la información de
la cuenta passwd para el usuario sysadmin:
13.3.5 cuentas del sistemaLos usuarios podrán iniciar sesión en el sistema utilizando
cuentas de usuario regulares. Por lo general, estas cuentas tienen valores de UID de más
de 500 (en algunos sistemas 1,000)
.El usuario root tiene acceso especial al sistema. Como se mencionó anteriormente, este
acceso especial se proporciona en realidad a la cuenta con un UID de 0
.Hay cuentas adicionales que no están diseñadas para que los usuarios inician sesión en.
Estas cuentas, típicamente de 1 a UID UID 499, se llaman cuentas del sistema y que están
diseñados para proporcionar cuentas de los servicios que se ejecutan en el
sistema.Cuentas del sistema tienen algunos campos en los archivos / etc / passwd y / etc /
shadow que son diferentes a otras cuentas. Por ejemplo, en el archivo / etc / passwd, las
cuentas del sistema tendrá un programa sin fines de inicio de sesión en el campo "login
shell":bin: x: 1: 1: bin: / bin: / sbin: / sbin / nologin
En el archivo / etc / shadow, las cuentas del sistema suele tener un carácter * en lugar del
campo de contraseña:bin: *: 15513: 0: 99999: 7 :::Hay algunas cosas importantes que
usted debe recordar sobre las cuentas del sistema:
• La mayoría son necesarios para que el sistema funcione correctamente.• Usted no debe
eliminar una cuenta del sistema a menos que esté absolutamente seguro de que la
eliminación de la cuenta no causará problemas
.• A medida que adquiera más experiencia, usted debe aprender lo que hace cada cuenta
del sistema. Los administradores de sistemas tienen la tarea de garantizar la seguridad en
el sistema y que incluye asegurar adecuadamente las cuentas del sistema.
13.4.1 / etc / group Archivo El archivo / etc / group es un archivo de colon delimitado con
los siguientes campos: nombre_grupo: password_placeholder: GID: lista_usuarios La
siguiente tabla describe los campos del archivo / etc / group con más detalle, utilizando
una línea que describe una cuenta de grupo típico: mail: x: 12: correo, postfix
group_name:password_placeholder:GID:user_list
The following table describes the fields of the /etc/group file in more detail, using a line
that describes a typical group account:
mail:x:12:mail,postfix
Users can also access files and devices if they are members of secondary groups. The id
command can also be used to verify the user's secondary group memberships:
Los usuarios también pueden acceder a los archivos y dispositivos si son miembros de los
grupos secundarios. El comando id también se puede utilizar para verificar la pertenencia a
grupos secundarios del usuario
Without passing any options to the command, id lists both primary and secondary group
memberships:
Sin pasar cualquier opción para el comando, listas de identificación tanto la pertenencia a
grupos de primaria y secundaria:
A username can be added to determine the groups of a specific user:
A username can be added to determine the groups of a specific user:
This aligns with the content of the /etc/group file, as a search for sysadmin reveals:
Esto se alinea con el contenido del archivo / etc / group, como una búsqueda de
administrador de sistemas revela
13.4.3 Cambio de la Propiedad del Grupo de un archivo existente Para cambiar el propietario
del grupo de un archivo existente el comando chgrp nombre_grupo archivo se puede utilizar.
Los usuarios sólo pueden cambiar la propiedad de archivos que poseen. El nuevo grupo
propietario del archivo debe ser también un grupo que el usuario es miembro de
To change the group ownership of all of the files of a directory structure, use the -R option
to the chgrp command. For example, the chgrp -R games test_dir command would
change the group ownership of the test_dir directory and all files and sub directories of the
test_dir directory.
There is also a chown command that can be used to change the user owner of a file or
directory. However, this command can only be used by the root user. Regular users can't
"give" their files to another user.
Para cambiar la propiedad de grupo de todos los archivos de una estructura de directorios,
utilice la opción -R al comando chgrp. Por ejemplo, los juegos -R chgrp test_dir comando
cambiarían el grupo propietario del directorio test_dir y todos los archivos y subdirectorios
del directorio test_dir. También hay un comando chown que se puede utilizar para cambiar
el propietario de usuario de un archivo o directorio. Sin embargo, este comando sólo puede
ser utilizado por el usuario root. Los usuarios normales no pueden "dar" a sus archivos a
otro usuario.
13.5 Inicio de sesión como rootHay muchas maneras diferentes para ejecutar un comando
que requiere privilegios de administrador o root. Como ya se mencionó, iniciar sesión en el
sistema como usuario root permite ejecutar comandos como administrador. Esto es
potencialmente peligroso porque puede olvidar que ha iniciado la sesión como root y
puede ejecutar un comando que podría causar problemas en el sistema.
Como resultado de ello, no se recomienda para iniciar la sesión como usuario root
directamente.Debido a que el uso de la cuenta root es potencialmente peligroso, sólo debe
ejecutar comandos como root si se necesitan privilegios de administrador. Si la cuenta de
root está desactivada, ya que está en la distribución Ubuntu, entonces los comandos de
administración se pueden ejecutar con el comando sudo. Si la cuenta de root está
activada, un usuario normal puede ejecutar el comando su para cambiar de cuenta de la
cuenta de root.Cuando inicia sesión en el sistema directamente como root para ejecutar
comandos, a continuación, todo lo relacionado con la sesión se ejecuta como el usuario
root.
Si se utiliza el entorno gráfico, esto es especialmente peligroso ya que el proceso de login
gráfica se compone de muchos ejecutables diferentes (programas que se ejecutan durante
el inicio de sesión). Cada programa que se ejecuta como el usuario root representa una
amenaza mayor que un proceso se ejecute como un usuario estándar, ya que esos
programas se les permite hacer casi cualquier cosa, mientras que los programas de
usuario estándar están muy limitados en lo que pueden hacer.
El otro peligro potencial con iniciar sesión en el sistema como root es que una persona que
no puede olvidar a cerrar la sesión para hacer su trabajo no administrativo. Esto significa
que los programas como navegadores, clientes de correo electrónico, etc. se ejecutan
como el usuario root sin restricciones en lo que podían hacer. El hecho de que varias
distribuciones de Linux, especialmente de Ubuntu, no permiten que los usuarios iniciar
sesión como usuario root debería ser suficiente implicación de que esta no es la mejor
forma de realizar tareas administrativas
13.6 Uso del comando Do El comando su le permite ejecutar un shell como un usuario
diferente. Por defecto, si no se especifica una cuenta de usuario, el comando su se abrirá
un nuevo shell como usuario root. Si bien el cambio a usuario root es lo que el comando su
se utiliza para la mayor frecuencia, también puede cambiar a otros usuarios también. Una
opción común que se utiliza con el comando su es la opción -l, lo que se traduce en el
nuevo shell de ser un shell de entrada. Usando el comando su con una opción de inicio de
sesión de shell es a menudo importante para asegurar que todos los comandos ejecutados
se ejecutarán correctamente, como el shell de entrada configura plenamente el nuevo shell
con la configuración del nuevo usuario. Un intérprete de no ingreso esencialmente sólo
cambia el UID, pero no registra totalmente al usuario en la opción -l se puede abreviar
como simplemente -. O explicó como --login. Desde la cuenta de root se utiliza de forma
predeterminada con el comando su, los siguientes dos comandos son formas equivalentes
para iniciar un shell como usuario root:
su - root
su -
Después de pulsar Intro para ejecutar cualquiera de estos comandos, el usuario debe
proporcionar la contraseña del usuario root para iniciar el shell como usuario root. Si usted
no sabe la contraseña de la cuenta que usted está cambiando para, a continuación, el
comando su fallará. Después de usar el shell iniciado por el comando su para llevar a cabo
las tareas administrativas necesarias, vuelva a su carcasa original (y la cuenta de usuario
original) usando el comando exit
13.7 Uso del comando sudoEn distribuciones que no permiten que el usuario root para
iniciar sesión directamente o mediante el comando su, el proceso de instalación configura
automáticamente una cuenta de usuario para poder utilizar el comando sudo para ejecutar
comandos como si ellos fueron ejecutados por el usuario root.Al igual que el comando su,
el comando sudo asume por defecto la cuenta de usuario root debe utilizar para ejecutar
comandos; para especificar una cuenta de usuario diferente utilice la opción -u.Al utilizar el
comando sudo para ejecutar un comando como usuario root, el comando le pedirá propia
contraseña del usuario (no la del usuario root). Esta es una característica de seguridad que
impida el acceso de root no autorizada si el usuario tuviera que dejar su computadora
desatendida. El mensaje para la contraseña no aparecerá de nuevo, siempre y cuando el
usuario continúa ejecutando sudo comandos de menos de cinco minutos de
diferencia.Usando el comando sudo para ejecutar un comando de administración resultará
en una entrada colocada en un archivo de registro. Esta entrada incluirá el nombre de
usuario que ejecuta el comando, el comando que se ejecutó y la fecha y hora en que se
ejecutó el comentario. Esto permite una mayor rendición de cuentas, en comparación con
un sistema en el que muchos usuarios puedan conocer la contraseña de root y pueden o
bien iniciar sesión directamente como root o utilizar el comando su para ejecutar
comandos como usuario root.Usted puede utilizar el comando sudo para ejecutar un
comando que requiere privilegios de root. Por ejemplo, debe ser el usuario root para poder
ver el archivo / etc / shadow. El jefe de comando sudo / etc / shadow correría el comando
head como usuario root:
You can use the sudo command to execute a command that requires root privileges. For
example, you need to be the root user in order to view the /etc/shadow file. The sudo
head /etc/shadow command would run the head command as the root user:
One big advantage to using sudo to execute administrative commands is that it reduces the
risk that a user accidentally executes a command as root. The intention to execute a
command is clear; the command is executed as root if prefixed with the sudo command.
Otherwise, the command is executed as a regular user.
Una gran ventaja de usar sudo para ejecutar comandos administrativos es que reduce el
riesgo de que un usuario ejecuta accidentalmente un comando como root. La intención de
ejecutar un comando es clara; el comando se ejecuta como root si se precede con el
comando sudo. De lo contrario, el comando se ejecuta como un usuario normal.
13.7.1 Configuración del comando sudoSi el comando sudo no está configurado
automáticamente durante la instalación, puede ser configurado para trabajar manualmente
después de la instalación. Inicialmente, esto requeriría una sesión como usuario root (o
usando el comando su para cambiar a la cuenta de root), pero después de que se ha
configurado, los usuarios especificados será capaz de ejecutar comandos sudo. Se
configura el acceso al comando sudo, ejecute el comando visudo.El comando visudo le
colocará en un programa de edición, por defecto, la vi (o vim) editor en la mayoría de los
sistemas, lo que puede ser un reto para los usuarios novatos de Linux para su uso. Para
configurar otro editor, exportar la variable EDITOR con el valor del editor de su preferencia.
Por ejemplo, para utilizar el editor gedit lugar de vi / vim, usted ejecute el comando export
EDITOR = gedit antes de que usted ejecute el comando visudo.Usando el comando visudo
abrirá el archivo / etc / sudoers configuración para su edición. Aunque son posibles
configuraciones avanzadas del comando sudo a través de este archivo, que están más allá
del alcance de este curso. Básicamente, las entradas se hacen en este archivo para
especificar qué usuario (s) en el que las máquinas pueden utilizar el comando sudo para
ejecutar comandos como otros usuarios.Esta entrada por defecto ...
...could be read as, "the root user can on ALL machines act as ALL users to execute ALL
commands." To allow a user such as "sysadmin" to execute all commands as all users
using the sudo command, an entry like the following could be added:
podría ser leído como ", el usuario root puede en todas las máquinas actuar como TODOS
los usuarios para ejecutar todos los comandos." Para permitir a un usuario como
"sysadmin" para ejecutar todos los comandos como todos los usuarios utilizando el
comando sudo, una entrada como la siguiente podría añadirse:
13.8 Uso del comando who El comando who muestra una lista de los usuarios que se
registran actualmente en el sistema, en el que se registran desde y al iniciar la sesión. A
través de la utilización de opciones, este comando también es capaz de mostrar
información como el nivel de run (ejecución) actual (un estado funcional del equipo) y el
tiempo que el sistema se inicia.
13.9 Utilizando el Comando w El comando w proporciona una lista más detallada acerca
de los usuarios actualmente en el sistema que el que mandan. También proporciona un
resumen del estado del sistema. Por ejemplo:
[sysadmin@localhost ~]$ w
10:44:03 up 50 min, 4 users, load average: 0.78, 0.44, 0.19
USER TTY FROM LOGIN@ IDLE JCPU PCPU W
HAT
root tty2 - 10:00 43:44 0.01s 0.01s -
bash
sysadmin tty1 :0 09:58 50:02 5.68s 0.16s p
am: gdm-password
sysadmin pts/0 :0.0 09:59 0.00s 0.14s 0.
13s ssh 192.168.1.2
sysadmin pts/1 example.com 10:00 0.00s 0.03s 0.01s w
TTY tty2 This column indicates which terminal window the user is working in.
IDLE 43:44 How long the user has been idle since the last command they ran.
PCPU 0.01s The total cpu time for the current process.