Admin Linux - gerenciamento de arquivos / pastas
Para apresentar as permissões conforme se aplicam a diretórios e arquivos no CentOS Linux, vamos examinar a seguinte saída de comando.
[centos@centosLocal etc]$ ls -ld /etc/yum*
drwxr-xr-x. 6 root root 100 Dec 5 06:59 /etc/yum
-rw-r--r--. 1 root root 970 Nov 15 08:30 /etc/yum.conf
drwxr-xr-x. 2 root root 187 Nov 15 08:30 /etc/yum.repos.d
Note - Os três tipos de objetos principais que você verá são
"-" - um travessão para arquivo simples
"d" - para um diretório
"l" - para um link simbólico
Vamos nos concentrar nos três blocos de saída para cada diretório e arquivo -
- drwxr-xr-x: root: root
- -rw-r - r--: root: root
- drwxr-xr-x: root: root
Agora vamos decompô-lo, para entender melhor essas linhas -
d | Significa que o tipo de objeto é um diretório |
rwx | Indica permissões de diretório aplicadas ao proprietário |
rx | Indica permissões de diretório aplicadas ao grupo |
rx | Indica permissões de diretório aplicadas ao mundo |
raiz | A primeira instância, indica o proprietário do diretório |
raiz | A segunda instância indica o grupo ao qual as permissões de grupo são aplicadas |
É importante compreender a diferença entre proprietário , grupo e mundo . Não entender isso pode ter grandes consequências nos servidores que hospedam serviços na Internet.
Antes de dar um exemplo do mundo real, vamos primeiro entender as permissões conforme se aplicam a diretórios e arquivos .
Por favor, dê uma olhada na tabela a seguir e continue com as instruções.
Octal | Simbólico | Perm. | Diretório |
---|---|---|---|
1 | x | Executar | Entre no diretório e acesse os arquivos |
2 | W | Escreva | Exclua ou modifique os arquivos em um diretório |
4 | r | Ler | Liste os arquivos dentro do diretório |
Note- Quando os arquivos devem estar acessíveis para leitura em um diretório, é comum aplicar permissões de leitura e execução . Caso contrário, os usuários terão dificuldade em trabalhar com os arquivos. Deixar a gravação desativada garantirá que os arquivos não possam ser: renomeados, excluídos, copiados ou ter as permissões modificadas.
Aplicação de permissões a diretórios e arquivos
Ao aplicar permissões, há dois conceitos para entender -
- Permissões Simbólicas
- Permissões octais
Em essência, cada um é o mesmo, mas uma maneira diferente de se referir e atribuir permissões de arquivo. Para um guia rápido, estude e consulte a seguinte tabela -
Ler | Escreva | Executar | |
---|---|---|---|
Octal | 4 | 2 | 1 |
Symbolic | r | W | x |
Ao atribuir permissões usando o octalmétodo, use um número de 3 bytes, como: 760. O número 760 se traduz em: Proprietário: rwx; Grupo: rw; Outro (ou mundo) sem permissões.
Outro cenário: 733 seria traduzido em: Proprietário: rwx; Grupo: wx; Outro: wx.
Há uma desvantagem nas permissões usando o método Octal. Os conjuntos de permissões existentes não podem ser modificados. Só é possível reatribuir todo o conjunto de permissões de um objeto.
Agora você pode se perguntar, o que há de errado em sempre reatribuir permissões? Imagine uma grande estrutura de diretório, por exemplo / var / www / em um servidor web de produção. Queremos retirar recursivamente o bit w ou write em todos os diretórios para Other. Assim, forçando-o a ser adicionado pró-ativamente apenas quando necessário para medidas de segurança. Se reatribuirmos todo o conjunto de permissões, removeremos todas as outras permissões personalizadas atribuídas a cada subdiretório.
Portanto, isso causará um problema tanto para o administrador quanto para o usuário do sistema. Em algum ponto, uma pessoa (ou pessoas) precisaria reatribuir todas as permissões personalizadas que foram eliminadas, reatribuindo todo o conjunto de permissões para cada diretório e objeto.
Neste caso, gostaríamos de usar o método Simbólico para modificar as permissões -
chmod -R o-w /var/www/
O comando acima não iria "sobrescrever as permissões", mas modificar os conjuntos de permissões atuais. Portanto, acostume-se a usar as melhores práticas
- Octal apenas para atribuir permissões
- Simbólico para modificar conjuntos de permissões
É importante que um administrador CentOS seja proficiente com as permissões Octal e Simbólica, pois as permissões são importantes para a integridade dos dados e de todo o sistema operacional. Se as permissões estiverem incorretas, o resultado final serão dados confidenciais e todo o sistema operacional ficará comprometido.
Com isso coberto, vamos dar uma olhada em alguns comandos para modificar permissões e proprietários / membros de objetos -
- chmod
- chown
- chgrp
- umask
chmod: Alterar bits de permissão do modo de arquivo
Comando | Açao |
---|---|
-c | Como detalhado, mas só relatará as alterações feitas |
-v | Detalhado, exibe os diagnósticos para cada solicitação feita |
-R | Aplica recursivamente a operação em arquivos e diretórios |
chmod nos permitirá alterar as permissões de diretórios e arquivos usando conjuntos de permissão octal ou simbólica . Usaremos isso para modificar nossos diretórios de atribuição e uploads.
chown: Alterar proprietário e grupo do arquivo
Comando | Açao |
---|---|
-c | Como detalhado, mas só relatará as alterações feitas |
-v | Detalhado, exibe os diagnósticos para cada solicitação feita |
-R | Aplica recursivamente a operação em arquivos e diretórios |
chown pode modificar a propriedade do usuário e do grupo de objetos. No entanto, a menos que seja necessário modificar ambos ao mesmo tempo, o uso de chgrp geralmente é usado para grupos.
chgrp: Alterar propriedade do grupo de arquivo ou diretório
Comando | Açao |
---|---|
-c | Como detalhado, mas só relatará as mudanças |
-v | Detalhado, emite o diagnóstico para cada solicitação feita |
-R | Recursivamente, aplica as operações em arquivos e diretórios |
chgrp mudará o proprietário do grupo para aquele fornecido.
Prática do mundo real
Vamos mudar todas as atribuições do subdiretório em / var / www / students / para que o grupo proprietário seja o grupo de alunos . Em seguida, atribua a raiz de alunos ao grupo de professores. Mais tarde, faça do Dr. Terry Thomas o proprietário do diretório de alunos , uma vez que ele é o responsável por toda a academia de Ciência da Computação da escola.
Como podemos ver, quando criado, o diretório é deixado bastante cru.
[root@centosLocal ~]# ls -ld /var/www/students/
drwxr-xr-x. 4 root root 40 Jan 9 22:03 /var/www/students/
[root@centosLocal ~]# ls -l /var/www/students/
total 0
drwxr-xr-x. 2 root root 6 Jan 9 22:03 assignments
drwxr-xr-x. 2 root root 6 Jan 9 22:03 uploads
[root@centosLocal ~]#
Como administradores, nunca queremos fornecer nossas credenciais de root para ninguém. Mas, ao mesmo tempo, precisamos permitir que os usuários façam seu trabalho. Portanto, vamos permitir que o Dr. Terry Thomas tenha mais controle da estrutura do arquivo e limite o que os alunos podem fazer.
[root@centosLocal ~]# chown -R drterryt:professors /var/www/students/
[root@centosLocal ~]# ls -ld /var/www/students/
drwxr-xr-x. 4 drterryt professors 40 Jan 9 22:03 /var/www/students/
[root@centosLocal ~]# ls -ls /var/www/students/
total 0
0 drwxr-xr-x. 2 drterryt professors 6 Jan 9 22:03 assignments
0 drwxr-xr-x. 2 drterryt professors 6 Jan 9 22:03 uploads
[root@centosLocal ~]#
Agora, cada diretório e subdiretório tem um proprietário de drterryt e o grupo proprietário são os professores . Como o diretório de tarefas é para os alunos entregarem os trabalhos atribuídos, vamos eliminar a capacidade de listar e modificar arquivos do grupo de alunos .
[root@centosLocal ~]# chgrp students /var/www/students/assignments/ && chmod
736 /var/www/students/assignments/
[root@centosLocal assignments]# ls -ld /var/www/students/assignments/
drwx-wxrw-. 2 drterryt students 44 Jan 9 23:14 /var/www/students/assignments/
[root@centosLocal assignments]#
Os alunos podem copiar tarefas para o diretório de tarefas . Mas eles não podem listar o conteúdo do diretório, copiar os arquivos atuais ou modificar arquivos no diretório de atribuições . Assim, ele apenas permite que os alunos enviem tarefas concluídas. O sistema de arquivos CentOS fornecerá um carimbo de data de quando as atribuições foram feitas.
Como proprietário do diretório de atribuições -
[drterryt@centosLocal assignments]$ whoami
drterryt
[drterryt@centosLocal assignments]$ ls -ld /var/www/students/assignment
drwx-wxrw-. 2 drterryt students 44 Jan 9 23:14 /var/www/students/assignments/
[drterryt@centosLocal assignments]$ ls -l /var/www/students/assignments/
total 4
-rw-r--r--. 1 adama students 0 Jan 9 23:14 myassign.txt
-rw-r--r--. 1 tammyr students 16 Jan 9 23:18 terryt.txt
[drterryt@centosLocal assignments]$
Podemos ver que o proprietário do diretório pode listar arquivos, bem como modificar e remover arquivos.
Comando umask: Fornece os modos padrão para as permissões de arquivo e diretório à medida que são criadas
umask é um comando importante que fornece os modos padrão para Permissões de Arquivo e Diretório à medida que são criadas.
As permissões umask usam lógica negada unária.
Permissão | Operação |
---|---|
0 | Ler, escrever, executar |
1 | Leia e escreva |
2 | Leia e execute |
3 | Somente leitura |
4 | Leia e execute |
5 | Só escrever |
6 | Executar apenas |
7 | Nenhuma permissão |
[adama@centosLocal umask_tests]$ ls -l ./
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt
[adama@centosLocal umask_tests]$ whoami
adama
[adama@centosLocal umask_tests]$ umask
0022
[adama@centosLocal umask_tests]$
Agora, vamos mudar o umask para nosso usuário atual e fazer um novo arquivo e diretório.
[adama@centosLocal umask_tests]$ umask 077
[adama@centosLocal umask_tests]$ touch mynewfile.txt
[adama@centosLocal umask_tests]$ mkdir myNewDir
[adama@centosLocal umask_tests]$ ls -l
total 0
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt
drwx------. 2 adama students 6 Jan 10 00:35 myNewDir
-rw-------. 1 adama students 0 Jan 10 00:35 mynewfile.txt
Como podemos ver, os arquivos recém-criados são um pouco mais restritivos do que antes.
umask para usuários deve ser alterado em:
- /etc/profile
- ~/bashrc
[root@centosLocal centos]# su adama
[adama@centosLocal centos]$ umask
0022
[adama@centosLocal centos]$
Geralmente, o umask padrão no CentOS ficará bem. Quando temos problemas com um padrão de 0022 , geralmente é quando diferentes departamentos pertencentes a grupos diferentes precisam colaborar em projetos.
É aqui que entra a função de um administrador de sistema, para equilibrar as operações e o design do sistema operacional CentOS.