Por que as permissões padrão para / media / username root: root?

19

Alterei as permissões em /media/username de root:root para username:root [1]. Eu entendo que uma localização centrada no usuário permite permissões centradas no usuário [2].

Mas por que as permissões para esta pasta foram root:root ?

[1] Para que eu possa monte pastas criptografadas lá com o Gnome EncFS Manager. Por exemplo, agora posso montar uma pasta criptografada como /media/username/personal-documents .

[2] De Por que o Ubuntu moveu os pontos de montagem padrão? :

  

A causa raiz para essa mudança de comportamento padrão no udisks2 parece clara: a segurança. É mais seguro restringir o acesso a um sistema de arquivos a um usuário em particular, em vez de dar acesso a ele a todos os usuários do sistema.

    
por d3vid 17.12.2013 / 17:26

3 respostas

17

No meu caso, é assim que as coisas aparecem em /media :

$ ls -l /media | grep $USER
drwxr-x---+  3 root root 4096 Jan 22 15:59 oli

Basicamente, isso significa que apenas um usuário root pode interagir com o diretório. Isso é ótimo para a segurança (certamente impede que outros usuários vejam, quanto mais roubando / excluindo / alterando dados), mas não é onde a história termina.

Você pode notar o sinal de mais no final da máscara de permissão. Isso significa que uma ACL (Access Control List) está em uso. Isso permite permissões muito mais granulares.

$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---

É por meio da ACL que meu usuário pode ver o conteúdo de /media/oli . Ainda não tenho permissão para editar o conteúdo.

A coisa que está fazendo a montagem em desktops modernos (tanto o Gnome quanto o KDE) é udisks2 :

root      2882  0.3  0.0 195956  4048 ?        Sl   Jan16  30:35 /usr/lib/udisks/udisks-daemon
root      2887  0.0  0.0  47844   784 ?        S    Jan16   0:00 udisks-daemon: not polling any devices
root      3386  0.0  0.0 429148  6980 ?        Sl   Jan16   7:35 /usr/lib/udisks2/udisksd --no-debug

Como você pode ver, ele está rodando lá como root, então quando algo acessa através do DBUS, ele é capaz de criar os pontos de montagem dentro de / home / $ USER e colocá-los no seu usuário para que eles possam editar o conteúdo.

Nada disso muda o que eu disse originalmente. Estou apenas explicando como isso funciona na prática. É assim que alguma coisa na sua área de trabalho pode ser gravada em algum lugar permitido apenas pelo root, e como seu usuário pode lê-la apesar de uma propriedade restritiva.

Tudo isso o transforma em um ambiente seguro para os dados do usuário, mas que também dificulta que o usuário interfira com a malha da montagem. Eles não podem, por exemplo, excluir o ponto de montagem ou renomeá-lo, o que pode causar problemas, a menos que tenham acesso root.

Editar : algo que me ocorreu é que também dá ao administrador um bom local para montar coisas para um único usuário. As permissões por padrão ajudam a manter essa montagem privada e protegem essa montagem contra a intromissão do usuário. Parece ser um padrão bastante sensato para algo que é feito sem o diretório /media/$user/ , precisaria de permissões de root.

    
por Oli 22.01.2014 / 17:26
2

Concordo com a outra resposta e comentários além disso

root:root para evitar principalmente duas situações.
1. Risco de segurança: Um script de hacker que despeja / dev / zero em / media / user / que preenche a partição raiz e, portanto, não consegue efetuar login ou desempenho ruim. 2. Conflito com o udisk2: Assuma uma partição com o rótulo backup . Udisks montá-lo @ / media / user / backup. o usuário criou manualmente o diretório acima, o que forçará o udisk a mudar o ponto de montagem para algo como / media / user / backup1 e, assim, ser enganado por scripts de backup, etc.

    
por Prinz 23.01.2014 / 06:11
2

A mentalidade Linux (e * nix) em geral é baseada no princípio Least amount of necessary privileges.

Normalmente, o Desktop Environments moderno montará seus dispositivos em /media/username/devicepartitionname . Isso significa que, para o dispositivo ser utilizável, você só precisa possuir a pasta devicepartitionname e qualquer coisa abaixo dela. Isso significa que sua pasta de /media/username ainda pode pertencer a root , o que a tornaria mais segura.

Montar qualquer coisa em /media/username também é uma má ideia, pois isso fará com que o seu DE tente montar uma partição em uma pasta em outra partição montada que pode levar a um monte de !!FUN !! (também provável perda de dados).

    
por Wolfer 16.01.2014 / 19:21