web-dev-qa-db-ja.com

NTFSパーティションへのアクセスを標準(非管理者)ユーザーに制限する方法は?

Ubuntu 12.04を使用しています。 NTFSパーティションが4つあります。私は2人のユーザーを作成しました。1人は自分用(管理者)、もう1人は家族用(標準/非管理者)です。

この標準ユーザーからホームフォルダーへのアクセスを正常に制限しました。次に、すべてのNTFSパーティションへのアクセスを制限します。これどうやってするの?

他のユーザーからNTFSパーティションへのアクセスを制限する をチェックしましたが、答えは受け入れられますが、コメントで見られるように、そのOPは役に立たなかったようです。

4
Nirmik
  1. 使用してfstabファイルを開く

    gksudo gedit /etc/fstab
    
  2. 次のように/ etc/fstabファイルに行を追加する必要があります。

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

    ここで、XXXは私のユーザーIDです。 idコマンドであなたのものを見つけることができ、/dev/sda7はアクセスを制限したいパーティションです。

  3. 次のように/media/EXTRAという名前のフォルダーを作成します。

    Sudo mkdir /media/EXTRA
    
  4. ログインするたびに、次のようにマウントする必要があります。

    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を押して続行します。

3
Rahul Virpara

NTFSパーティションを/etc/fstabに追加する必要があります

  1. Sudo blkidを実行してデバイスIDを取得します。 (例:/ dev/sda1)
  2. Sudo mkdir /media/mount-pointを実行してマウントポイントを作成します。 (例:/ media/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をクリックして終了します

こちらも参照できます: https://help.ubuntu.com/community/Fstab

0
dixoncx