neste capítulo, vamos discutir em detalhe sobre permissão de arquivo e modos de acesso em Unix. A propriedade de arquivos é um componente importante do Unix que fornece um método seguro para armazenar arquivos., Cada arquivo no Unix tem os seguintes atributos –
-
permissões do Dono − as permissões do dono determinam quais as ações que o dono do arquivo pode realizar no arquivo.
-
Permissões de grupo-as permissões do grupo determinam quais ações um usuário, que é um membro do grupo a que um arquivo pertence, pode realizar no arquivo.
-
outras permissões (do mundo) − as permissões para outros indicam que ação todos os outros usuários podem realizar no arquivo.,
A Permissão de Indicadores
Enquanto estiver usando o comando ls-l, ele exibe diversas informações relacionadas com permissão de arquivo como o seguinte:
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
Aqui, a primeira coluna representa diferentes modos de acesso, por exemplo, a permissão associada a um arquivo ou um diretório.
As permissões são divididas em grupos de três, e cada posição no grupo denota uma permissão específica, por esta ordem: leitura (r), gravar (w) e executar (x) −
Arquivo de Modos de Acesso
As permissões de um arquivo são a primeira linha de defesa, a segurança de um sistema Unix., Os blocos básicos das permissões do Unix são as permissões de leitura, escrita e execução, que foram descritas abaixo −
Read
concede a capacidade de ler, ou seja, ver o conteúdo do arquivo.
Write
concede a capacidade de modificar ou remover o conteúdo do ficheiro.
Execute
User with execute permissions can run a file as a program.
os modos de acesso a directórios
os modos de acesso a directórios estão listados e organizados da mesma forma que qualquer outro ficheiro., Existem algumas diferenças que precisam ser mencionadas –
leia
acesso a um diretório significa que o usuário pode ler o conteúdo. O usuário pode olhar para os nomes de arquivos dentro do diretório.
Write
Acesso significa que o utilizador pode adicionar ou apagar ficheiros do directório.
Execute
executando um diretório realmente não faz sentido, então pense nisso como uma permissão transversal.
um usuário deve ter acesso à pasta de bin para executar o comando ls ou cd.,
alterando as permissões
para alterar o ficheiro ou as permissões da pasta, você usa o comando chmod (modo de mudança). Existem duas maneiras de usar o chmod-o modo simbólico e o modo absoluto.
usando chmod no modo simbólico
a maneira mais fácil para um iniciante modificar as permissões de arquivo ou diretório é usar o modo simbólico. Com permissões simbólicas, você pode adicionar, apagar ou especificar o conjunto de permissões que deseja usando os operadores na tabela seguinte.
Sr.No., | chmod operator& Description |
---|---|
1 |
+ adiciona a(s) permissão (ões) designada (s) a um ficheiro ou directório. |
2 | |
3 |
Aqui está um exemplo usando testfile., Executar ls -1 no testfile mostra que as permissões do arquivo são como segue:
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
em Seguida, cada exemplo comando chmod a partir da tabela anterior é executado no testfile, seguido pelo ls –l, assim, você pode ver as alterações de permissão −
Aqui está como você pode combinar esses comandos em uma única linha
$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
Usando chmod com Absoluta Permissões
A segunda forma de modificar as permissões com o comando chmod é a utilização de um número para especificar cada conjunto de permissões para o arquivo.,
a cada permissão é atribuído um valor, como a tabela seguinte mostra, e o total de cada conjunto de permissões fornece um número para esse conjunto.
Aqui está um exemplo usando o testfile. Executar ls -1 no testfile mostra que as permissões do arquivo são como segue:
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
em Seguida, cada exemplo comando chmod a partir da tabela anterior é executado no testfile, seguido pelo ls –l, de modo que você pode ver as alterações de permissão −
Alterar Proprietários e Grupos
ao criar uma conta no Unix, ele atribui um ID de proprietário e um ID de grupo para cada usuário., Todas as permissões mencionadas acima também são atribuídas com base no proprietário e nos grupos.
estão disponíveis dois comandos para alterar o dono e o grupo de ficheiros −
-
chown − o comando chown significa “dono da mudança” e é usado para alterar o dono de um ficheiro.
-
chgrp − o comando chgrp significa “grupo de mudança” e é usado para alterar o grupo de um ficheiro.
mudança de propriedade
o comando chown altera a propriedade de um ficheiro., A sintaxe básica é a seguinte:
$ chown user filelist
O valor do usuário pode ser o nome de um usuário no sistema ou a identificação do usuário (uid) de um usuário no sistema.
o exemplo seguinte irá ajudá −lo a compreender o conceito –
$ chown amrood testfile$
muda o dono do ficheiro indicado para o utilizador amrood.
Nota − O super usuário, root, tem a capacidade irrestrita de mudar a propriedade de qualquer arquivo, mas os usuários normais podem mudar a propriedade de apenas os arquivos que eles possuem.,
mudar a propriedade do Grupo
o comando chgrp muda a propriedade do grupo de um ficheiro. A sintaxe básica é a seguinte:
$ chgrp group filelist
O valor do grupo pode ser o nome de um grupo sobre o sistema ou o ID do grupo (GID) de um grupo no sistema.
a seguir o exemplo ajuda-o a compreender o conceito −
muda o grupo do ficheiro dado para um grupo especial.
SUID e Sgid File Permission
Often when a command is executed, it will have to be executed with special privileges in order to complete its task.,
Como exemplo, quando muda a sua senha com o comando passwd, a sua nova senha é guardada no ficheiro /etc/shadow.
Como um usuário regular, você não tem acesso de leitura ou escrita a este arquivo por razões de segurança, mas quando você muda sua senha, você precisa ter a permissão de escrita para este arquivo. Isto significa que o programa passwd tem de lhe dar permissões adicionais para que possa escrever no ficheiro /etc/shadow.
permissões adicionais são dadas aos programas através de um mecanismo conhecido como o ID do Usuário Set (SUID) e Bits de ID do Grupo Set (SGID).,
Quando executa um programa que tem o bit SUID activo, herda as permissões do dono do programa. Os programas que não têm o conjunto de bits do SUID são executados com as permissões do utilizador que iniciou o programa.este é também o caso da SGID. Normalmente, os programas executam com as permissões do seu grupo, mas em vez disso o seu grupo será alterado apenas para este programa para o dono do grupo do programa.
os bits SUID e SGID aparecerão como a letra “s” se a permissão estiver disponível., O bit de SUID “s” será localizado nos bits de permissão onde a permissão de execução dos proprietários normalmente reside.
Por exemplo, o comando −
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
mostra que o bit SUID está definido e que o comando é propriedade do root. Uma letra maiúscula S na posição de execução em vez de uma minúscula S indica que o bit de execução não está definido.,
Se o sticky bit é ativado no diretório, os arquivos só pode ser removido se você for um dos seguintes usuários
- O proprietário do sticky directory
- O dono do arquivo a ser removido
- super usuário, raiz
Para definir o SUID e SGID bits para qualquer diretório tente o seguinte comando
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$