Hardware

Permissões básicas do Linux: ubuntu / debian with chmod

Índice:

Anonim

Permissões são um dos aspectos mais importantes do Linux (na verdade, de todos os sistemas baseados em Unix). Eles são usados ​​para vários propósitos, mas servem principalmente para proteger o sistema e os arquivos dos usuários e, portanto, o comando CHMOD nos permite modificar qualquer permissão.

Índice de conteúdo

Recomendamos a leitura sobre nossos guias:

  • Debian vs Ubuntu. Melhores aplicativos para e-mail correto no linux. Gerenciador de pacotes Linux: PACMAN, YUM, APT. Melhores distribuições linux. Crie um USB inicializável a partir do Ubuntu 16.10.

Permissões básicas no Linux, Ubuntu, Debian com CHMOD

Manipular permissões é uma atividade interessante, mas complexa ao mesmo tempo. Mas essa complexidade não deve ser interpretada como uma dificuldade, mas como uma possibilidade de lidar com uma grande variedade de configurações, o que permite criar vários tipos de proteção para arquivos e diretórios.

Como você provavelmente já sabe, apenas o superusuário (root) possui ações ilimitadas no sistema, justamente por ser o usuário responsável pela configuração, administração e manutenção do Linux. Cabe a isso, por exemplo, determinar o que cada usuário pode executar, criar, modificar etc.

Obviamente, a maneira usada para especificar o que cada usuário do sistema pode fazer é determinar as permissões. Portanto, neste artigo, você verá como definir permissões de arquivo e diretório, bem como modificá-las.

Descrição das permissões

  • drwx ——- rw-rw-r–

As linhas acima representam a saída de um comando gravado (ls -l) para listar um diretório e suas permissões. Os dois elementos que aparecem (“drwx——” e “-rw-rw-r–”) são a maneira usada para exibir as permissões dos diretórios e arquivos. É esse elemento, que é chamado de cadeia, que vamos estudar.

Um ponto interessante a ser mencionado é que o Linux trata todos os diretórios como arquivos, portanto as permissões se aplicam igualmente a ambos. Essas permissões podem ser divididas em quatro partes para indicar: tipo, proprietário, grupo e outras permissões.

O primeiro caractere da string indica o tipo de arquivo: se for “d”, representa um diretório, se for “-”, é equivalente a um arquivo. No entanto, outros caracteres podem aparecer para indicar outros tipos de arquivos, conforme mostrado na tabela a seguir:

  • d: diretório b: arquivo de bloco c: arquivo de caracteres especiais p: canal s: soquete -: arquivo normal

Agora observe que ainda existem 9 caracteres no restante da string. Você sabe o que o primeiro significa. Os outros são divididos em três grupos de três, cada um representando o proprietário, o grupo e todos os outros, respectivamente. Tomando a linha 2 do exemplo (-rw-rw-r–), deixando de lado o primeiro caractere e dividindo a sequência restante em 3 partes, ficaria assim:

  • rw-: a primeira parte significa permissões de proprietário. rw-: a segunda parte significa as permissões do grupo ao qual o usuário pertence. r–: a terceira parte significa as permissões para os outros usuários.

Vamos entender o que esses caracteres significam (r, w, x, -). Existem basicamente três tipos de permissões: ler, gravar e executar.

A leitura permite ao usuário ler o conteúdo do arquivo, mas não alterá-lo. A escrita permite ao usuário modificar o arquivo. A execução, como o nome indica, permite ao usuário executar o arquivo, se for executável.

Mas acontece que as permissões não funcionam isoladamente, ou seja, para que o usuário tenha permissão de leitura, gravação ou execução. As permissões funcionam juntas. Isso significa que cada arquivo / diretório tem as três permissões estabelecidas; cabe ao proprietário determinar qual dessas permissões está ativada ou não pelos usuários.

Pode ser que um determinado número de usuários tenha permissão para modificar um arquivo, mas outros não, por exemplo. Daí a necessidade de usar grupos. Nesse caso, a permissão de gravação deste arquivo será concedida ao grupo, para que cada usuário membro possa alterar o arquivo. Observe que é necessário cuidado com as permissões. Por exemplo, aquele que informa que o usuário tem permissão de gravação, se não tiver a permissão de leitura ativada .

Agora que sabemos o significado das divisões da string, vamos entender o que as letras r, w, x e o caractere representam:

  • r: significa permissão de leitura w: significa permissão de gravação x: significa permissão de execução - significa permissão desativada.

A ordem em que as permissões devem aparecer é rwx. Assim, entenderemos a cadeia do nosso exemplo dividindo-a em 4 partes:

Linha 1:

  • drwx ——– é um diretório (d) - o proprietário pode lê-lo, modificá-lo e executá-lo (rwx) - o grupo não pode lê-lo, modificá-lo ou executá-lo (-) - os outros usuários não podem lê-lo, modificá-lo ou executá-lo (-).

Linha 2:

  • -rw-rw-r–– é um arquivo (-) - o proprietário pode lê-lo e modificá-lo, mas não executá-lo. Observe que esse arquivo não é executável, a permissão de execução aparece desativada (rw -) - o grupo tem permissões idênticas ao proprietário (rw -) - os outros usuários só têm permissão para ler o arquivo, mas não podem modificá-lo ou executá-lo (r-).

A tabela a seguir mostra as permissões mais comuns:

  • - - -: sem permissão–: permissão de leitura r-x: lê e executa r-: lê e escreve rwx: lê, escreve e executa

Definindo permissões com chmod

Nos tópicos anteriores, você adquiriu pelo menos uma noção do que são permissões e sua importância no Linux. Chegou a hora de aprender como configurar permissões, e isso é feito através do comando chmod (change mode). Um detalhe interessante desse comando é que você pode configurar permissões de duas maneiras: simbólica e numericamente. Vamos primeiro olhar para o método simbólico.

Para obter uma visão mais clara da forma simbólica com chmod, imagine que esses símbolos estejam em duas listas e a combinação deles gere a permissão:

Lista 1

u: usuário

g: grupo

O (letra maiúscula 'o'): outro

a todos

Lista 2

r: leitura

w: escrevendo

x: execução

Para combinar os símbolos dessas duas listas, os operadores são usados:

+ (sinal de mais): adicione permissão

- (sinal de menos): remova a permissão

= (sinal de igual): configuração da permissão

Para mostrar como essa associação é feita, suponha que você queira adicionar permissão de gravação ao arquivo test.txt para um usuário. O pedido digitado é:

chmod u + w test.txt

O "u" indica que a permissão é concedida a um usuário, o sinal de mais (+) indica que uma permissão foi adicionada e "w" indica que a permissão fornecida é de gravação.

Caso você queira conceder permissões de leitura e gravação ao seu grupo, o comando será:

chmod g + rw test.txt

Agora, vamos supor que o arquivo test.txt deva ter todas as permissões disponíveis para o grupo. Podemos então usar:

chmod g = rwx test.txt

Dica: crie arquivos e diretórios. Em seguida, tente combinar permissões com o chmod. Isso o ajudará muito a entender esse recurso.

Usando chmod com o método numérico

Usar chmod com valores numéricos é uma tarefa bastante prática. Em vez de usar letras como símbolos para cada permissão, os números são usados. Se uma permissão estiver ativada, será atribuído um valor 1, caso contrário, será atribuído um valor 0.

RECOMENDAMOS VOCÊ As melhores aplicações de escritório para Ubuntu

Portanto, a string de permissão r-xr—– na forma numérica seria 101100000. Essa combinação de 1 e 0 é um número binário. Mas ainda temos que adicionar a forma decimal (ou seja, os números de 0 a 9). Para isso, lembre-se da tabela a seguir:

Permissão Binário Decimal
- - - 000
- -x 001 1
-w- 010 2
-wx 011 3
r– 100 4
rx 101 5
rw- 110 6
rwx 111 7

Se você não conhece o sistema binário, deve estar se perguntando o que essa tabela de 0 e 1 tem a ver com os números de 0 a 7. Como o sistema binário funciona apenas com os números 0 e 1 (o decimal funciona com os números de 0 a 9, ou seja, é o sistema de numeração que usamos no dia a dia), é preciso uma sequência para representar os valores. Assim, na tabela anterior, a coluna “Binário” mostra como são os valores binários dos números de 0 a 7 no sistema decimal.

Chegou a hora de relacionar a explicação do parágrafo anterior com a coluna "Permissão". Para exemplificá-lo, usaremos a permissão rw-, cujo valor binário é 110, que por sua vez corresponde ao número 6. Em decimal. Portanto, em vez de usar rw- ou 110 para criar a permissão, simplesmente usamos o número 6. Observe que, com o método numérico, usamos apenas um dígito para representar uma permissão, em vez de três. Portanto, a cadeia de permissão r - r - r– pode ser representada por 444, já que r - em decimal é igual a 4. Veja o seguinte exemplo:

chmod 600 notes.txt

Dessa maneira, as permissões rw ——- estão sendo concedidas ao arquivo notes.txt, já que 6 é equivalente a rw- e 0 é equivalente a -. Como zero aparece duas vezes, o valor de 600 é formado.

Outros exemplos:

chmod 755 test.txt

Atribua permissões de leitura, gravação e execução para o proprietário do arquivo (7), leitura e execução para os usuários do mesmo grupo (5) e também para outros usuários (5).

chmod 640 test.txt

Atribua permissões de leitura e gravação (6) ao proprietário, somente leitura para usuários do mesmo grupo (4) e nenhuma permissão para outros usuários (0).

Inicie o comando acima com um arquivo de teste e digite ls -l notes.txt para ver o que aparece (notes.txt deve ser substituído pelo arquivo que você está usando). A tabela a seguir mostra uma lista das configurações mais usadas:

- - - - - - - - - 000
r ——– 400
r - r - r– 444
rw—— 600
rw-r - 644
rw-rw-rw- 666
rwx—— 700
rwxr-x— 750
rwxr-xr-x 755
rwxrwxrwx 777

As últimas três permissões na tabela são comumente usadas para programas e diretórios.

Últimos detalhes

Como você viu, é muito mais prático usar o chmod com o método numérico. Mas você pode ter se confundido com todo esse esquema de permissão.

O fato é que, em sistemas baseados em Unix, as permissões são um dos aspectos mais complexos do mercado. Essa complexidade é equivalente à eficiência do uso de licenças. Portanto, a melhor maneira de entender as permissões é treinando. Pratique, crie permissões e veja os resultados.

Hardware

Escolha dos editores

Back to top button