Como restringir o acesso a uma partição NTFS a um usuário padrão (não administrador)?

4

Estou usando o Ubuntu 12.04. Eu tenho 4 partições NTFS. Eu fiz 2 usuários: um para mim (Admin) e um para a família (padrão / não administrador).

Eu consegui restringir o acesso à minha pasta pessoal a partir desse usuário padrão. Agora eu quero restringi-lo de acessar todas as minhas partições NTFS. Como posso fazer isso?

Eu verifiquei Restringir o acesso de outro usuário à partição NTFS mas embora a resposta seja aceita, não parece ter ajudado esse OP como visto nos comentários depois.

    
por Nirmik 23.05.2012 / 13:29

2 respostas

3
  1. Abra o arquivo fstab como usando

    gksudo gedit /etc/fstab
    
  2. Você deve adicionar uma linha no arquivo / etc / fstab da seguinte forma,

    /dev/sda7   /media/EXTRA    ntfs-3g noauto,uid=XXX,unmask=7 0   0
    

    Aqui XXX é o meu ID de usuário. Você pode encontrar o seu com o comando id e a /dev/sda7 é a partição à qual desejo restringir o acesso.

  3. Crie uma pasta chamada EXTRA em /media/ da seguinte maneira,

    sudo mkdir /media/EXTRA
    
  4. Agora, sempre que você fizer login, precisará montá-lo como

    sudo mount /dev/sda7 /media/EXTRA
    

Feito!

Explicação:
Se uma partição específica contiver um sistema de arquivos VFAT ou NTFS e você desejar acessá-lo por conta própria, é bem simples:

Inclua as opções "noauto", "uid=XXX", and "umask=7" na linha fstab e remova as opções "usuário" e / ou "usuários", se elas aparecerem lá agora.

Isso significa que, no momento da inicialização, o sistema criará essa partição desmontada e somente você (operando como root, usando sudo presumivelmente) poderá montá-la.

Uma vez montado, ele será de propriedade de seu usuário não privilegiado (supondo que o usuário seja XXX, que é dado ao primeiro usuário criado no momento da instalação em instalações MDV - verifique com o comando "id" executado como esse usuário, e ajustar fstab em conformidade) e ficará inacessível a todos os outros usuários locais.

Para montar suas 4 partições restritas emitindo o comando mount quatro vezes é uma tarefa chata. Para cortar essa tarefa chata, eu escrevi um script de shell:

#!/bin/bash
#Mount Unmount secret partitions now with choice of partition
function checkPartitions(){
    local state=
    local dev=
    case $state in
    "unmounted")
        mount | grep -q $dev
        if [ $? -eq 1 ]; then
            echo $dev
        fi
        ;;
    "mounted")
        mount | grep -q $dev
        if [ $? -eq 0 ]; then
            echo $dev
        fi
        ;;
    esac
}

function safeUnmount() {
    local dev=
    mount | grep -q $dev
    if [ $? -eq 0 ]; then
        echo "Device $dev found. Unmounting now"
        sudo umount $dev
        if [ $? -eq 0 ]; then
            echo "Device $dev unmounted successfully."
        else
            echo "You are not root??"
        fi
    else
        echo "Device $dev is already unmounted."
    fi 
}

function safeMount() {
    local dev=
    mount | grep -q $dev
    if [ $? -eq 1 ]; then
        echo "Device $dev not found. Mounting now"
        sudo mount $dev
        if [ $? -eq 0 ]; then
            echo "Device $dev mounted successfully."
        else
            echo "You are not root??"
        fi
    else
        echo "Device $dev is already mounted."
    fi 
}

echo -e "What you want to do? \n 1. Mount Secret Partitions \n 2. Unmount Secret Partitions"
read -p "Enter your choice :" choice

case $choice in
1)
    echo -e "You want to Mount your secret partitions"
    echo "-------List of Unmounted secret partitions-------"
    checkPartitions "unmounted" "/dev/sdaX1"
    checkPartitions "unmounted" "/dev/sdaX2"
    checkPartitions "unmounted" "/dev/sdaX3"
    checkPartitions "unmounted" "/dev/sdaX4"
    anythingelse="y"
    #echo -e "\n"
    while [ $anythingelse == y -o $anythingelse == Y ]; do
        read -p "Which partition should be mounted?" partNum
            safeMount "/dev/sda"$partNum
        read -p "Do you want to mount any other partition? [y/n]" anythingelse
    done
    ;;
2)
    echo -e "You want to Unmount your secret partitions\n"
    echo "--------List of Mounted secret partitions--------"
    checkPartitions "mounted" "/dev/sdaX1"
    checkPartitions "mounted" "/dev/sdaX2"
    checkPartitions "mounted" "/dev/sdaX3"
    checkPartitions "mounted" "/dev/sdaX4"
    anythingelse="y"
    #echo -e "\n"
    while [ $anythingelse == y -o $anythingelse == Y ]; do
        read -p "Which partition should be unmounted?" partNum
            safeUnmount "/dev/sda"$partNum
        read -p "Do you want to unmount any other partition? [y/n]" anythingelse
    done
    ;;
esac

Substitua /dev/sdaX pelas suas 4 partições.

Salvar como secret-mount-unmount.sh e, em seguida, emitir um comando

chmod +x /path/to/file/secret-mount-unmount.sh

Clique duas vezes no arquivo e, em seguida, clique em Run in Terminal e prossiga.

    
por virpara 23.05.2012 / 14:06
0

Você precisa adicionar a partição NTFS a /etc/fstab

  1. Obtenha o ID do dispositivo executando sudo blkid . (Ex. / Dev / sda1)
  2. Crie o ponto de montagem executando sudo mkdir /media/mount-point . (Ex. / Media / windows)
  3. Edite fstab .

    sudo nano /etc/fstab

Adicione esta linha: /dev/sda1 /media/windows ntfs-3g noauto,user,uid=1000,gid=1000,umask=0027 0 0

e salve clicando em ctrl+o e, em seguida, saia clicando em ctrl+x

Você também pode consultar aqui: link

    
por dixoncx 23.05.2012 / 14:29