Em todos esses casos, a propriedade é uma mistura de student1
e studen1
. Eu vou simplesmente assumir que este é um erro de digitação e a situação real descrita é que tanto o diretório quanto o arquivo são de propriedade da conta de usuário do aluno e do grupo correspondente, o que é o mesmo para ambos.
Na maioria das implementações, os diretórios são realmente um tipo especial de arquivo (como um nó de dispositivo de bloco ou um pipe de sistema de arquivos) que contém uma lista de arquivos (e outros diretórios) que existem logicamente nele. e seu diretório pai (as entradas .
e ..
, respectivamente). Alterar a lista de arquivos dentro do diretório envolve a atualização desse arquivo de diretório.
No Linux padrão, o proprietário sempre pode excluir seus próprios arquivos. Essa é uma extensão razoavelmente lógica do fato de que o proprietário é capaz de alterar as permissões do arquivo, portanto, mesmo que não pudessem excluí-lo originalmente por causa das permissões do arquivo, elas poderiam se dar trivialmente a essa permissão.
No entanto, como a exclusão de um arquivo envolve a gravação no diretório (para remover a referência ao arquivo), o usuário que está excluindo o arquivo deve ter acesso de gravação ao diretório em que o arquivo reside.
O caso (a) é o único dos seus casos em que o usuário tem acesso de gravação ao diretório e, portanto, o único caso em que o usuário pode excluir arquivos dentro desse diretório.
No caso (b) você não pode descer no diretório (falta de x
permission) e, portanto, não pode fazer nada com o seu conteúdo.
No caso (c), você não tem permissões de gravação no diretório e, portanto, não pode alterar o conteúdo do diretório.
O caso (d) poderia em princípio ter funcionado, mas como as permissões do usuário substituem as permissões do grupo, que por sua vez substituem as permissões mundiais (onde cada tipo de permissão mais específico é aplicável ao usuário que executa a ação), a falta de acesso de gravação ao diretório para o usuário tem precedência sobre o grupo que possui acesso de gravação. Portanto, a exclusão falha devido à falta de direitos de acesso.
Considere o modo (um pouco não óbvio) que as permissões regulares de arquivos (leitura / gravação / execução) são mapeadas em diretórios e o que elas significam:
-
r
permission no diretório significa que você pode listar os arquivos, porque permite ler o diretório-arquivo -
w
permission no diretório significa que você pode adicionar, editar e excluir entradas de diretório , porque permite gravar no arquivo de diretório -
x
permission no diretório significa que você pode descer para o diretório, permitindo que você acesse uma entrada de diretório , dado que você sabe seu nome , por razões (e precisava ser alguma maneira de expressar a capacidade de descer em um diretório)