Você pode definir permissões para uma partição do Windows, mas não pode definir permissões para arquivos / pastas individuais na partição; no momento da montagem, você define as permissões para a unidade whole .
Em sua pergunta, você não mencionou se os usuários com privilégios padrão precisam ter "acesso somente leitura ao subdiretório A
e gravar acesso ao restante da partição do Windows ", ou "acesso somente leitura ao subdiretório A
e nenhum acesso ao resto da partição ". Infelizmente, ambos os cenários não podem ser realizados exatamente, devido à frase de abertura desta resposta.
Se você quiser conceder a um usuário acesso somente leitura a uma pasta específica na partição do Windows, esse usuário terá acesso somente leitura a toda a partição. Se estiver tudo bem com você, então aqui está uma explicação sobre como fazer isso:
-
Primeiro, crie um grupo para os usuários que terão acesso somente leitura. Para o exemplo, usaremos
WindowsRO
. Então, o comando para criar o grupo é:sudo groupadd WindowsRO
-
Em segundo lugar, adicionaremos os usuários (aos quais queremos conceder acesso somente leitura) ao grupo. Supondo que um usuário seja chamado de
notadmin
, este é o comando:sudo usermod -a -G WindowsRO notadmin
Repita este comando para todos os usuários necessários.
-
Agora, precisamos obter o GID (ID do grupo) do grupo, porque vamos usá-lo ao montar a unidade. Para fazer isso, execute o seguinte:
grep WindowsRO /etc/group | cut -d: -f3
Anote o número que foi gerado, porque precisaremos disso na etapa 5. Para este exemplo, suponho que a saída seja
1003
. -
Agora, precisamos obter o UID (ID do usuário) da conta de administrador, porque vamos usá-lo ao montar a unidade. Este exemplo assumirá que a conta de administrador é
bob
. Para fazer isso, execute o seguinte:grep bob /etc/passwd | cut -d: -f3
Anote o número que foi gerado, porque precisaremos disso na etapa 5. Para este exemplo, suponho que a saída seja
1000
. -
Agora vamos editar o arquivo
/etc/fstab
. Eu suponho que a partição do Windows em questão é/dev/sda2
, que você está montando em/media/123
e que é uma partiçãontfs
. Esta é a linha que você deve ter:/dev/sda2 /media/123 ntfs rw,gid=1003,uid=1000,dmask=027,fmask=037,#AnyOtherOptions#
-
gid=1003
é o número que recebemos da etapa 3 (o GID do grupo). -
uid=1000
é o número que recebemos da etapa 4 (o UID da conta de administrador). -
dmask=027
define as permissões nas pastas como:-rwxr-x---
, o que significa que o proprietário (a conta de administrador) terá acesso total (rwx
), e o grupo só terá acesso de leitura (r-x
) e qualquer outra pessoa não terá acesso a todos (---
). -
fmask=037
define as permissões nos arquivos como:-rwxr-----
. Isso é semelhante admask
; o grupo só terá acesso de leitura aos arquivos. - Você deve substituir
#AnyOtherOptions#
por quaisquer outras opções que tenha. Por exemplo, você pode terauto
, que monta automaticamente a partição na inicialização.
-
-
Quando o procedimento acima estiver concluído, use
sudo mount -a
para aplicar as alterações que fizemos no arquivofstab
. Espero que você não tenha erros.Agora você deve testar se os usuários podem acessar a partição. Se sim, vá para a próxima etapa para adicionar esse link
A
à pasta Documentos. -
Supondo que o diretório base da nossa conta
notadmin
seja/home/notadmin
e que essa pastaA
esteja em/media/123/some/folder/A
, faça o seguinte:ln -s /media/123/some/folder/A /home/notadmin/Documents/A
Agora você deve ver um link em
notadmin
's Documents, apontando paraA
. Ele só terá acesso de leitura a ele (e seus subdiretórios, já que ele tem acesso somente leitura a toda a partição). Siga a mesma coisa para outros usuários.
Todos os itens acima devem atender aos seus requisitos, exceto pelo ponto que mencionei no começo: que tipo de acesso o usuário deve ter para o restante da partição? O acima fornecerá acesso somente leitura a toda a partição, e não apenas à partição A
; não podemos definir permissões para arquivos / pastas específicos ao montar partições do Windows.