Como dou acesso a vários usuários a uma partição do Windows NTFS?

8

Tenho um disco rígido USB conectado à minha máquina Ubuntu (11.04). Toda vez que eu reinicio o computador e faço o login, ele monta o disco rígido. Como o disco tem NTFS, o Linux atribui algum usuário a ser o proprietário dos arquivos no disco. Assim, todos os arquivos no disco parecem pertencer a um usuário e somente esse usuário pode ver os arquivos.

Eu uso duas contas de usuário no meu computador e alterno entre elas. Depois de alternar para outra conta de usuário, não consigo mais acessar o conteúdo do disco porque ele pertence à minha primeira conta de usuário. Existe alguma coisa que possa ser feita sobre isso, exceto a montagem via / etc / fstab?

Obrigado.

    
por Alexander Sandler 24.07.2011 / 11:02

1 resposta

14

Montagem com permissões específicas

Existe. Coloque ambos os usuários em um grupo juntos. Em seguida, use esse grupo para definir a opção gid= e monte seu disco com as permissões que você deseja que ele tenha. Você pode controlar as permissões com as opções umask= , fmask= e dmask= no comando mount. Aqui está um exemplo:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

Essas opções também podem ser usadas em /etc/fstab da seguinte forma: UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2 .

Evitando fstab - automontando um disco específico com o udev

Eu imagino que você queira evitar o fstab porque o disco nem sempre está conectado na inicialização. Se você quiser evitar o fstab , use uma regra do udev . O Udev pode ser montado automaticamente (e impedir que o Ubuntu seja montado automaticamente) quando o disco está conectado. Uma regra para isso pode ser assim:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

Você precisará identificar o disco pelas suas propriedades. No meu exemplo, fiz isso por ATTRS{serial}=="UA04FLGC" . Eu descrevi como fazer isso em outra pergunta . A nomenclatura e a localização dos arquivos de regras também estão descritas lá.

Conceda a todos os discos removíveis essas propriedades

Se você quiser fazer isso com todo o disco removível - não apenas aquele em particular, simplesmente omita a parte serial e certifique-se de atribuir um ponto de montagem exclusivo (contando-os, criando a partir de serial,% -symbol do udev ou outro método ). Também como declarado outro lugar ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" poderia ser uma opção para montar todos os discos removíveis com certas permissões / onwership.

Informações úteis que você já conhece:

Criando um grupo e adicionando usuários

Esses são os comandos shell para criar um grupo chamado 'winhdd' e adicionar um usuário chamado 'confus' ao grupo:

groupadd winhdd
usermod -a -G winhdd confus

Descobrir o ID do grupo

Você pode encontrar os IDs de grupo de todos os grupos em seu sistema em um arquivo chamado /etc/group . As entradas lá parecem com winhdd:x:4:confus,narur,joe onde 'confus', 'narur' e 'joe' são os nomes de usuário pertencentes àquele grupo, 'adm' é o nome do grupo e '4' o id do grupo, você está procurando. Em /etc/groups , você também pode verificar se a adição dos usuários ao seu grupo foi bem-sucedida. O comando getent group winhdd mostraria a linha com informações sobre o grupo. O comando id fornece seu id de grupo, id de usuário e os nomes e ids de todos os grupos aos quais você pertence.

Definindo opções semelhantes a umask

Você deve definir dmask= como um valor sensato , permitindo que você, pelo menos, execute (= acesso) diretórios. fmask= é a opção para permissões de arquivo.

dmask=007,fmask=117,gid=46,uid=1000 permite que o proprietário que é o número de usuário 1000 (primeiro dígito nas máscaras) e os membros do grupo número 46 (segundo dígito na máscara) leiam e gravem e arquivos no disco. Outros usuários não têm direitos para fazer nada (daí terceiro dígito nas máscaras - o 7). Aqui estão os valores de máscara :

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute
    
por con-f-use 13.04.2017 / 14:25