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

8

Eu tenho o 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 no disco rígido. Como o disco possui NTFS, o Linux designa um usuário para ser o proprietário dos arquivos no disco. Portanto, todos os arquivos no disco parecem pertencer a um usuário e somente esse usuário pode ver os arquivos.

Uso duas contas de usuário no meu computador e alterno frequentemente entre elas. Depois de mudar 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 algo que possa ser feito sobre isso, exceto montá-lo via / etc / fstab?

Obrigado.

Alexander Sandler
fonte

Respostas:

14

Montando com Permissões Específicas

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

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

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

Evitando o fstab - montando automaticamente um disco específico com o udev

Eu imagino que você deseja evitar o fstab porque o disco nem sempre está conectado na inicialização. Se você deseja evitar o fstab, use uma regra do udev . O Udev pode montar automaticamente (e impedir que o Ubuntu monte automaticamente) quando o disco estiver 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 por suas propriedades. No meu exemplo, eu fiz isso ATTRS{serial}=="UA04FLGC". Eu descrevi como fazer isso em outra pergunta . A nomeação e o local dos arquivos de regras também são descritos lá.

Atribua 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, deixe de fora a parte serial e não se esqueça de atribuir um ponto de montagem exclusivo (contando-os, criando a partir de serial, símbolo de% do udev ou outro método). Além disso, como declarado em outro lugar, ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" pode haver uma opção para montar todos os discos removíveis com determinadas permissões / participação na empresa.


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

Criando um grupo e adicionando usuários

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

groupadd winhdd
usermod -a -G winhdd confus

Descobrindo 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 parecem winhdd:x:4:confus,narur,joeonde 'confus', 'narur' e 'joe' são os nomes de usuário pertencentes a esse grupo, 'adm' é o nome do grupo e '4' o ID do grupo que você está procurando. Em /etc/groupsque você também pode verificar se adicionar os usuários para o seu grupo foi bem sucedido. O comando getent group winhddmostraria a linha com informações sobre o grupo. O idcomando fornece a sua identificação de grupo, identificação de usuário e nomes e identificações de todos os grupos aos quais você pertence.

Definindo opções semelhantes a umask

Você deseja definir dmask=um valor razoável, permitindo que você execute pelo menos (= acessar) diretórios. fmask=é a opção para permissões de arquivo.

dmask=007,fmask=117,gid=46,uid=1000permite que o proprietário seja o número de usuário 1000 (primeiro dígito nas máscaras) e os membros do número de grupo 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í o terceiro dígito nas máscaras - o 7). Aqui estão os valores da 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
em uso
fonte
Eu li que o NTFS fstab entradas devem ser configurado com valores Dmask & fMask não umask valores ... Dmask 027 e fMask 137 - ubuntuforums.org/showthread.php?&t=283131
fossfreedom
Certo, os diretórios devem ter permissões executáveis. Se você deseja que os arquivos sejam executáveis, o umask está bem. Outro dmask e fmask é o caminho a percorrer.
con-f-use