Por que as permissões padrão para / media / nome de usuário root: root?

20

Eu ajustei as permissões /media/usernamede root:rootpara username:root[1]. Eu entendo que um local centralizado no usuário permite permissões centralizadas no usuário [2].

Mas por que as permissões para esta pasta root:rootem primeiro lugar?


[1] Para que eu possa montar 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 mudou os pontos de montagem padrão? :

A causa raiz dessa 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 específico, em vez de conceder acesso a todos os usuários do sistema.

david.libremone
fonte
A montagem geralmente envolve acesso root. Você pode (como você fez) ajustar as permissões. No entanto, isso não pode se tornar um comportamento "padrão" no Linux. Imagine o que acontecerá se qualquer usuário (não um administrador) tiver a capacidade de montar como você. Será um caos total. :)
rbaleksandar

Respostas:

20

No meu caso, é assim que as coisas são /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 segurança (certamente impede que outros usuários vejam, sem falar em roubar / excluir / alterar dados), mas não é aí que a história termina.

Você pode perceber o sinal de mais no final da máscara de permissão. Isso significa que uma ACL (lista de controle de acesso) está em uso. Isso permite muito mais permissões 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::---

É através da ACL onde meu usuário pode visualizar o conteúdo /media/oli. Ainda não tenho permissão para editar o conteúdo.

O que está sendo montado nos 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á sendo executado como root; portanto, quando algo acessa-o através do DBUS, é possível criar os pontos de montagem em / home / $ USER e mostrá-los ao 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 algo em sua área de trabalho tem permissão para gravar em algum lugar permitido apenas pela raiz e como o usuário pode lê-lo, apesar de uma propriedade restritiva.

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

Edit : Algo que me ocorreu é que ele também oferece ao administrador um bom lugar para montar coisas para um único usuário. As permissões por padrão ajudam a manter essa montagem privada e a protegê-la contra interferências do usuário. Parece um padrão bastante sensato para algo que foi feito sem o /media/$user/diretório e precisaria de permissões de root.

Oli
fonte
2

Eu concordo com as outras respostas e comentários além desse

root:rootpara evitar principalmente duas situações.
1. Risco de segurança: um script de hacker que despeja / dev / zero para / media / user / que preenche a partição raiz e, portanto, incapaz de efetuar login ou apresentar um desempenho ruim.
2. Conflito com o udisk2: assuma uma partição com backup de etiqueta . Os udiscos montam-no @ / media / user / backup. O usuário criou manualmente o diretório acima, o que forçará o udisk a alterar o ponto de montagem para algo como / media / user / backup1 e, portanto, enganado por scripts de backup etc.

Prinz
fonte
2

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

Normalmente, o moderno Desktop Environmentsmontará seus dispositivos /media/username/devicepartitionname. Isso significa que, para que o dispositivo possa ser usado, você só precisa possuir a devicepartitionnamepasta e qualquer coisa abaixo dela. Isso significa que sua pasta /media/usernameainda pode pertencer a ela roote a tornaria mais segura.

Também montar alguma coisa /media/usernameé uma péssima idéia, pois isso fará com que você DEtente montar uma partição em uma pasta em outra partição montada, o que pode levar a muito !! FUN !! (também provável perda de dados).

Wolfer
fonte
obrigado por uma resposta simples, mas não simplista ... Eu esclareci acima que o GnomeEncFS está montando para /media/username/someplacenão /media/username... você diz especificamente que ele deve pertencer ao root, seria root:usernamemelhor do que username:rootno meu caso? ou ambos apresentam a mesma preocupação de segurança? (veja esta pergunta sobre por que eu tenho que fazê-lo de qualquer maneira, askubuntu.com/questions/392063/… )
david.libremone
@ d3vid: Depende, no segundo caso, se você não tivesse alterado a permissão padrão para a qual seu usuário normal não seria capaz de escrever /media/user(já que é 750), o que é um pouco melhor do que o primeiro caso. Quanto à montagem: historicamente, as /mntsubpastas e suas subpastas são consideradas o ponto de montagem padrão para qualquer coisa, o que /mediafoi adicionado apenas para que as pessoas que desejam apenas usar uma caixa Linux sem realmente entender como as coisas funcionam não fiquem confusas com todos os pastas estranhas e outros enfeites /.
Wolfer
@ d3vid: Quanto à preocupação com a segurança: é porque as pastas às quais você tem acesso de gravação e acesso de execução podem ser usadas por um hacker / cracker / o que você quiser chamar para carregar binários que eles podem usar para obter rootacesso a sua caixa. (Isso se chama escalonamento de privilégios.) Embora você não deva tornar seu sistema deliberadamente mais inseguro, existem locais padrão que permitem a mesma coisa (e são mais obscuros e, como tal, tornam menos provável a atividade de hackers). Portanto, a "preocupação com a segurança" nesse caso pode ser ignorada, dependendo da sua configuração.
Wolfer
11
@Wolfer - Voltei a uma versão da sua resposta que não continha linguagem ofensiva considerada. Vamos tentar manter as perguntas e respostas o mais limpas possível e tentar não causar nenhuma ofensa. Obrigado.
fossfreedom