List, set, and change standard ugo/rwx permissions:
Num sistema de ficheiros os ficheiros\pastas têm uma pré-determinada estrutura que permite atribuir aos vários utilizadores do sistema (reais\máquinas) um conjunto de permissões \ bloqueios sobre certas ações. Vamos analisar:
# ls -l /home/user/file
rwxr-xr-x. 4 user user 4096 Dec 1 13:56 file
Podemos verificar que nos é devolvida várias informações, contudo temos de saber separar cada campo podendo perceber o significado de tudo. Começamos da esquerda para a direita, com uma sequencia de cerca de 11 caracteres “.rwxr-xr-x.”esta sequencia simboliza as permissões associadas com diferentes utilizadores; de seguida temos um digito “4”que simboliza o numero de Hard-Links existentes para o ficheiro\pasta; temos a seguir o Owner e o Owner Grup do ficheiro “user user”que são os donos do ficheiro\pasta; temos depois no final o tamanho “4096”(em bytes), a data da sua ultima modificação “Dec 1 13:56”, e o seu nome “file”.
Vamos nos focar na primeira secção, a responsável por atribuir permissões de acesso aos utilizadores. Todo o ficheiro\pasta é possível de ser modificado por um User Owner(dono), um Owner Group(grupo dono), e os Outros, e cada um destes pode agir Escrevendo (Write), Lendo (Read) e Executando (eXecute) no ficheiro\pasta. Por esse mesmo motivo é que o string inicial é representado da seguinte maneira: .rwx r-x r-x. . Os pontos no inicio e no fim simbolizam permissões especiais que serão explicadas mais a frente (contudo neste caso nada de especial está especificado).
Sabendo que a ordem de representação de dados é “User Group Others”, vemos que o User conssegue “rwx”(Ler\Escrever\Executar), o Group “r-x”(Ler\Executar) e os Others “r-x”(Ler\Executar).
Estas permissões podem ser alteradas com recurso ao comando chmod. Imaginemos que queríamos alterar o [ficheiro-1] de modo a que apenas o User possa Ler\Escrever\Executar, enquanto o Group e Others apenas Ler:
# chmod rwxr—r-- [ficheiro_1]
Contudo não é muito prático escrever esta sequencia de caracteres, sendo que o comando acima surte o mesmo efeito que o seguinte comando:
# chmod 744 [ficheiro_1]
Para ser percebida a associação entre os dois comandos acima, segue a tabela de relação:
Forma Extensível
Forma Numérica
r
4
w
2
x
1
Sendo que caso queiramos definir que o User consegue fazer tudo somamos os valores de todas as opções ( 4+2+1=7 ), enquanto os restantes (Group\Others) apenas Ler (4 ).
Caso seja pretendido mudar o Owner \ Owner Group do ficheiro\pasta tomamos recurso do comando chown, que respeita a seguintes sintaxe:
# chown [Owner]:[OwnerGroup] [ficheiro]
Por exemplo fazer com que Owner do ficheiro seja o user_1 e o Owner Group o group_1:
# chown user_1:group_1 ficheiro
Note-se que caso apenas queria-se especificar so a alteração do owner ou só do Owner Group também é possível, bastando omitir a secção que não se pretende alterar (deixando “:”). Por exemplo alterar apenas o grupo:
# chown :group_1 ficheiro
Last updated
Was this helpful?