Como posso evitar que uma conta padrão monte uma partição específica?

4

Eu tenho uma conta root da qual faço todas as minhas tarefas. Eu configurei minhas partições para montar na inicialização. Eu também criei uma conta para o meu irmão mais novo. Eu não quero que ele acesse partições específicas, enquanto ainda tem acesso a outras pessoas.

Eu tenho:

  • sda5
  • sda6
  • sda7

Eu quero bloquear o acesso a sda5 , mas quero dar a ele permissão para acessar as outras partições sda . Como posso fazer isso?

    
por Kaktarua 18.07.2012 / 16:08

4 respostas

3

Obrigado pela ajuda pessoal. Ambas as respostas me ajudaram a descobrir o que preciso fazer. Aqui está o que eu fiz.

Meu outro sda é o sistema de arquivos ntfs , portanto não posso alterar a permissão diretamente. Então eu tenho que montá-lo em uma pasta para a qual só eu tenho acesso.

Eu faço uma pasta em /media chamado secret com terminal

cd /media
sudo mkdir -p secret

Em seguida, altero a propriedade dessa pasta com o comando chown .

sudo chown XXXX:XXXX /media/secret

Onde XXXX no meu nome de usuário. Então mudei a permissão para essa pasta para que só eu possa acessar.

sudo chmod 700 /media/secret

Depois tive que editar /etc/fstab para o ponto de montagem apropriado de sda5 .

gksudo gedit /etc/fstab

Em seguida, adicione

/dev/sda5        /media/secret  ntfs defaults           0  0

no final e salvou. Então reinicie.

Viola! Funcionou.

    
por Kaktarua 19.07.2012 / 15:42
1

Supondo que o nome do seu amigo seja Alice e ela já tenha uma conta no seu sistema, você pode configurar suas unidades de forma que elas sejam montadas automaticamente com a configuração ideal. Isso é feito editando / etc / fstab .

não-ext4

As permissões para a unidade podem ser determinadas completamente dentro de / etc / fstab para a maioria dos sistemas de arquivos.

Adicione o seguinte ao seu / etc / fstab

/dev/sda5 /mnt/Secret ext3 defaults 0 0
/dev/sda6 /mnt/Shared ext3 defaults,uid=1000,gid=1000 0 0

Você pode determinar o ID de um usuário ou grupo procurando / etc / passwd ou / etc / group .

ext4

ext4 não permite opções de uid / gid. Você definirá a permissão alterando os direitos dos diretórios de montagem.

Adicione o seguinte ao seu / etc / fstab

/dev/sda5 /mnt/Secret ext4 defaults 0 0
/dev/sda6 /mnt/Shared ext4 defaults 0 0

Atribuir as permissões

chown root:root /mnt/Secret
chmod 770 /mnt/Secret
chown alice:alice /mnt/Shared
chmod 777 /mnt/Shared

Você também pode criar um grupo de usuários, como compartilhado , e apenas conceder permissões a esse grupo para a unidade.

    
por earthmeLon 18.07.2012 / 16:28
1

Se tiver o sistema de arquivos correto, você poderá alterar as permissões da pasta onde ele está montado. Por exemplo, se estiver montado como / media / sda5, você precisa digitar o seguinte no terminal (Ctrl + T).

sudo chown your_username:your_username /media/sda5
sudo chmod 700 /media/sda5

Isso permitirá que apenas o usuário especificado por seu_usuário, bem como o usuário root, acesse os arquivos. Isso não funcionará para alguns sistemas de arquivos, como o NTFS. Nesse caso, você precisará alterar as permissões do diretório pai. Por exemplo, se você montou como / media / private / sda5, você precisará aplicar as operações ao diretório / media / private. Isso restringirá o acesso.

    
por Kalle Elmér 18.07.2012 / 16:40
1

Minha solução será simples.

  • Abra o arquivo /etc/fstab com permissão de root.
  • Adicione esta linha, salve e feche o arquivo.

    /dev/sda5 /media/secret ntfs defaults 0 0
    
  • Então, quando ele quiser montá-lo, ele pedirá a senha, que só você sabe. Então, seguro e fácil. Você pode montá-lo facilmente com o terminal

    sudo mount /dev/sda5
    

Para as outras partições, o usuário pode montá-las facilmente via nautilus. ou como você disse, você tem uma configuração para montá-los automaticamente. É isso aí. Apenas a configuração de /dev/sda5 precisa ser alterada.

É fácil, não é?

Como um comentário de Eliah Kagan sugere que, os usuários não-root ainda podem montá-lo. IMHO na verdade não é. Mesmo os usuários administradores não podem montar as partições sem fornecer explicitamente sua senha no terminal.

Eu testei isso:

Eu tenho uma partição ntfs que é /dev/sda3 . Eu criei uma entrada em /etc/fstab como esta:

 /dev/sda3   /media/works  ntfs   defaults  0   0

O resultado é que, quando tentei executá-lo via nautilus, esta mensagem de erro é exibida.

Quando eu tentei montá-lo via terminal com udisks --mount /dev/sda3 , esta mensagem de erro é exibida

Mount failed: Error mounting: mount exited with exit code 1: helper failed with:
mount: only root can mount /dev/sda3 on /media/works

Portanto, ele impede usuários não-root, mesmo os usuários-raiz. Eles só podem montá-lo através do comando mount e fornecer a senha abaixo:

 sudo mount /dev/sda3
    
por Anwar 19.07.2012 / 16:21