Как ограничить доступ к разделу NTFS для обычного (не администратора) пользователя?

Я использую Ubuntu 12.04. У меня 4 NTFS раздела. Я сделал 2 пользователей: один для себя (администратор) и один для семьи (обычный / не администратор).

Я успешно ограничил доступ к своей домашней папке от этого стандартного пользователя. Теперь я хочу ограничить доступ ко всем моим разделам NTFS. Как я могу это сделать?

Я проверил Ограничить доступ другого пользователя к разделу NTFS , но, хотя ответ принят, похоже, что OP тоже не помог, как видно из комментарии позже.

4
задан 13 April 2017 в 15:23

2 ответа

  1. Откройте fstab файл как использование

    gksudo gedit /etc/fstab
    
  2. Необходимо добавить строку в/etc/fstab файле следующим образом,

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

    Здесь XXX мой идентификатор пользователя. Можно найти Ваш с id команда и /dev/sda7 раздел, к которому я хочу ограничить доступ.

  3. Создайте названную папку EXTRA в /media/ следующим образом,

    sudo mkdir /media/EXTRA
    
  4. Теперь каждый раз, когда Вы входите в Вас, должен смонтировать его как,

    sudo mount /dev/sda7 /media/EXTRA
    

Готово!

Объяснение:
Если конкретный раздел содержит VFAT или файловую систему NTFS, и Вы только хотите смочь получить доступ к нему сами, это довольно просто:

Включайте опции "noauto", "uid=XXX", and "umask=7" в fstab строке и удаляют "пользователя" и/или "пользовательские" опции, если они появляются там теперь.

Это означает, что во время начальной загрузки система придумает тот раздел, размонтированный, и только (действующий в качестве корня, с помощью sudo, по-видимому) можно смонтировать его.

После того, как смонтированный, это будет принадлежать Вашему непривилегированному пользователю (предполагающий, что uid того пользователя XXX, который дан первому пользователю, созданному во время установки в установках MDV - сверяются с "идентификационной" командой, выполненной как тот пользователь, и корректируют fstab соответственно), и будет недоступно всем другим локальным пользователям.


Смонтировать Ваши ограниченные 4 раздела путем издания mount управляйте четыре раза скучная задача. Для вырезания той скучной задачи я записал сценарий оболочки:

#!/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

Замена /dev/sdaX с Вашими 4 разделами.

Save as secret-mount-unmount.sh и затем дайте команду

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

Дважды щелкните по файлу и затем совершите нападки Run in Terminal и продолжите двигаться.

3
ответ дан 13 April 2017 в 15:23

Вам необходимо добавить раздел NTFS в /etc/fstab

  1. Получить идентификатор устройства, запустив sudo blkid. (Например, / dev / sda1)
  2. Создайте точку монтирования, запустив sudo mkdir /media/mount-point. (Например, / медиа / Windows)
  3. Редактировать fstab.

    sudo nano /etc/fstab

Добавьте эту строку: /dev/sda1 /media/windows ntfs-3g noauto,user,uid=1000,gid=1000,umask=0027 0 0

и сохраните, нажав ctrl+o, затем выйдите, нажав ctrl+x

[ 1118] Вы также можете обратиться сюда: https://help.ubuntu.com/community/Fstab

.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: