Montar permissões no Linux

1

Eu tenho uma pergunta sobre o mount no Linux Fedora. Eu tenho um ponto de montagem dentro do meu diretório pessoal. O ponto de montagem está em / home / user / project e no fstab eu adicionei a linha:

/dev/mapper/fedora-proj /home/user/project ext4 defaults 1 2

O diretório / home / user / project tem as permissões de arquivo 0755 e é de propriedade do usuário. Mas quando eu faço 'mount -a', o dono do diretório é alterado para root e as permissões são 777. Eu sei que ext2 / 3/4 não tem opções uid = e gid =, mas por que o ponto de montagem recebe permissões de arquivo codificadas durante a montagem e como posso alterá-lo?

P.S

O teste foi feito no Fedora 25. Quando estou fazendo exatamente o mesmo procedimento no Fedora 23, vejo um comportamento diferente: as permissões do diretório de montagem estão mudando para 755 (antes de montá-lo é 0777)

    
por ErectCrested 24.05.2017 / 18:14

1 resposta

5

As permissões para a raiz de um ponto de montagem são armazenadas no sistema de arquivos montado (na verdade, ele faz sentido dessa maneira; caso contrário, onde as permissões para o diretório raiz / serão armazenadas?). Você os altera da maneira normal: chmod , chown , etc.

Antes de montar, você está vendo as permissões para o diretório mountpoint no sistema de arquivos pai. Após a montagem, você está vendo as permissões para a raiz do sistema de arquivos montado.

Exemplo: você tem dois sistemas de arquivos:

FS-A             FS-B
/                /
  /mnt             /file1
    /foo           /file2
  /etc           
⋮

Note que ambos têm um diretório raiz / superior ( / ), como todos os sistemas de arquivos (Unix). O FS-A possui dois subdiretórios mostrados ( /mnt e /etc ) e /mnt tem um subdiretório /mnt/foo . O FS-B possui dois arquivos, /file1 e /file2 . Sendo sistemas de arquivos Unix, todos esses diretórios e arquivos possuem um usuário, um grupo e permissões. Agora, vamos transformar o FS-A no sistema de arquivos raiz e montar o FS-B em /mnt/foo . Nós então conseguimos:

/                   # FS-A /
  /mnt              # FS-A /mnt
    /foo            # FS-A /mnt/foo *or* FS-B /
      /file1        # FS-B /file1
      /file2        # FS-B /file2
  /etc              # FS-A /etc
⋮

Observe como podemos escolher o que é /mnt/foo - pode ser /mnt/foo de FS-A ou / de FS-B. Ambos têm exatamente o mesmo caminho. Os designers do Unix escolheram o FS-B.

PS: sua linha fstab não possui o tipo de sistema de arquivos. Deve vir antes das opções ( defaults ).

    
por 24.05.2017 / 18:32