compartilhando uma partição ext3 / ext4 na unidade externa

2

existe uma maneira de compartilhar uma partição formatada ext3 / ext4 em uma unidade USB externa entre usuários diferentes (uids) em diferentes máquinas Linux sem criar um grupo para essa finalidade, definindo a propriedade do grupo da partição para esse grupo e adicionando cada usuário para o grupo em cada máquina?

Isso significaria que eu preciso ter privilégios de root em cada máquina ... o que eu posso não ter em alguns casos.

Estou usando a partição para armazenar o código que estou desenvolvendo no Linux e gostaria que a opção fosse segura ... se possível.

Eu poderia usar uma partição vfat mas então eu não tenho controle sobre os direitos de rw + eu não posso desenvolver diretamente no diretório: eu sempre teria que tar.gz o diretório, extrair, trabalhar, tar.gz, copiar para o drive externo ... e assim por diante.

Obrigado!

    
por tmaric 30.08.2011 / 10:25

2 respostas

3

A resposta geral é "não". uid e gid no sistema de arquivos serão definidos no momento da gravação e, se não corresponderem em uma máquina diferente, os privilégios não corresponderão a nenhum deles.

Se você não quiser fazer uma pequena revolução com uids / gids em várias máquinas, tente usar o acls para definir as permissões desejadas para todos os usuários desejados em todas as máquinas. Eu suspeito que isso vai usar uids numéricos internamente, então isso poderia acontecer, que dar acesso à sua conta foo na máquina A, uid a, dará acesso aos seus arquivos para uma barra aleatória na máquina B, uid a. Parece também que é mais incômodo do que vale a pena.

Acho que a melhor abordagem seria usar o tar para migrar sua árvore de desenvolvimento.

Eu também tive uma idéia incompleta de carregar um repositório Subversion (com arquivos graváveis apenas para raiz e arquivos de configuração de acesso apropriados), e confiando no servidor svn estar presente em todas as máquinas que você irá usar, mas Eu não acho que seja excessivamente são.

    
por 31.08.2011 / 06:01
0

Descobri que sys id de compartilhamento de grupo 3 no Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris.

Nenhum outro nome de grupo compartilha o mesmo id. Mesmo o root group com id 0 em alguns sistemas, na verdade, é wheel . E nogroup no Linux geralmente é 65534 mas no BSD é 32766 ((

Defina o bit segid e a ACL (incluindo o padrão) como sys no diretório no armazenamento externo:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

Depois de adicionar user a sys group, é possível ler e gravar em /mnt/data/dir em qualquer host. Você não precisa mais de sudo privileges cada vez para acessar.

sys group e setgid bit executam bem o trabalho, mas para contornar uname mask você precisa usar o ACL.

Isso é o melhor que você pode fazer.

O UNIX não foi projetado para uso pessoal / doméstico. É um SO corporativo / corporativo, onde não é definido o plug-in de mídia removível em diferentes hosts ((

Veja também:

por 01.04.2016 / 18:52