O sistema linux classifica alguns comandos relacionados comumente usados no trabalho sobre usuários, grupos de usuários e operações de permissão de arquivo

pergunta:

Descrição: Ao fazer login em outro servidor, descobriu-se que o usuário root não pode operar o comando docker e apenas o grupo docker pode operá-lo. O seguinte comando pode ser usado para resolver o problema. O acompanhamento é um resumo de aprendizado .

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

Prefácio: Conceitos de usuário e grupo de usuários

Prefácio 1. Usuários

Existem três tipos de usuários no Linux: superusuários, usuários do sistema e usuários comuns.

Superusuário:
o root tem todos os direitos operacionais, portanto, não opere arquivos com facilidade na conta root. Na interface de caracteres do sistema operacional Linux, o prompt da conta root é # e, por padrão, o UID do usuário root é 0.

Usuário do sistema:
O usuário do sistema é um usuário interno necessário para a operação normal do sistema Linux e geralmente é usado para serviços de gerenciamento. Os usuários do sistema não podem ser usados ​​para efetuar login, como bin, daemon, lp e outros usuários. Os UIDs dos usuários do sistema são geralmente de 1 a 499 e seus shells são /sbin/nologin.

Usuários comuns: Os
usuários comuns são estabelecidos para permitir que os usuários usem os recursos do sistema Linux, e as contas criadas pelos usuários geralmente são contas comuns. Na interface de caracteres do sistema operacional Linux, o prompt para usuários comuns é $ e o UID de usuários comuns é de 1.000 a 60.000 por padrão.

Prefácio 2. Grupo de usuários

Grupo básico (grupo privado):
Ao criar um usuário, um grupo com o mesmo nome do usuário será criado automaticamente. Por exemplo, criar um usuário de microfone criará um grupo de microfones ao mesmo tempo, e o usuário de microfone pertence ao grupo de microfones.
Grupo adicional (grupo compartilhado): outros grupos diferentes do grupo básico ao qual o usuário pertence

1. Adicione usuários e grupos de usuários

1. Para adicionar um usuário, primeiro adicione um usuário comum com o comando adduser, o comando é o seguinte:

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

Em segundo lugar, visualize o comando do grupo de usuários,

whoami //查看当前用户

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

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

3. Gerenciar grupos de usuários

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加入该组 


Exemplo 1: Como adicionar um usuário a um grupo?

gpasswd -a user1 group1

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

Exemplo 2: Como substituir todos os membros de um grupo?

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

Exemplo 3: Excluir um usuário no grupo

gpasswd -d user1 group1

Método 2, comando newgrp

newgrp: Alterna temporariamente o grupo de usuários do usuário atual (o grupo de usuários efetivo modificado funciona apenas em um ambiente temporário e se tornará inválido após fechar este shell, o que equivale a uma variável de ambiente temporária)

insira a descrição da imagem aqui

Método 3, comando usermod

usermod -g root tommy //Modifica o usuário tommy para pertencer ao grupo root

Combate de grupo de usuários: concedendo privilégios de root aos usuários

2. Dê permissão de root

Método 1:
Modifique o arquivo /etc/sudoers, localize a seguinte linha e remova o comentário anterior (#)

 %wheel ALL=(ALL) ALL

Em seguida modifique o usuário para pertencer ao grupo root (roda), o comando é o seguinte:

usermod -g root tommy

Após a modificação, agora você pode fazer login com a conta tommy e usar o comando su - para obter privilégios de root para operações.

Método 2:
Modifique o arquivo /etc/sudoers, localize a seguinte linha e adicione uma linha em root, da seguinte forma:

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

Após a modificação, agora você pode fazer login com a conta tommy e usar o comando su - para obter privilégios de root para operações.

Método 3: Modifique o arquivo /etc/passwd, localize a seguinte linha e altere o ID do usuário para 0, conforme mostrado abaixo:

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

Salve-o e, após fazer login com a conta tommy, você obterá diretamente as permissões da conta root.

Observação: embora o método 3 pareça simples e conveniente, geralmente não é recomendado, e o método 2 é recomendado.

4. Explicação detalhada dos comandos de permissão de modificação de arquivo chmod, chgrp, chown

4.1, comando chmod

chmod [quem] [+ | – | =] [modo] nome do arquivo//modifica as permissões de operação do arquivo

4.1.1. Opções 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 configuração de texto

Exemplo 1:

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

Exemplo 2:

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

Exemplo 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 configuração digital

Devemos primeiro entender o significado dos atributos representados por números: 0 significa sem permissão, 1 significa permissão executável, 2 significa permissão gravável, 4 significa permissão legível e, em seguida, some-os. Portanto, o formato do atributo numérico deve ser 3 números octais de 0 a 7 na ordem (u)(g)(o).

Por exemplo, se você deseja que o proprietário de um arquivo tenha permissões de "leitura/gravação", é necessário definir 4 (legível) + 2 (gravável) = 6 (leitura/gravação).

A forma geral do método de configuração digital é: chmod [modo] nome do arquivo ¼

Exemplo 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) 拥有读权限

Exemplo 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

Função: Alterar o proprietário e o grupo de um arquivo ou diretório. Este comando também é muito usado. Por exemplo, o usuário root copia um arquivo próprio para o usuário yusi.Para permitir que o usuário yusi acesse este arquivo, o usuário root deve definir o proprietário deste arquivo como yusi, caso contrário, o usuário yusi não pode acessar este arquivo.

Sintaxe: chown [opções] usuário ou arquivo de grupo

4.2.1. Descrição do parâmetro:

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

4.2.1. Exemplos:

例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

Função: Alterar o grupo ao qual pertence um arquivo ou diretório.

Sintaxe: chgrp [opções] grupo nome do arquivo¼

4.3.1. Descrição do parâmetro:

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

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

4.3.2. Instruções de uso:

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

4.4. Conclusão

Subseqüente resumo da autoridade relevante a ser complementado. . . . Continua. .

Acho que você gosta

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