liga a fonte de montagem a si mesma

3

O que mount --bind /dir1 /dir1 faz? Eu li o link , mas ele não fornece uma explicação clara. Parece que é válido não apenas para diretórios, mas também para arquivos.

    
por Mark 15.02.2018 / 22:26

1 resposta

3

Isso funciona exatamente da mesma forma que o caso geral mount --bind /dir1 /dir2 . Tudo o que você precisa saber sobre o caso especial é que ele está bem definido e não é recursivo infinitamente.

(Por exemplo, os arquivos podem ser montados automaticamente porque os arquivos podem ser montados por bind).

O caso especial é menos inútil do que parece pela primeira vez, por duas razões.

1. Você pode definir opções de montagem de ligação, por exemplo para limitar possíveis operações

After this call the same contents are accessible in two places. One can also remount a single file (on a single file). It's also possible to use the bind mount to create a mountpoint from a regular directory, for example:

      mount --bind foo foo

The bind mount call attaches only (part of) a single filesystem, not possible submounts. The entire file hierarchy including submounts is attached a second place by using:

      mount --rbind olddir newdir

Note that the filesystem mount options will remain the same as those on the original mount point.

mount(8) since v2.27 allows to change the mount options by passing the relevant options along with --bind. For example:

      mount -o bind,ro foo foo

This feature is not supported by the Linux kernel; it is implemented in userspace by an additional mount(2) remounting system call. This solution is not atomic.

The alternative (classic) way to create a read-only bind mount is to use the remount operation, for example:

      mount --bind olddir newdir
      mount -o remount,bind,ro olddir newdir

Note that a read-only bind will create a read-only mountpoint (VFS entry), but the original filesystem superblock will still be writable, meaning that the olddir will be writable, but the newdir will be read-only.

It's also possible to change nosuid, nodev, noexec, noatime, nodiratime and relatime VFS entry flags by "remount,bind" operation. It's impossible to change mount options recursively (for example with -o rbind,ro).

Outro uso das opções de montagem é definir os "flags de propagação". Estes são especificamente o que sharedsubtree.txt explica. Eles podem definitivamente ser confusos. Eles também estão descritos em man mount .

Eu só tenho uma dica para oferecer: O documento afirma que as subárvores compartilhadas eram necessárias para propagar montagens de dispositivos removíveis em um namespace de montagem "escravo". No entanto, uma motivação mais crítica é poder desmontar seu dispositivo removível, depois de iniciar um processo em área restrita em um namespace de montagem "escravo".

2. Ele cria um limite que os arquivos não podem ser movidos ou vinculados em

Aparentemente, isso é desejado em parte para evitar as limitações impostas acima, e em parte porque os hardlinks podem ser realmente horríveis para a segurança e pode ser útil restringi-los um pouco .

    
por 16.02.2018 / 00:45