Как ограничить доступ к разделу NTFS для обычного (не администратора) пользователя?
Я использую Ubuntu 12.04. У меня 4 NTFS раздела. Я сделал 2 пользователей: один для себя (администратор) и один для семьи (стандартный / не администратор).
Я успешно ограничил доступ к своей домашней папке от этого стандартного пользователя. Теперь я хочу ограничить доступ ко всем моим разделам NTFS. Как я могу это сделать?
Я установил флажок " Ограничить доступ другого пользователя к разделу NTFS", но, несмотря на то, что ответ принят, он, похоже, не помог этому OP, как показано в комментариях позже.
2 ответа
Откройте файл fstab как используя
gksudo gedit /etc/fstab
Вы должны добавить строку в файл /etc/fstab следующим образом:
/dev/sda7 /media/EXTRA ntfs-3g noauto,uid=XXX,unmask=7 0 0
Вот
XXX
мой идентификатор пользователя Вы можете найти свой сid
командование и/dev/sda7
раздел, доступ к которому я хочу ограничить.Создать папку с именем
EXTRA
в/media/
следующее,sudo mkdir /media/EXTRA
Теперь, когда вы входите в систему, вам нужно смонтировать его как,
sudo mount /dev/sda7 /media/EXTRA
Готово!
Объяснение:
Если определенный раздел содержит файловую систему VFAT или NTFS и вы хотите иметь к нему доступ только самостоятельно, это довольно просто:
Включить параметры "noauto", "uid=XXX", and "umask=7"
в строке fstab и удалите опции "user" и / или "users", если они появляются там сейчас.
Это означает, что во время загрузки система получит этот раздел без подключения, и только вы (работающий от имени root, предположительно, с помощью sudo) можете его смонтировать.
После монтирования он будет принадлежать вашему непривилегированному пользователю (при условии, что uid этого пользователя - XXX, который предоставляется первому пользователю, созданному во время установки в установках MDV) - проверьте с помощью команды "id", запущенной от имени этого пользователя, и настройте 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 разделами.
Сохранить как secret-mount-unmount.sh
а затем выполните команду
chmod +x /path/to/file/secret-mount-unmount.sh
Дважды щелкните файл, а затем нажмите Run in Terminal
и продолжить.
Вам нужно добавить раздел NTFS в /etc/fstab
- Получить идентификатор устройства, запустив
sudo blkid
, (Например, /dev/sda1) - Создать точку монтирования, запустив
sudo mkdir /media/mount-point
, (Напр. / Медиа / windows) редактировать
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
Вы также можете обратиться сюда: https://help.ubuntu.com/community/Fstab