É possível desativar as permissões de arquivo em um sistema de arquivos ext3 ou ext4?

10

É possível desativar as permissões de arquivo em um sistema de arquivos ext3 / 4?

Basta saber se é possível desativar ou ignorar completamente as permissões de arquivo em um sistema de arquivos ext3 ou ext4. Talvez uma opção de montagem?

Não estou preocupado com as implicações de segurança, pois faria isso para testar e com mídia removível.

Corey
fonte
2
Por que você deseja remover permissões de arquivo de um sistema de arquivos ext3 ou ext4? Eles foram criados com as permissões de arquivo POSIX em mente. Se você deseja usar um sistema de arquivos com opções de permissões limitadas, talvez algo como FAT32 ou exFAT seja melhor?
Rob Gibson
Estou curioso para saber se há uma opção nativa Linux
Corey
2
É uma opção nativa do Linux para usar o FAT32, pois é um sistema de arquivos suportado. Você simplesmente precisa usar um sistema de arquivos que não foi projetado para sistemas POSIX, como aqueles que suportam permissões de arquivo.
Rob Gibson
1
não $ sudo chmod -R 777 /your/filesystemfaria o truque?
Cricket Red
1
@RedCricket que seria uma solução alternativa se a resposta acaba por não ser
Corey

Respostas:

5

Essa não é a única coisa que você pode fazer.

Existe uma maneira de apenas conceder permissões a todos sem usar as permissões regulares, que atrapalharão sua exibição (de certa forma).

O que isso significa é que ls --color(por padrão) sempre será exibido o:rwXem um plano de fundo de bloco, o que é hediondo e serve apenas para alertar os usuários sobre permissões erradas (quando eles são adequados para você).

Mas você pode facilmente obter permissões de gravação universais (ou quase universais) em seus arquivos usando listas de controle de acesso .

setfacl -d -m g:sudo:rwX .
setfacl -m g:sudo:rwX .

dará permissões rwX a todas as pessoas no grupo sudo. Como na maioria dos seus sistemas, você terá um usuário no grupo sudo, principalmente para mídias removíveis (e, portanto, sistemas locais), sempre terá acesso a qualquer lugar nesse grupo (quem é você). Você também pode estendê-lo aos usuários, caso esteja em algum outro sistema que use esse grupo:

setfacl -d -m g:users:rwX .
setfacl -m g:users:rwX .

O sinalizador -d significa que as permissões serão propagadas para todos os arquivos recém-criados (padrão). A única desvantagem é que você normalmente não pode ver essas permissões, o que significa que você prefere desativá-las completamente (por isso, qual é o uso em uma mídia de remoção, se você definir permissões que todo mundo pode contornar, certo? É como dizer: você pode acessar esses arquivos se se chamar John. Ok, eu me chamo John. Tudo bem, você tem acesso agora.

(Todos podem assumir a raiz de todos os sistemas que possuem e, portanto, as permissões do sistema de arquivos não significam nada).

O ExtFS não se destina apenas à mídia removível. Não há sistemas de arquivos Linux que são realmente úteis em mídia removível, mas FAT e NTFS tem a desvantagem de não realmente links simbólicos de apoio e executar bandeiras, o que é difícil para os repositórios git, por exemplo. Apenas minha opinião aqui.

Você só pode ver o arquivo ACL fazendo:

getfacl <file>

E quando você ls -l, você verá:

drwxr-xr-x+ 4 user user 4096 aug 31 03:40 .

O + indica que há uma ACL ativa no arquivo (ou diretório).

A saída de getfacl será (por exemplo):

# file: .
# owner: user
# group: user
user::rwx
group::rwx                      #effective:r-x
group:sudo:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:sudo:rwx
default:mask::rwx
default:other::r-x

Não conheço todos os detalhes, mas isso deve funcionar. Enquanto estiver no sudo, você pode fazer qualquer coisa.

Xennex81
fonte
4

Não, você não pode eliminar as permissões de arquivo para sistemas de arquivos ext {2,3,4}.

A única coisa que você pode fazer é definir todos os arquivos com a permissão 777 .

Apenas corra:

 chmod a+rwX -R <mountpoint>
H.-Dirk Schmitt
fonte
4
Melhor fazer isso chmod a+rwX -R <mountpoint>para não dar permissões de execução falsas.
vonbrand
@vonbrand right
H.-Dirk Schmitt
mas o Xin chmod a+rwXtorna todos os arquivos executáveis, certo? Isso é uma coisa boa??
Becko
3
@becko Você perdeu o ponto dos dois comentários anteriores. Letras maiúsculas Xapenas tornarão os diretórios executáveis ​​(inseríveis) sem tornar os arquivos executáveis; enquanto o minúsculo xtorna todos os arquivos e diretórios executáveis.
XA21X
0

Obviamente, as permissões do sistema de arquivos são verificadas apenas pelo driver (módulo) do sistema de arquivos e, se você precisar corrigir esse módulo, poderá desativar as permissões do sistema de arquivos conforme desejar.

Uma vez eu fiz isso no cifs.ko, o módulo 'Samba' (cliente) para o kernel, porque existem alguns bugs do samba nos quais você deve ter acesso local e você tem acesso remoto, mas ainda assim o acesso não é concedido.

Desabilitei a permissão local, verificando se o usuário local estava no grupo (local) do arquivo, a mesma coisa que a opção "noperm", ativando apenas quando você é membro do grupo, desta vez.

Obviamente, extfs não é exatamente um módulo no kernel, mas uma nova flag seria simples de adicionar.

Xennex81
fonte
Não tenho certeza se você está respondendo à pergunta ou não. Você diz que é possível, se fosse um módulo, então diz que não é um módulo.
Jeff Schaller
Seria possível se o sol também dançasse quadrado no céu. Se você soubesse alguma coisa sobre o kernel, saberia que algo que não seja um módulo exigiria recompilar todo o kernel, o que é um pouco proibitivo para as pessoas comuns, enquanto a compilação de um módulo é relativamente gratuita. Apenas exprimo o fato de que não há nada inerente ao Linux que impeça o surgimento dessa opção, porque essa limitação também me incomodou bastante.
Xennex81