Ubuntu 12.04を使用しています。 NTFSパーティションが4つあります。私は2人のユーザーを作成しました。1人は自分用(管理者)、もう1人は家族用(標準/非管理者)です。
この標準ユーザーからホームフォルダーへのアクセスを正常に制限しました。次に、すべてのNTFSパーティションへのアクセスを制限します。これどうやってするの?
他のユーザーからNTFSパーティションへのアクセスを制限する をチェックしましたが、答えは受け入れられますが、コメントで見られるように、そのOPは役に立たなかったようです。
使用してfstabファイルを開く
gksudo gedit /etc/fstab
次のように/ etc/fstabファイルに行を追加する必要があります。
/dev/sda7 /media/EXTRA ntfs-3g noauto,uid=XXX,unmask=7 0 0
ここで、XXX
は私のユーザーIDです。 id
コマンドであなたのものを見つけることができ、/dev/sda7
はアクセスを制限したいパーティションです。
次のように/media/
にEXTRA
という名前のフォルダーを作成します。
Sudo mkdir /media/EXTRA
ログインするたびに、次のようにマウントする必要があります。
Sudo mount /dev/sda7 /media/EXTRA
できた!
説明:
特定のパーティションにVFATまたはNTFSファイルシステムが含まれていて、自分でのみアクセスできるようにしたい場合は、非常に簡単です。
Fstab行にオプション"noauto", "uid=XXX", and "umask=7"
を含め、「user」および/または「users」オプションが表示されている場合は削除します。
これは、ブート時にシステムがそのパーティションを作成することを意味しますアンマウント、そしてあなただけが(おそらくSudoを使用してrootとして操作して)マウントできます。
マウントされると、非特権ユーザーが所有します(そのユーザーのuidがXXXであり、MDVインストールのインストール時に作成された最初のユーザーに与えられると仮定します。そのユーザーとして実行される "id"コマンドで確認し、fstabを調整しますそれに応じて)、他のすべてのローカルユーザーはアクセスできなくなります。
mount
コマンドを4回発行して制限された4つのパーティションをマウントするのは退屈な作業です。その退屈なタスクを削減するために、シェルスクリプトを作成しました。
#!/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
を実行してデバイスIDを取得します。 (例:/ dev/sda1)Sudo mkdir /media/mount-point
を実行してマウントポイントを作成します。 (例:/ media/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