El sistema Linux clasifica algunos comandos relacionados que se usan comúnmente en el trabajo sobre usuarios, grupos de usuarios y operaciones de permisos de archivos.

pregunta:

Descripción: al iniciar sesión en otro servidor, se descubre que el usuario raíz no puede operar el comando docker, y solo el grupo docker puede operarlo. El siguiente comando se puede usar para resolver el problema. El seguimiento es un resumen de aprendizaje .

groups  //查看当前用户所属组 发现组是
sudo gpasswd -a root docker   // 把root用户加到docker组中

Prefacio: Conceptos de usuario y grupo de usuarios

Prefacio 1. Usuarios

Hay tres tipos de usuarios en Linux: superusuarios, usuarios del sistema y usuarios normales.

Superusuario:
root tiene todos los derechos operativos, así que no opere fácilmente archivos bajo la cuenta de root. En la interfaz de caracteres del sistema operativo Linux, el indicador de la cuenta raíz es # y, de forma predeterminada, el UID del usuario raíz es 0.

Usuario del sistema:
El usuario del sistema es un usuario integrado necesario para el funcionamiento normal del sistema Linux y generalmente se utiliza para servicios de gestión. Los usuarios del sistema no se pueden utilizar para iniciar sesión, como bin, daemon, lp y otros usuarios. Los UID de los usuarios del sistema son generalmente 1~499 y sus shells son /sbin/nologin.

Usuarios ordinarios:
los usuarios ordinarios se establecen para permitir que los usuarios usen los recursos del sistema Linux, y las cuentas creadas por los usuarios son generalmente cuentas ordinarias. En la interfaz de caracteres del sistema operativo Linux, el aviso para los usuarios normales es $ y el UID de los usuarios normales es de 1000 a 60000 de forma predeterminada.

Prefacio 2. Grupo de usuarios

Grupo básico (grupo privado):
Al crear un usuario, automáticamente se creará un grupo con el mismo nombre que el usuario. Por ejemplo, crear un usuario de micrófono creará un grupo de micrófono al mismo tiempo, y el usuario de micrófono pertenece al grupo de micrófono.
Grupo adicional (grupo compartido): otros grupos distintos al grupo básico al que pertenece el usuario

1. Agregar usuarios y grupos de usuarios

1. Para agregar un usuario, primero agregue un usuario común con el comando adduser, el comando es el siguiente:

adduser tommy  //添加用户
passwd tommy   //修改密码
groupadd tom   //创建用户组

En segundo lugar, vea el comando del grupo de usuarios,

whoami //查看当前用户

id  //查看当前用户信息
[root@www wei]# id wei
uid=1000(wei) gid=1000(wei)=1000(wei),10(wheel)

groups  tom//查看用户所属组
cat /etc/groups  //查看所有用户组
/

3. Administrar grupos de usuarios

Método 1, comando gpasswd

用法:gpasswd[-a user][-d user][-A user,...][-M user,...][-r][-R]groupname
  参数:
	-a:添加用户到组
	-d:从组删除用户
	-A:指定管理员
	-M:指定组成员和-A的用途差不多
	-r:删除密码
	-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组 


Ejemplo 1: ¿Cómo agregar un usuario a un grupo?

gpasswd -a user1 group1

cat /etc/group  //查看
group1:x:1011:user1,user2

Ejemplo 2: ¿Cómo reemplazar a todos los miembros de un grupo?

gpasswd -M user2,user3 group1
cat /etc/group  //查看,组中的用户全部被替换
group1:x:1011:user2,user3

Ejemplo 3: Eliminar un usuario en el grupo

gpasswd -d user1 group1

Método 2, comando newgrp

newgrp: cambie temporalmente el grupo de usuarios del usuario actual (el grupo de usuarios efectivo modificado solo funciona en un entorno temporal y dejará de ser válido después de cerrar este shell, que es equivalente a una variable de entorno temporal)

inserte la descripción de la imagen aquí

Método 3, comando usermod

usermod -g root tommy //Modifica el usuario tommy para que pertenezca al grupo raíz

Combate de grupos de usuarios: otorgar privilegios de root a los usuarios

2. Dar permiso de root

Método 1:
modifique el archivo /etc/sudoers, busque la siguiente línea y elimine el comentario anterior (#)

 %wheel ALL=(ALL) ALL

Luego modifique el usuario para que pertenezca al grupo raíz (rueda), el comando es el siguiente:

usermod -g root tommy

Después de la modificación, ahora puede iniciar sesión con la cuenta tommy y luego usar el comando su - para obtener privilegios de root para las operaciones.

Método 2:
modifique el archivo /etc/sudoers, busque la siguiente línea y agregue una línea debajo de la raíz, de la siguiente manera:

root ALL=(ALL) ALL
tommy ALL=(ALL) ALL

Después de la modificación, ahora puede iniciar sesión con la cuenta tommy y luego usar el comando su - para obtener privilegios de root para las operaciones.

Método 3: Modifique el archivo /etc/passwd, busque la siguiente línea y cambie la ID de usuario a 0, como se muestra a continuación:

tommy:x:500:500:tommy:/home/tommy:/bin/bash
修改后如下
tommy:x:0:500:tommy:/home/tommy:/bin/bash

Guárdelo y, después de iniciar sesión con la cuenta tommy, obtendrá directamente los permisos de la cuenta raíz.

Nota: Aunque el método 3 parece simple y conveniente, generalmente no se recomienda y se recomienda el método 2.

4. Explicación detallada de los comandos de permiso de modificación de archivos chmod, chgrp, chown

4.1, comando chmod

chmod [quién] [+ | – | =] [modo] nombre de archivo//modificar permisos de operación de archivos

4.1.1 Opciones de comando

命令中各选项的含义为:

操作对象who可是下述字母中的任一个或者它们的组合:

u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:

+ 添加某个权限。
– 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
文件名:以空格分开的要改变权限的文件列表,支持通配符。在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example使同组和其他用户对文件example 有读权限。

4.1.2 Método de configuración de texto

Ejemplo 1:

$ chmod a+x sort
即设定文件sort的属性为:
文件属主(u) 增加执行权限
与文件属主同组用户(g) 增加执行权限
其他用户(o) 增加执行权限

Ejemplo 2:

$ chmod ug+w,o-x text
即设定文件text的属性为:
文件属主(u) 增加写权限
与文件属主同组用户(g) 增加写权限
其他用户(o) 删除执行权限

Ejemplo 3:

$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw——-”,即该文件只有其属主具有读写权限。

4.1.3 Método de configuración digital

Primero debemos entender el significado de los atributos representados por números: 0 significa sin permiso, 1 significa permiso de ejecución, 2 significa permiso de escritura, 4 significa permiso de lectura, y luego sumarlos. Entonces, el formato del atributo numérico debe ser de 3 números octales del 0 al 7 en el orden (u)(g)(o).

Por ejemplo, si desea que el propietario de un archivo tenga permisos de "lectura/escritura", debe configurar 4 (legible) + 2 (escribible) = 6 (lectura/escritura).

La forma general del método de configuración digital es: chmod [modo] nombre de archivo ¼

Ejemplo 1:

$ chmod 644 mm.txt
$ ls –l
即设定文件mm.txt的属性为:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其他人(o) 拥有读权限

Ejemplo 2:

$ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其他人(o) 没有任何权限

4.2, comando chown

Función: Cambia el propietario y el grupo de un archivo o directorio. Este comando también se usa muy comúnmente. Por ejemplo, el usuario root copia un archivo propio al usuario yusi. Para permitir que el usuario yusi acceda a este archivo, el usuario root debe establecer el propietario de este archivo en yusi, de lo contrario, el usuario yusi no puede acceder a este archivo.

Sintaxis: chown [opciones] archivo de usuario o grupo

4.2.1 Descripción de los parámetros:

user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

4.2.1 Ejemplos:

例1:把文件yusi123.com的所有者改为yusi。
$ chown yusi yusi123.com

例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users。
$ chown - R yusi.users /demo

例如:chown qq /home/qq  (把home目录下的qq目录的拥有者改为qq用户)
例如:chown -R qq /home/qq  (把home目录下的qq目录下的所有子文件的拥有者改为qq用户)

4.3, comando chgrp

Función: Cambia el grupo al que pertenece un archivo o directorio.

Sintaxis: chgrp [opciones] grupo nombre de archivo¼

4.3.1 Descripción de los parámetros:

-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent  不显示错误信息。
-h或–no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose  显示指令执行过程。
–help  在线帮助。
–reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
–version  显示版本信息。
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

该命令的各选项含义为:
– R 递归式地改变指定目录及其下的所有子目录和文件的属组。

4.3.2 Instrucciones de uso:

例1:
$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的所有文件的属组为book。

4.4 Conclusión

Más adelante se agregará un resumen de los permisos relevantes. . . . Continuará. .

Supongo que te gusta

Origin blog.csdn.net/wei1359765074410/article/details/129432634
Recomendado
Clasificación