web-dev-qa-db-fra.com

Comment restreindre l'accès à une partition NTFS à un utilisateur standard (non administrateur)?

J'utilise Ubuntu 12.04. J'ai 4 partitions NTFS. J'ai créé 2 utilisateurs: un pour moi (administrateur) et un pour la famille (standard/non administrateur).

J'ai réussi à limiter l'accès à mon dossier personnel à partir de cet utilisateur standard. Maintenant, je veux empêcher l'accès à TOUTES mes partitions NTFS. Comment puis-je faire ceci?

J'ai vérifié Restreindre l'accès d'un autre utilisateur à la partition NTFS mais si la réponse est acceptée, il ne semble pas que cela ait aidé cet OP, comme le montrent les commentaires plus tard.

4
Nirmik
  1. Ouvrir le fichier fstab en utilisant

    gksudo gedit /etc/fstab
    
  2. Vous devez ajouter une ligne dans le fichier/etc/fstab comme suit:

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

    Ici XXX est mon identifiant utilisateur. Vous pouvez trouver le vôtre avec la commande id et /dev/sda7 est la partition à laquelle je souhaite restreindre l'accès.

  3. Créez un dossier nommé EXTRA dans /media/ comme suit.

    Sudo mkdir /media/EXTRA
    
  4. Maintenant, chaque fois que vous vous connectez, vous devez le monter en tant que,

    Sudo mount /dev/sda7 /media/EXTRA
    

Terminé!

Explication:
Si une partition particulière contient un système de fichiers VFAT ou NTFS et que vous souhaitez seulement pouvoir y accéder vous-même, c'est assez simple:

Incluez les options "noauto", "uid=XXX", and "umask=7" dans la ligne fstab et supprimez les options "utilisateur" et/ou "utilisateurs" si elles y apparaissent maintenant.

Cela signifie qu'au moment du démarrage, le système fournira cette partition non montée, et vous seul (fonctionnant en tant que root, utilisant Sudo vraisemblablement) pouvez la monter.

Une fois monté, il appartiendra à votre utilisateur non privilégié (en supposant que son uid soit XXX, qui est attribué au premier utilisateur créé lors de l’installation dans les installations MDV. Vérifiez avec la commande "id" exécutée sous le nom de cet utilisateur et ajustez fstab. en conséquence) et sera inaccessible à tous les autres utilisateurs locaux.


Monter vos 4 partitions restreintes en lançant la commande mount à quatre reprises est une tâche fastidieuse. Pour réduire cette tâche fastidieuse, j'ai écrit un script Shell:

#!/bin/bash
#Mount Unmount secret partitions now with choice of partition
function checkPartitions(){
    local state=$1
    local dev=$2
    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=$1
    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=$1
    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

Remplacez /dev/sdaX par vos 4 partitions.

Enregistrer sous secret-mount-unmount.sh puis émettre une commande

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

Double-cliquez sur le fichier puis appuyez sur Run in Terminal et continuez.

3
Rahul Virpara

Vous devez ajouter une partition NTFS à /etc/fstab

  1. Obtenez l'identifiant du périphérique en exécutant Sudo blkid. (Par exemple,/dev/sda1)
  2. Créez un point de montage en exécutant Sudo mkdir /media/mount-point. (Exemple:/media/windows)
  3. Éditez fstab.

    Sudo nano /etc/fstab

Ajouter cette ligne: /dev/sda1 /media/windows ntfs-3g noauto,user,uid=1000,gid=1000,umask=0027 0 0

et enregistrez en cliquant sur ctrl+o, puis quittez en cliquant sur ctrl+x

Vous pouvez également vous référer ici: https://help.ubuntu.com/community/Fstab

0
dixoncx