- professordiego
- Mensagens : 2
Data de inscrição : 28/06/2018
[ Linux ] Comando Chmod
Qui Jun 28, 2018 8:39 am
chmod - altera permissões
Lembre que somente quem tem permissão no arquivo ou diretório poderá alterar as permissões, quando ocorrer erros, verifique seus direitos sobre o arquivo ou diretório com o comando "ls -l" ou faça com poderes de root.
Vamos aprender de modo simples a usar as permissões que muitas vezes é bastante complicado.
Tendo em mente que o conceito de binário significa 0 = desligado e 1 = ligado, vejamos como fica na tabela abaixo:
rwx
0 - 000
1 - 001
2 - 010
3 - 011
4 - 100
5 - 101
6 - 110
7 - 111
Onde "rwx" são as permissões de um arquivo, ou seja:
r=read (leitura)
w=write (gravação, alteração, deleção)
x=execute (execução)
Feito isso, sabemos que um arquivo ou diretório possui 3 modos de permissão. Uma permissão para o DONO do arquivo ou seja, quem o criou, uma outra permissão para o GRUPO do usuário dono do arquivo, e outra permissão para QUALQUER outro usuário ou grupo.
Sabendo disso, temos a tabela final abaixo:
dono grupo outros
rwx rwx rwx
0 - 000 000 000
1 - 001 001 001
2 - 010 010 010
3 - 011 011 011
4 - 100 100 100
5 - 101 101 101
6 - 110 110 110
7 - 111 111 111
Exemplo: Temos um diretório qualquer chamado mp3 que eu quero permissão total para o dono [eu], permissão de apenas leitura para o meu grupo e nenhuma permissão para o resto do mundo. O comando para executar essa ação é o CHMOD (em minúsculo mesmo).
$ chmod 740 /mp3
(acompanhem na tabela acima, que o 7=rwx, 4=r e 0=nada)
-----------------------------------------------------------------------------
OS MODOS DE PERMISSÃO NO UNIX
Quando executamos o comando "ls -l /" nos são mostrados todos diretórios e arquivos na raiz do sistema, é fácil identificar nessas listagens o nome, tamanho, data e dono dos diretórios e arquivos, mas temos que observar estes 10 caracteres do inicio das linhas que aparecem assim:
# ls -l /
3 drwxr-xr-x 2 root root 3072 2008-01-29 10:13 bin
0 lrwxrwxrwx 1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom
Observando, temos 3 classes de usuários que podem ter acesso aos arquivos:
o dono (a pessoa que criou o arquivo),
o grupo (usuários que são agrupados pelo administrador do sistema),
e os outros (todos os usuários conectados a rede).
Os 10 primeiros caracteres das linhas listadas acimas pelo "ls -l" definem precisamente o que os usuários de cada classe podem fazer com seus arquivos. Esses caracteres são chamados de modos de permissão dos arquivos e se dividem em 4 grupos com 1, 3, 3 e 3 caracteres:
[1] [r][w][x] [r][w][x] [r][w][x]
| | | |
tipo dono grupo outros
O primeiro caracter define o tipo de arquivo que pode ser:
"-" : significa um arquivo normal.
"d" : significa um diretório.
"l" : significa um 'link' simbólico.
Há outras possibilidades raramente utilizadas que são "b", "c", "p" ou "s".
Os outros 9 caracteres devem ser separados em 3 grupos de 3 caracteres como o exemplo acima, sendo:
o primeiro as permissões do dono do arquivo.
o segundo as permissões do grupo de usuários.
o terceiro as permissões de todos os outros usuários.
Em cada grupo, as permissões sempre aparecem na ordem:
r = leitura.
w = escrita-execução-deleção.
x = execução.
OBS: A permissão de leitura é sempre indicada com um "r". A permissão de escrita é sempre indicada com um "w". A permissão de execução é sempre indicada com um "x". Permissão negada é indicada com um "-".
Exemplo:
# ls -l /
3 drwxr-xr-x 2 root root 3072 2008-01-29 10:13 bin
0 lrwxrwxrwx 1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom
Observando o diretório "bin" temos as permissões drwxr-xr-x , que podemos interpretar como:
tipo = d (diretório)
dono = rwx (permissão total)
grupo = r-x (permissão de leitura e execução, não pode gravar nem deletar)
outros = r-x (permissão de leitura e execução, não pode gravar nem deletar)
OBS: Caso o tipo seja igual á "-" significa que é um arquivo comum.
----------------------------------------------------------------------
ALTERANDO AS PERMISSÕES DE ACESSO A UM ARQUIVO
Usando o comando 'chmod' para alterar as permissões de um arquivo, observando que ele somente muda a permissão não muda o tipo de arquivo.
Este comando pode ser usado de duas maneiras:
1º (primeiro):
chmod <atribuição> arquivo ou diretório
Onde "atribuição" é uma seqüência de caracteres formada por:
"u" = usuário, dono do arquivo ou documento.
"g" = grupo
"o" = outros
Devemos indicar as classes que terão as permissão alterada, usando os sinais: "+", "-" ou "=" => indica se a permissão sera adicionada (+), retirada (-) ou definida (=), indicada por um dos caracteres "r" (leitura), "w" (escrita) ou "x" (execução) indicando as permissões.
Exemplo:
# chmod joão=+rw /mp3
Este comando determina que o dono, o grupo e todos os outros usuários tenham permissão de leitura e escrita no diretório /mp3. Outro exemplo é dar permissão á um grupo e outros para escrever na diretório. Fica assim:
# chmod go-r /mp3
Desta forma o grupo e outros terão permissão somente de leitura as músicas que estão dentro da pasta.
-rw-r--r-- 1 root root 1200 2008-01--25 20:09 /mp3
2º (segundo):
Outra forma de usar o 'chmod' é usar números para definir as permissões. Exemplo:
chmod número arquivo
Onde "número" é formado por 3 algarismos,todos no intervalo de 0 a 7, de tal forma que a representação binaria com 9 dígitos deste número esteja relacionada aos modos de permissão como na tabela no inicio ou da seguinte forma:
0 = corresponda a permissão negada "-".
1 = corresponda a permissão concedida, pode ser de leitura, escrita ou execução.
Exemplo:
# chmod 640 /mp3
Onde 640 é corresponde a:
6 = dono ( é a soma do leitura(r) + escrita(w) ).
4 = grupo( é somente leitura(r) ).
0 = outro( não permissão de acesso a pasta(-) ).
Essa conversão octal <---> permissões é feita facilmente se você observar a seguinte tabela:
---------------------------------------
número binário equiv. permissões
---------------------------------------
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
---------------------------------------
Abaixo deixo uns exemplos.
EXEMPLOS DIVERSOS
Permissões Comando Descrição
-r-------- chmod 400 arquivo Somente o dono pode ler o arquivo, ninguém pode escrever.
-r--r--r-- chmod 444 arquivo Todos podem ler o arquivo, ninguém pode escrever.
-rw-rw-rw- chmod 666 arquivo Todos podem ler e escrever no arquivo.
drwxrwxrwx chmod 777 diretório Todos podem ler, escrever, criar ou apagar arquivos do diretório.
drwx------ chmod 700 diretório Somente o dono pode ler, escrever, criar ou apagar arquivos. Ninguém mais pode ter acesso a este diretório.
drwx-wx-wx chmod 733 diretório O dono tem acesso total ao diretório. Todos os outros usuários podem apenas escrever.
Lembre que somente quem tem permissão no arquivo ou diretório poderá alterar as permissões, quando ocorrer erros, verifique seus direitos sobre o arquivo ou diretório com o comando "ls -l" ou faça com poderes de root.
Vamos aprender de modo simples a usar as permissões que muitas vezes é bastante complicado.
Tendo em mente que o conceito de binário significa 0 = desligado e 1 = ligado, vejamos como fica na tabela abaixo:
rwx
0 - 000
1 - 001
2 - 010
3 - 011
4 - 100
5 - 101
6 - 110
7 - 111
Onde "rwx" são as permissões de um arquivo, ou seja:
r=read (leitura)
w=write (gravação, alteração, deleção)
x=execute (execução)
Feito isso, sabemos que um arquivo ou diretório possui 3 modos de permissão. Uma permissão para o DONO do arquivo ou seja, quem o criou, uma outra permissão para o GRUPO do usuário dono do arquivo, e outra permissão para QUALQUER outro usuário ou grupo.
Sabendo disso, temos a tabela final abaixo:
dono grupo outros
rwx rwx rwx
0 - 000 000 000
1 - 001 001 001
2 - 010 010 010
3 - 011 011 011
4 - 100 100 100
5 - 101 101 101
6 - 110 110 110
7 - 111 111 111
Exemplo: Temos um diretório qualquer chamado mp3 que eu quero permissão total para o dono [eu], permissão de apenas leitura para o meu grupo e nenhuma permissão para o resto do mundo. O comando para executar essa ação é o CHMOD (em minúsculo mesmo).
$ chmod 740 /mp3
(acompanhem na tabela acima, que o 7=rwx, 4=r e 0=nada)
-----------------------------------------------------------------------------
OS MODOS DE PERMISSÃO NO UNIX
Quando executamos o comando "ls -l /" nos são mostrados todos diretórios e arquivos na raiz do sistema, é fácil identificar nessas listagens o nome, tamanho, data e dono dos diretórios e arquivos, mas temos que observar estes 10 caracteres do inicio das linhas que aparecem assim:
# ls -l /
3 drwxr-xr-x 2 root root 3072 2008-01-29 10:13 bin
0 lrwxrwxrwx 1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom
Observando, temos 3 classes de usuários que podem ter acesso aos arquivos:
o dono (a pessoa que criou o arquivo),
o grupo (usuários que são agrupados pelo administrador do sistema),
e os outros (todos os usuários conectados a rede).
Os 10 primeiros caracteres das linhas listadas acimas pelo "ls -l" definem precisamente o que os usuários de cada classe podem fazer com seus arquivos. Esses caracteres são chamados de modos de permissão dos arquivos e se dividem em 4 grupos com 1, 3, 3 e 3 caracteres:
[1] [r][w][x] [r][w][x] [r][w][x]
| | | |
tipo dono grupo outros
O primeiro caracter define o tipo de arquivo que pode ser:
"-" : significa um arquivo normal.
"d" : significa um diretório.
"l" : significa um 'link' simbólico.
Há outras possibilidades raramente utilizadas que são "b", "c", "p" ou "s".
Os outros 9 caracteres devem ser separados em 3 grupos de 3 caracteres como o exemplo acima, sendo:
o primeiro as permissões do dono do arquivo.
o segundo as permissões do grupo de usuários.
o terceiro as permissões de todos os outros usuários.
Em cada grupo, as permissões sempre aparecem na ordem:
r = leitura.
w = escrita-execução-deleção.
x = execução.
OBS: A permissão de leitura é sempre indicada com um "r". A permissão de escrita é sempre indicada com um "w". A permissão de execução é sempre indicada com um "x". Permissão negada é indicada com um "-".
Exemplo:
# ls -l /
3 drwxr-xr-x 2 root root 3072 2008-01-29 10:13 bin
0 lrwxrwxrwx 1 root root 1024 2008-01-28 08:54 cdrom->media/cdrom
Observando o diretório "bin" temos as permissões drwxr-xr-x , que podemos interpretar como:
tipo = d (diretório)
dono = rwx (permissão total)
grupo = r-x (permissão de leitura e execução, não pode gravar nem deletar)
outros = r-x (permissão de leitura e execução, não pode gravar nem deletar)
OBS: Caso o tipo seja igual á "-" significa que é um arquivo comum.
----------------------------------------------------------------------
ALTERANDO AS PERMISSÕES DE ACESSO A UM ARQUIVO
Usando o comando 'chmod' para alterar as permissões de um arquivo, observando que ele somente muda a permissão não muda o tipo de arquivo.
Este comando pode ser usado de duas maneiras:
1º (primeiro):
chmod <atribuição> arquivo ou diretório
Onde "atribuição" é uma seqüência de caracteres formada por:
"u" = usuário, dono do arquivo ou documento.
"g" = grupo
"o" = outros
Devemos indicar as classes que terão as permissão alterada, usando os sinais: "+", "-" ou "=" => indica se a permissão sera adicionada (+), retirada (-) ou definida (=), indicada por um dos caracteres "r" (leitura), "w" (escrita) ou "x" (execução) indicando as permissões.
Exemplo:
# chmod joão=+rw /mp3
Este comando determina que o dono, o grupo e todos os outros usuários tenham permissão de leitura e escrita no diretório /mp3. Outro exemplo é dar permissão á um grupo e outros para escrever na diretório. Fica assim:
# chmod go-r /mp3
Desta forma o grupo e outros terão permissão somente de leitura as músicas que estão dentro da pasta.
-rw-r--r-- 1 root root 1200 2008-01--25 20:09 /mp3
2º (segundo):
Outra forma de usar o 'chmod' é usar números para definir as permissões. Exemplo:
chmod número arquivo
Onde "número" é formado por 3 algarismos,todos no intervalo de 0 a 7, de tal forma que a representação binaria com 9 dígitos deste número esteja relacionada aos modos de permissão como na tabela no inicio ou da seguinte forma:
0 = corresponda a permissão negada "-".
1 = corresponda a permissão concedida, pode ser de leitura, escrita ou execução.
Exemplo:
# chmod 640 /mp3
Onde 640 é corresponde a:
6 = dono ( é a soma do leitura(r) + escrita(w) ).
4 = grupo( é somente leitura(r) ).
0 = outro( não permissão de acesso a pasta(-) ).
Essa conversão octal <---> permissões é feita facilmente se você observar a seguinte tabela:
---------------------------------------
número binário equiv. permissões
---------------------------------------
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
---------------------------------------
Abaixo deixo uns exemplos.
EXEMPLOS DIVERSOS
Permissões Comando Descrição
-r-------- chmod 400 arquivo Somente o dono pode ler o arquivo, ninguém pode escrever.
-r--r--r-- chmod 444 arquivo Todos podem ler o arquivo, ninguém pode escrever.
-rw-rw-rw- chmod 666 arquivo Todos podem ler e escrever no arquivo.
drwxrwxrwx chmod 777 diretório Todos podem ler, escrever, criar ou apagar arquivos do diretório.
drwx------ chmod 700 diretório Somente o dono pode ler, escrever, criar ou apagar arquivos. Ninguém mais pode ter acesso a este diretório.
drwx-wx-wx chmod 733 diretório O dono tem acesso total ao diretório. Todos os outros usuários podem apenas escrever.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|