minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Prefácio: Esta seção fala principalmente sobre o conteúdo relacionado às permissões do Linux. As permissões do Linux não podem ser sentidas se você usar a conta root, então precisamos usar contas comuns para aprender o conteúdo relevante desta seção e realizar alguns testes experimentais. Então, através do estudo das permissões do Linux, podemos saber por que às vezes sempre temos permissão negada ao operar um arquivo e nos informar a diferença entre as permissões de arquivo no diretório raiz e as permissões de arquivo no diretório inicial do usuário comum.
ps: Esta seção é indicada para amigos que estão aprendendo Linux e conhecem alguns comandos do Linux.
//Primeiro, vamos conhecer a classificação dos usuários no Linux:
- raiz:superusuário, administrador
- usuário geral: Ou seja, alguns usuários que criamos. (Usuários comuns do addusr)
A diferença fundamental entre esses dois usuários é que o usuário root não está restrito por permissões, enquanto os usuários comuns são restritos por permissões.
//seu
Usuários comuns podem mudar para usuários root, e usuários root também podem mudar para usuários comuns.
Mude de usuário comum para usuário root:
O primeiro - su + senha root. Você pode mudar para se tornar o usuário root. Se você mudar neste momento, a posição do usuário permanecerá inalterada após a mudança.
O segundo tipo - su- + senha root. Mude também para o usuário root. Se você mudar neste momento, a localização do usuário após a mudança se tornará o diretório inicial do próprio root.
Depois de mudar nas duas situações acima, você pode usar cral + d para voltar.
Mudando o usuário root para um usuário normal - Mudar o usuário root para um usuário normal não requer senha e pode ser trocado diretamente.
Usuário comum muda para usuário comum
Geralmente, há duas maneiras de os usuários comuns mudarem para se tornarem usuários comuns:
A primeira - se você tiver a senha do usuário comum, poderá usar su + usuário + senha do usuário para trocar de identidade.
O segundo tipo - primeiro mude para o usuário root (consulte o método de comutação acima) e, em seguida, mude diretamente para o usuário especificado por meio da identidade root.
Observe que você pode usar cral + d para voltar à troca de identidade de consciência.
Escalação de privilégios de comando : Quando executamos o comando, não podemos mudar para o usuário root, mas apenas escalar os privilégios de um dos comandos. Neste momento, usamos sudu + comando + a senha do usuário atual. Amigos podem ter dúvidas aqui, por que você precisa inserir sua própria senha para aumentar os privilégios de um determinado comando, em vez da senha root? Isso porque essa escalada de privilégios de comando é condicional, ou seja, somente quando um usuário é adicionado à lista de permissões do sistema é que a escalada de privilégios de comando pode ser realizada. Se não for adicionado à lista de permissões, o comando de escalonamento de privilégios será inútil.
No vernáculo, permissões referem-se a se você tem permissão para fazer algo.
A identidade de um usuário é dividida em: proprietário, grupo e outros.
Vejamos a seguinte série de linhas de comando:
Aqui, o primeiro _mian_yang representa inicialmente o proprietário do arquivo e o segundo _mian_yang representa o grupo ao qual o arquivo pertence. Ou seja, o proprietário desses arquivos é _mian_yang, e _mian_yang é a identidade do proprietário; o grupo ao qual esses arquivos pertencem é _mian_yang. Se um usuário pertence ao grupo _mian_yang, então ele é a identidade do grupo ao qual. ao qual ele pertence; e se um usuário for ambos, não é _mian_yang, nem está no grupo ao qual _mian_yang pertence. Então esse usuário é a identidade de outra pessoa.
Portanto, se houver um diretor chamado Zhang San, Zhang San deseja ir ao escritório de seu diretor. Então, eu gostaria de perguntar se Zhang San pode ir à sala do diretor porque ele é Zhang San ou porque é o diretor. A razão óbvia aqui é que, por ser o diretor, ele pode ir ao escritório de seu próprio diretor. Então, para nossos arquivos, podemos acessar esse arquivo porque somos esse usuário? Ou é por causa da nossa identidade de usuário? A resposta é identidade. Ou seja, a autenticação da autoridade é a identidade.
Segunda questão, todos sabemos que os telemóveis têm muitas funções. Podemos ver vídeos, consultar informações, jogar jogos e assim por diante. Estes podem ser vistos como atributos possuídos pelos telefones celulares. No entanto, quando estamos com fome, não podemos comer nossos telefones para não sentirmos mais fome. Poder ser usado como alimento é um atributo que os celulares não possuem. Portanto, não importa o que façamos, mesmo as pessoas com a mais alta autoridade não podem permitir que os telemóveis se tornem alimentos. Podemos conhecer o segundo ponto, ou seja, as permissões também estão relacionadas aos atributos das coisas.
//A relação entre identidade e usuário
Depois de falar sobre os três tipos de permissões, vamos considerar a relação entre permissões e classificações de usuários com base na classificação de usuários anterior.
Em primeiro lugar, para um usuário comum, esse usuário comum pode ser o proprietário de um arquivo, o grupo ao qual o arquivo pertence ou outras pessoas.
Para o usuário root, o usuário root pode ser o proprietário de um arquivo, o grupo ao qual o arquivo pertence ou outras pessoas.
Então, como isso se manifesta? Ou seja, como o Linux determina a identidade deste usuário? Vejamos esta foto:
Para as caixas verdes e laranja, a caixa verde é o proprietário e a caixa laranja é o grupo ao qual pertence. Portanto, quando qualquer usuário logado acessa um arquivo, ele deve primeiro verificar se é o proprietário do arquivo. Caso contrário, ele deve verificar se ele é o grupo ao qual o arquivo pertence. Se não, então outra pessoa.
//Permissões de arquivo
Continue olhando para esta foto. Para esta foto, as caixas rosa dentro são as permissões de cada identidade. As barras horizontais verdes são permissões do proprietário, as barras horizontais laranja são permissões de grupo e as barras horizontais azuis são permissões de outras pessoas. Entre eles, cada identidade possui três permissões rwx. Essas três permissões são um grupo e as posições dessas três permissões são determinadas. A primeira posição é para leitura, a segunda posição é para escrita e a terceira posição é para executável. Essas três posições não ficarão fora de ordem e o significado de cada posição é determinado! E cada local só tem sim ou não, tem as permissões especificadas.
Pense nisso aqui: por que você precisa de permissão para pertencer a um grupo?
Suponha que Zhang San e Li Si entrassem em uma empresa para entrevistas e, finalmente, se tornassem estagiários na mesma empresa e fossem designados para o Grupo A e o Grupo B, respectivamente. Além disso, Zhang San está no Grupo A e Li Si está no Grupo B. Agora a empresa permite que esses dois grupos desenvolvam software ao mesmo tempo. Um dia, Zhang San escreveu um monte de códigos muito poderosos. Li Si queria dar uma olhada, mas Zhang San não queria que Li Si os visse. Porém, um dia o líder quer dar uma olhada no código escrito por Zhang San. No entanto, se Zhang San liberar a permissão de leitura do código, então Li Si poderá vê-lo, então o grupo ao qual ele pertence desempenha um papel nisso. tempo. Deixe este líder pertencer a este grupo, para que eu possa ver este programa, e o líder também, mas outros não.
Existem apenas duas pessoas que podem modificar as permissões, uma é o proprietário e a outra é o root.
Método: chmod u + rwx modifica as permissões alteradas pelo proprietário e adiciona permissões ao proprietário (permissão de leitura r, permissão de gravação w, permissão de execução x)
chmod u-rwx modifica as permissões do proprietário e subtrai as permissões correspondentes do proprietário
chmod g+rwx modifica as permissões do grupo ao qual pertence e adiciona permissões ao grupo ao qual pertence.
chmod g-rwx modifica as permissões do grupo ao qual pertence e adiciona permissões ao grupo ao qual pertence.
chmod g-rwx para modificar as permissões de outras pessoas e adicionar permissões a outras pessoas
chmod g-rwx para modificar as permissões de outras pessoas e adicionar permissões a outras pessoas
Você também pode chmod u+rwx e g+rwx para conceder permissões a múltiplas identidades. Isso significa adicionar permissões ao grupo e ao proprietário ao qual elas pertencem, e subtrair permissões é o oposto.
Por exemplo, se você quiser adicionar permissões a todas as identidades de uma vez, você deve chmod a+rwx, e o oposto é verdadeiro para subtrair permissões.
Além de alterar as permissões, também podemos alterar o proprietário e o grupo de um arquivo.
Alterar o proprietário do arquivo: chown o arquivo do usuário para fornecer seus próprios arquivos a alguém e alterar o proprietário.
Altere o grupo ao qual um arquivo pertence: chgrp Altere o grupo ao qual um arquivo de usuário pertence.
As duas instruções acima requerem o consentimento do usuário correspondente. Geralmente, existem dois métodos: um é escalar direitos, su, e o outro é comunicar-se offline.
Quanto às permissões, as permissões de cada local que vemos usando ll são determinadas, então podemos usar 1 para representar que o local tem permissões e 0 para representar que o local não tem permissões. Portanto, podemos usar 111 e 110 para representar as permissões de uma identidade. Por exemplo, 111 significa leitura, gravação e execução. 111 é 7, então três identidades podem ser representadas por três dígitos octais, como 777.
Portanto, podemos modificar as permissões como this-chmod 777, o que significa conceder todas as permissões para todas as identidades.
Agora, vejamos um exemplo:
Agora, para o usuário _mian_yang, seu status de proprietário possui permissões de leitura, mas nenhuma permissão de gravação; sua identidade de grupo possui permissões de leitura e gravação.
Então, neste momento, _mian_yang pode gravar neste arquivo?
A resposta é não, porque quando um usuário autentica sua identidade, ele só pode autenticar uma identidade. Primeiro ele autentica o proprietário, depois autentica o grupo ao qual pertence e, finalmente, autentica os outros.
Por que as permissões ficam assim quando criamos um arquivo?
Em primeiro lugar, o que precisamos saber é que as permissões na imagem são as permissões finais criadas pelo arquivo. Na verdade, elas também têm uma permissão inicial - a permissão inicial padrão para arquivos de diretório é 777, e o padrão para arquivos comuns é. 666. Mas por que as permissões finalmente criadas são 775 para arquivos de diretório e 664 para arquivos comuns?
Isso ocorre porque há uma máscara no sistema por padrão - máscara de permissão. A máscara de permissão significa que qualquer permissão que apareça no umask não aparecerá na permissão final. A regra de cálculo aqui não é a permissão padrão - máscara de permissão, mas a permissão final = permissão padrão & (~ máscara de permissão).
Ao mesmo tempo, umask também pode ser modificado, como o número umask, que consiste em modificar a máscara de permissão para um determinado número.
Leitura de diretório: permite visualizar o conteúdo dos arquivos no diretório atual
Escrita de diretório: permite criar, excluir e alterar arquivos
Diretório executável: se temos permissão para entrar no diretório.
Na prática, podemos ter este requisito: queremos compartilhar dados, mas se criarmos o diretório em nosso diretório inicial, outros usuários não poderão entrar. Portanto, este diretório só pode ser criado no diretório raiz, mas as permissões padrão do diretório raiz são dr-xr-xr-x, o que significa que as três identidades só podem ler e executar e não podem criar diretórios à vontade. Então você precisa usar a conta root para criar o diretório.
Após criar este arquivo, podemos definir a outra identidade para ler, escrever e executar este arquivo, caso contrário ele não poderá ser compartilhado. Mas se um usuário criar um arquivo nele, porque o diretório tem permissão de gravação, outros poderão excluir o arquivo à vontade. Portanto, para proteger este arquivo neste momento, a operação sticky bit foi adicionada. A operação deste sticky bit garante que os arquivos criados pelo usuário só possam ser excluídos pelo próprio usuário ou pelo root.
Portanto, o sticky bit é uma permissão definida especificamente para um diretório, geralmente um diretório compartilhado. Todos podem adicionar, excluir, verificar e modificar o arquivo no diretório, mas apenas o proprietário e o root podem excluir o arquivo, e mais ninguém. pode.
------------------
Isso é tudo para esta seção.
Aqui estão minhas anotações: