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/fstab
como 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,joe
onde '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/groups
que você também pode verificar se adicionar os usuários para o seu grupo foi bem sucedido. O comando getent group winhdd
mostraria a linha com informações sobre o grupo. O id
comando 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=1000
permite 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