![Permissão avançada de arquivos e como lê-los corretamente](https://rvso.com/image/178500/Permiss%C3%A3o%20avan%C3%A7ada%20de%20arquivos%20e%20como%20l%C3%AA-los%20corretamente.png)
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root root 4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband 802 Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101 Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19 Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81 Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576 Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24 Dec 8 16:02 temp.sym -> ../solarproj/temp
Ambos os usuários estão no grupo solarproj
Bob pode alterar o conteúdo do arquivo
schedule.txt
? Por que?Se estou lendo corretamente, a resposta é não, porque o grupo está configurado para apenas leitura.
Alice pode remover o arquivo
controller.c
? Por que?O arquivo dá permissão de leitura e gravação, mas por causa do problema ela não consegue removê-lo/não tem tanta certeza
Quais usuários podem ler o arquivo
power
? Por que?Todos os outros usuários que não fazem parte do grupo ou do Alisto
Por que Alice, mas não Bob, pode listar o conteúdo do diretório antigo?
Por causa do S na permissão do grupo, o x não existe
Alice pode ler o arquivo
temp.sym
? Por que?Não, porque ela não é permitida.
Não sei se minhas respostas estão corretas e adoraria se alguém pudesse corrigir minhas respostas erradas e me ajudar um pouco. Eu adoraria testar e ver por mim mesmo, mas minha VM não está funcionando e preciso estudar para o próximo teste em alguns dias, tente novamente!
Responder1
Quando uma permissão é exibida usando o ls
comando, ela segue uma determinada estrutura. Vamos dar uma olhada em um exemplo:
-rw-rw-r--
Oprimeirocaractere indica o tipo de arquivo e é chamado dedescritor de arquivo,próximos três personagensindicar as permissões do usuário que criou o arquivo, opróximo conjunto de três caracteresindicar as permissões para o grupo do usuário e oúltimos três caracteresindique as permissões para todos os outros.
Neste exemplo:
- oprimeirocaractere, conhecido como descritor de arquivo, indica o tipo de arquivo. Neste caso de
-rw-rw-r--
, é o travessão no início. - opróximos três personagensindique as permissões do usuário que criou o arquivo. Neste caso
-rw-rw-r--
, érw-
. - opróximos três caracteres depois dissoindique as permissões para o grupo de usuários mencionado anteriormente.
- oúltimos três caracteresmostre as permissões para todos os outros.
O primeiro caractere, ou descritor de arquivo, um único traço ( -
), mostra que este é apenas um arquivo normal. Por outro lado, se essas fossem as permissões para o diretório, seria um único d
. Uma lista não abrangente de valores possíveis para o descritor de arquivo:
d
- um diretório-
- um arquivo "normal"l
- um link simbólicos
- um soquete UNIXp
- um gasoduto
Os outros três conjuntos de três caracteres seguem a estrutura [read][write][exec]
, onde cada colchete contém um caractere.
Então, em nosso exemplo de -rw-rw-r--
:
- as permissões do usuário que criou o arquivo são
rw-
. Para que o usuário possa ler e gravar no arquivo, mas não executá-lo. - as permissões para o grupo do usuário também são
rw-
, o que significa que o grupo do usuário também pode ler e gravar nele. - as permissões para todos os outros são
r--
; isso significa que todos os outros só podem ler o arquivo, não gravar ou executá-lo.
Então, para suas perguntas:
Bob pode alterar o conteúdo do arquivo schedule.txt? Por que?
Se estou lendo corretamente, a resposta é não, porque o grupo está configurado para apenas ler
-rw-r--r-- 1 alisto solarproj 81 Dec 8 15:44 schedule.txt
Você está certo. boband
faz parte do solarproj
grupo, então suas permissões são r--
, o que significa que ele só pode ler o arquivo, não alterá-lo.
Alice pode remover o arquivo controller.c? Por que?
O arquivo dá permissão de leitura e gravação, mas por causa do problema ela não consegue removê-lo/não tem tanta certeza
-rw-rw-r-- 1 boband solarproj 101 Dec 8 15:43 controller.c
Sim, ela pode. Suas permissões são rw-
porque ela faz parte do grupo solarproj, então pode alterar o arquivo, o que inclui excluí-lo.
Quais usuários podem ler o poder do arquivo? Por que?
Todos os outros usuários que não fazem parte do grupo ou do Alisto
-------rwx 1 alisto solarproj 19 Dec 8 14:08 power
Novamente, correto. Somente um usuário que 1) não esteja no solarproj
grupo e 2) não esteja alisto
poderá ler, alterar ou executar esse arquivo.
Por que Alice, mas não Bob, pode listar o conteúdo do diretório antigo?
Por causa do S na permissão do grupo, o x não existe
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
Não. O S
significa o arquivoéexecutáveleo bit setguid está definido.
Alice consegue ler o arquivo temp.sym? Por que?
Não porque ela não é permitida
-rw----r-- 1 boband solarproj 576 Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24 Dec 8 16:02 temp.sym -> ../solarproj/temp
Correto. temp.sym
aponta o arquivo temp
; while alisto
pode ler temp.sym
, porque aponta para temp
, o quealisto
não podeler, ela terá permissão negada.