web-dev-qa-db-ja.com

/ etc / fstabを使用してドライブを自動的にマウントし、特定のグループのすべてのユーザーにアクセスを制限する

現在、ワークスペースとして使用している追加のHDDがあります。/etc/fstabに次の行を追加して、再起動時に自動的にマウントされるようにしようとしています

/dev/sdb1 /media/workspace auto defaults 0 1

これは自動的にマウントするように機能しますが、特定のグループに属するユーザーに読み取り/書き込みアクセスを制限したいと思います。/etc/fstabでこれを行うにはどうすればよいですか? chownまたはchmodアクセスを制御するには?

9
slagathor

ファイルシステムのタイプがFATなどの権限を持たないタイプの場合、umaskgidおよびuidをfstabオプションに追加できます。例えば:

 /dev/sdb1 /media/workspace auto defaults,uid=1000,gid=1000,umask=022 0 1

uid=1000はユーザーIDです。

gid=1000はグループIDです。

umask=022これにより、所有者が読み取り、書き込み、実行できるように権限が設定されます。グループとその他のユーザーが読み取りと実行を行います。

19
krt

マウントポイントを含むディレクトリを介してファイルシステムへのアクセスを制御します。

ルートとして:

mkdir -p /media/group1only/workspace
chgrp group1 /media/group1only
chmod 750 /media/group1only

これは、rootへのフルアクセスと、group1のメンバーの読み取り+実行アクセスです。ここで書き込みアクセスを許可しないでください。誤ってworkspaceマウントポイントの名前を変更すると、システムが起動しなくなる可能性があります。

これを/ etc/fstabに追加します:

/dev/sdb1 /media/group1only/workspace auto defaults 0 1

ファイルシステムがマウントされたら、ファイルシステム内のオブジェクトの所有権とモードをさらに変更して、グループメンバー間のきめ細かいアクセスに対応できます。

7
Mark Plotnick

たとえば、ディスク上のファイルシステムがACLをサポートしていると仮定し、架空のユーザーmyusernameと架空のグループを使用してディスクにアクセスすると、diskusersは次のようになります。 $は、通常のユーザーとして実行されたコマンドを示しています。 #は、ユーザーrootとして実行されるコマンドを示します。

目的のためにユーザーが所属できるグループを作成します。

$ Sudo groupadd diskusers
$ Sudo usermod -a -G diskusers myusername
$ logout

再度ログインします。

$ Sudo -i
# mount /media/workspace
# chown root:root /media/workspace
# chmod 0750 /media/workspace/
# setfacl -d -m -g:diskusers:7 /media/workspace
# setfacl -m g:diskusers:7 /media/workspace

setfaclコマンドの "7"は8進数です(読み取り= 4 +書き込み= 2 +実行= 1)。通常の8進数のアクセス許可(0400、0200、0100)によく似ています。

-dはデフォルトのマスクを指定するスイッチです-新しいファイルとディレクトリ。 -mは、ディレクトリに適用するマスクです。

デフォルト(上記)を設定した後、最初にすべてのファイルにマスクを適用することもできます。

find /media/workspace -exec setfacl -m g:diskusers:7 {} +

その時点では、rootとdiskusersのメンバーだけがファイルにアクセスできます。サブディレクトリへのアクセス許可の適用についてのMark Plotnickのアイデアも気に入っています。この手法もそのように使用できます。

2
Christopher