Como permitir o acesso a apenas uma pasta NTFS da partição já montada para um usuário específico?

2

Eu tenho dois usuários: userA e userB. Eu também tenho a partição formatada em NTFS. Toda a parição só é acessível ao userA graças a isso em / etc / fstab:

/dev/sda3 /home/userA/data ntfs-3g defaults,rw,nouser,uid=userA,umask=077,exec 0 0

Eu quero permitir que uma pasta (por exemplo, / home / userA / data / movies) seja acessível para userB, mas não para toda a unidade. Como posso fazer isso?

Se eu permitir todos os usuários no fstab, ambos os usuários terão acesso a toda a unidade, independentemente de estarem montados na pasta / home / userA /. userB pode simplesmente fazer

ls /home/userA/data

mesmo que ele não possa fazer

ls /home/userA

Se eu deixar o fstab como eu configuro agora e eu usar o symlink, o symlink respeita as permissões para a pasta que ele está vinculada e o userB não poderá usar este link simbólico.

Eu também tentei usar a opção remount, mas a única coisa que pode mudar é a opção ro / rw, ela não pode mudar uid, guid ou similar para partições ntfs. Eu acho que a política abaixo (do man mount) se aplica ao ntfs também:

The -o remount may not be able to change mount parameters (all ext2fs-specific parameters, except sb, are changeable with a remount, for example, but you can't change gid or umask for the fatfs).

    
por gadelat 08.11.2013 / 14:49

2 respostas

1

Eu assumo que a máquina cliente está executando o Linux.

O Linux tem a capacidade de criar várias visualizações de todo ou parte do mesmo sistema de arquivos. Você pode usar isso para tornar apenas parte de um sistema de arquivos acessível a um usuário (sujeito a mais verificações de permissão).

/dev/sda3 /home/userA/data ntfs-3g defaults,rw,nouser,uid=userA,umask=077,exec
/home/userA/data/subdir /home/userB/subdir bind

O comando mount --bind /home/userA/data/subdir /home/userB/subdir configura essa segunda exibição.

Se /home/userA não estiver acessível ao usuário B, o usuário B não poderá acessar a partição NTFS através dessa visualização. No entanto, o usuário B poderá acessar o diretório subdir através da exibição em /home/userB/subdir . Permissões ainda se aplicam: alguns arquivos em subdir podem não estar acessíveis se suas permissões excluírem userB.

Se você quiser ajustar as permissões também (para permitir que o usuárioB acesse todos os arquivos ou apenas para conceder acesso somente leitura, etc.), você pode usar bindfs . Consulte acesso somente leitura para todos os arquivos em uma subpasta específica e Permitir que um usuário leia os diretórios home de outros usuários por exemplo.

    
por 08.11.2013 / 22:15
0

O NTFS-3g suporta listas de controle de acesso, ACLs. É destacado aqui no site NTFS-3g . Para interagir com as ACLs, use as ferramentas de linha de comando setfacl & getfacl .

Se isso funcionar com seus compartilhamentos montados particulares, você poderá usar o comando setfacl para permitir o acesso do usuário a essa pasta específica.

$ setfacl -m user:userB:rwx /home/userA/data/movies

Você pode precisar permitir mais do que o acima, pois é um diretório, o comando acima que usei para dar acesso a apenas um arquivo.

    
por 08.11.2013 / 15:15

Tags