Gestión de cuentas y permisos
- Archivos de cuentas de usuario y archivos de cuentas de grupo
- Gestión de cuentas de usuario
-
- Archivo de cuenta de usuario useradd
- Sombra de archivo de cuenta de usuario
- Agregar cuenta de usuario useradd o adduser
- Establecer / cambiar la contraseña de usuario passwd
- Modificar los atributos de una cuenta de usuario usermod
- Eliminar cuenta de usuario userdel
- El archivo de configuración inicial de la cuenta de usuario
- Variable PATH
- Gestión de cuentas grupales
- Consultar información de cuenta
- Permiso y propiedad de archivos / directorios
- Establecer permisos de directorio y archivo (chmod)
- Establecer la propiedad del directorio y del archivo (chown)
- Establecer permisos predeterminados para directorios y archivos (umask)
Archivos de cuentas de usuario y archivos de cuentas de grupo
Linux se basa en la identidad del usuario para controlar el acceso a los recursos.
cuenta de usuario
Superusuario (root): el usuario root es la cuenta de superusuario predeterminada en el sistema operativo Linux y tiene la máxima autoridad en el host. El superusuario es el único en el sistema.
Usuario ordinario: creado por el usuario raíz u otros usuarios administradores, los permisos que tienen estarán restringidos y, por lo general, solo tendrán permisos completos en el registro diario del host del usuario.
Usuarios del programa: al instalar el sistema operativo Linux y algunas aplicaciones, se agregan ciertas cuentas de usuario con pocos privilegios. Por lo general, estos usuarios no pueden iniciar sesión en el sistema y solo se utilizan para mantener el funcionamiento normal del sistema o de un programa. como bin, daemon, Ftp, mail, etc.
Cuenta de grupo
Grupo básico (grupo privado): solo hay una cuenta de grupo básico, generalmente el grupo especificado al crear un usuario.
El cuarto campo registrado en el archivo / etc / passwd es el número GID del grupo básico del usuario.
Grupo adicional (grupo público): además del grupo básico, el usuario agrega un
grupo específico.
UID y GID
UID (identidad de usuario, número de identificación de usuario)
GID (grupo de identidad, número de identificación de grupo)
El número UID y GID de la cuenta de usuario de la raíz son valores fijos. 0 El UID y GID número de
cuenta valores predeterminados del usuario programa a
los números de UID y GID de usuarios normales de 1 a 499 El valor predeterminado es 500 ~ 60.000
Gestión de cuentas de usuario
Archivo de cuenta de usuario useradd
Función: guarde información básica como nombre de usuario, directorio de host, shell de inicio de sesión, etc.
Ubicación del archivo: / etc / passwd
Cada línea corresponde al registro de la cuenta de un usuario
Campo | Descripción |
---|---|
Campo 1 | El nombre de la cuenta de usuario. |
Campo 2 | Marcador de posición de contraseña de usuario "x" (Debido a que en los primeros sistemas operativos UNIX, la información de la contraseña de la cuenta de usuario se almacena en el archivo passwd, los usuarios ilegales pueden obtener fácilmente la cadena de contraseña y la fuerza bruta, por lo que existen ciertos riesgos de seguridad. después de la mejora, la contraseña se transfirió a un archivo de sombra especial, y solo el marcador de posición de contraseña "x" se mantuvo en el archivo de contraseña) |
Campo 3 | Número de UID de la cuenta de usuario |
Campo 4 | Número GID de la cuenta del grupo básico al que pertenece |
Campo 5 | Nombre completo del usuario |
Campo 6 | Directorio de inicio |
Campo 7 | Información del shell de inicio de sesión (/ bin / bash es el sistema de inicio de sesión, / sbin / nologin y / bin / false tienen prohibido a los usuarios iniciar sesión en el sistema) |
P.ej | root: x: 0: 0: root: / root: / bin / bash |
Sombra de archivo de cuenta de usuario
De forma predeterminada, solo el usuario root puede leer el contenido del archivo de sombra y no se le permite editar directamente el contenido del archivo.
Función: guardar la contraseña del usuario, el período de validez de la cuenta y otra información.
Ubicación del archivo: / etc / shadow
Cada línea corresponde al registro de contraseña de un usuario
Campo | Descripción |
---|---|
Campo 1 | El nombre de la cuenta de usuario. |
Campo 2 | Utilice información de cadena de contraseña cifrada MD5. Cuando es "*" o "!!", significa que el usuario no puede iniciar sesión en el sistema. Si el contenido de este campo está vacío, el usuario puede iniciar sesión en el sistema sin contraseña |
Campo 3 | La hora en la que se modificó la contraseña por última vez, lo que significa el número de días entre el momento de la última modificación de la contraseña desde el 1 de enero de 1970. |
Campo 4 | El número mínimo de días para que la contraseña sea válida. Después de que se cambie la contraseña esta vez, al menos este número de días debe transcurrir antes de que la contraseña se pueda volver a cambiar. El valor predeterminado es 0, lo que significa que no hay restricciones. |
Campo 5 | El número máximo de días que la contraseña es válida. Después de cambiar la contraseña esta vez, la contraseña debe cambiarse nuevamente después de este número de días. El valor predeterminado es 99999, lo que significa que no hay restricciones. |
Campo 6 | Con cuántos días de anticipación para advertir al usuario que la contraseña caducará, el valor predeterminado es 7 |
Campo 7 | ¿Cuántos días después de que expire la contraseña para deshabilitar a este usuario? |
Campo 8 | Hora de vencimiento de la cuenta. Este campo especifica la cantidad de días que el usuario está invalidado (calculado a partir del 1 de enero de 1970). El valor predeterminado está vacío, lo que significa que la cuenta está disponible permanentemente. |
Campo 9 | Campo reservado (sin usar) |
P.ej | raíz: 6 66 VyoUGqoC $ v5HlLM1wagzC / FwGfnrtJFnlT: 18445: 0: 99999: 7 ::: |
Agregar cuenta de usuario useradd o adduser
useradd [opciones] nombre de usuario
Agregue el registro de la cuenta de usuario al final del archivo / etc / passwd y del archivo / etc / shadow.
Si el directorio de inicio del usuario no se especifica explícitamente, se creará automáticamente un directorio de inicio con el mismo nombre que la cuenta de usuario en el directorio / home y se crearán varios archivos de configuración inicial del usuario en este directorio.
Si el grupo al que pertenece el usuario no está claramente especificado, se creará automáticamente una cuenta de grupo básica con el mismo nombre que la cuenta de usuario, y la información de registro de la cuenta de grupo se guardará en / etc / group y / etc Archivos / gshadok.
Opciones | Descripción |
---|---|
-u | El número de UID del usuario especificado requiere que otros usuarios no utilicen el número de UID. |
-D | Especificar la ubicación del directorio de inicio del usuario (cuando se usa con -M, no tiene efecto) solo puede especificar el directorio con una ruta absoluta |
-mi | 指定用户的账户失效时间 可使用YYYY-MM-DD的日期格式。 |
-g | 指定用户的基本组名(或使用GID号) 对应的组名必须已存在 |
-G | 指定用户的附加组名(或使用GID号) 对应的组名必须已存在。 |
-M | 不建立宿主目录 |
-s(小写) | 指定用户的登录Shell /bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统 |
例如 | useradd -d / admin -g wheel -G root admin1 useradd -e 2020-12-31 -s / sbin/nologin admin2 |
设置/更改用户口令passwd
passwd [选项] 用户名
不指定用户名时,修改当前账号的密码
root用户可以指定用户名作为参数,对指定账号的密码进行管理
普通用户只能执行单独的"passwd"命令修改自己的密码
选项 | 命令 |
---|---|
-d | 清空指定用户的密码,仅使用用户名即可登录系统 |
-l | 锁定用户账户,锁定的用户账号将无法再登录系统 |
-S(大写) | 查看用户账户的状态(是否被锁定) |
-u | 解锁用户账户 |
设置用户密码方法二
echo “密码” | passwd --stdin 用户名
修改用户账号的属性usermod
usermod [选项] 用户名
选项 | 说明 |
---|---|
-l | 更改用户账号的登录名 |
-L | 锁定用户账号 |
-U | 解锁用户账号 |
其他 | -u、-d、-e、-g、-G、-s与useradd命令的含义相同 |
例如 | 将admin1用户的登录名改为master usermod -l master admin1 |
删除用户账号userdel
userdel [-r] 用户名
添加-r时,表示连用户目录的宿主目录一并删除
例如:删除用户账号stu01
用户账号的初始配置文件
文件来源
useradd命令添加一个新的用户账号后会在该用户的宿主目录中建立一些初始配置文件
这些文件账号模板目录/etc/skel/,基本上都是隐藏文件
用户宿主目录下的初始配置文件只对当前用户有效
主要的用户初始配置文件
文件 | 说明 |
---|---|
~ /.bash_profile | 此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的-/.bashrc |
-/.bashrc | 此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件 |
-/.bash_logout | 此文件中的命令将在用户每次退出登录或退出bash shell时执行 |
以下是全局配置文件对所有用户有效
文件 | 说明 |
---|---|
/etc/profile | 这个文件是为系统全局变量配置文件,可通过重启系统或者执行source(.) /etc/profile 命令使profile文件被读取 |
/etc/profile.d/ | 这个文件是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本 |
/etc/bashrc | 每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell时,使 bashrc文件被读取 |
PATH变量
PATH变量用于设置可执行程序的默认搜索路径
PATH生效的原理
每次启动系统的时候会初始化命令,会执行/etc/profile和-/.bash_profile。/etc/profile会将路径/usr/local/bin、/use/bin、/usr/local/sbin、/usr/sbin 追加到PATH中,然后调用/etc/profile.d 目录下的脚本
组账号管理
组账号文件与用户文件类型
文件位置 | 作用 |
---|---|
/etc/group | 保存组账号的基本信息 |
/etc/gshadow | 保存组账号的密码信息 |
字段 | 描述 |
---|---|
字段1 | 组账号的名称 |
字段2 | 占位符"x" |
字段3 | 组账号的GID号 |
字段4 | 组账号包含的用户成员 多个成员之间用“,” 分隔 |
例如 | mail:x:12:postfix postfix:x:89: |
添加组账号groupadd
groupadd [-g GID] 组账号名
选项 | 说明 |
---|---|
-g | 指定GID号 |
例如 | groupadd -g 1000 market |
添加/删除组成员gpasswd
作用:设置组账号密码、添加/删除组成员
选项 | 说明 |
---|---|
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 定义组成员列表,以逗号分隔 |
例如 | gpasswd -M root,mike,postfix market |
删除组账号groupdel
groupdel 组账号名
查询账号信息
groups
作用:查询用户所属组
groups [用户名]
id
作用:查询用户身份标识(身份标识就是ID号、GID或UID)
id [用户名]
finger
finger命令系统不自带,需要先进行finger软件包的安装(yum install -y finger)
作用:查询用户账号的登录属性
finger [用户名]
w、whos、user
作用:查询已经登录到主机的用户信息
通过tty快捷键的切换也可查询已经登录到主机的用户信息
通常使用tty来简称各种类型的终端设备。
CentOS7系统中tty1表示图形界面,tty2-tty6表示文字界面。可以使用Ctrl+Alt+F1-F6进行切换。
例如按Ctrl+Alt+F2登录,执行w命令查看使用的终端就是tty2
pts说明是用远程工具连接的,比如xshell。后面的数字代表登录时间顺序,越小证明登录的越早
文件/目录的权限和归属
访问权限
读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号
查看文件/目录的权限和归属
这里的数字用的是八进制数字
权限s:s(setuid)该位是让普通用户临时拥有root用户的权限去执行相关程序与命令
设置目录与文件权限(chmod)
chmod [ugoa] [+ -=] [rwx] 文件或目录…
或者
chmod [nnn] 文件或目录
u:属主
g:属组
o:其他用户
a:所有用户
+:增加权限
-:去除权限
=:设置权限
r:读权限
w:写权限
x:运行权限
nnn:3位八进制数
-R:递归修改指定目录下所有子项的权限
设置目录与文件归属(chown)
chown命令
chown 属主 文件或目录
chgrp 属组 文件(此命令只能修改文件)
chown :属组 文件或目录
chgrp 属组 文件或目录
chown 属主:属组 文件或目录
chown 属主.属组 文件或目录
-R:递归修改指定目录下所有子项的权限
设置目录与文件的默认权限(umask)
作用:
1.控制新建的文件或目录的权限
2.默认权限去除umask的权限则为新建的文件或目录的权限
(普通文件的最大默认权限为6,目录的最大默认权限问7)
umask 022(设置权限为022)
umask(查看)