abre o arquivo e as permissões do diretório atual

1

Estou tentando aprender sobre permissões de arquivos e diretórios em unix / linux.

Eu acho que tenho a ideia geral, se eu quiser

cat ~/foo/bar/text.txt  

Eu preciso de x+r de permissão nas permissões ~ , ~/foo , ~/foo/bar e r em ~/foo/bar/text.txt .

Mas digamos que eu não tenha x permissão em ~/foo/bar e que de alguma forma meu diretório atual seja ~/foo/bar (talvez root user made su user there), digamos que eu digite

cat text.txt

do meu teste, ele diz que eu não tenho permissões, mesmo se eu tiver rwx on text.txt .

Então, minha pergunta é: quando digito

cat text.txt

o sistema realmente interpreta cat ./text.txt e, portanto, verifica a permissão do diretório atual também? (Eu pensei que os diretórios que eu não mencionei no caminho não seriam verificados para permissões, mas talvez o atual seja verificado de qualquer maneira?)

Portanto, neste caso (meu diretório atual é ~/foo/bar e eu quero fazer cat text.txt ) as permissões em ~/foo não importam, mas as que estão em ~/foo/bar fazem?

    
por dami 30.12.2016 / 04:20

1 resposta

0

A operação de abertura de arquivos requer a leitura de sua entrada de diretório para seus atributos e localização física, que é armazenada no diretório atual (arquivo).

É por isso que você está recebendo o problema de permissão.

Caso contrário, suas suposições estão corretas e o sistema acessa apenas o caminho especificado. Isso tornaria o arquivo acessível no seu sudo exemplo se você simplesmente fornecesse x access para o diretório local.

Observe que a permissão r não é necessária para recuperar uma entrada de diretório, mas é necessário listar seu conteúdo.

    
por 30.12.2016 / 05:03