web-dev-qa-db-ja.com

非rootユーザーによるマウントされたluksパーティションへのアクセス

最近、truecryptの代わりを検索し、cryptsetupで少し遊んだ。私がしたステップ:

  1. mkfs -t ext4 /dev/sdb1
  2. Sudo cryptsetup open --type luks /dev/sdb1 enc_vol
  3. Sudo mount /dev/mapper/enc_vol /mnt

その後、私(非rootユーザー)は/mntにchdirしてファイルを表示できますが、そこには何も書き込むことができません。 rootしか書けませんが、それは私にとって非常に不便です。 ls -l /dev/mapper/enc_volが示すように、これはrootが所有するシンボリックリンクであり、/dev/dm-1を指します。

chown "username":"username"chmod 777などのコマンドは、前述のシンボリックリンクの「ルート」性を/dev/dm-1に変更できません。

私の質問:cryptsetupで暗号化されたLUKSパーティションをマウントして、root以外のユーザーでファイルを書き込むことができるようにするにはどうすればよいですか?

4
NIkolay Smirnov

TLDR:ユーザーのホームディレクトリにファイルシステムをマウントします。

これは一般的な取り付けに適用されるため、luksに固有のものではありません。私はext4でテストしていませんが、ext3(テストしたもの)と異なる理由がわかりません。

Sudo cryptsetup luksOpen /dev/sdb1 enc_vol
mkdir ~/enc_vol_mnt
Sudo mount /dev/mapper/enc_vol ~/enc_vol_mnt

これで、通常のユーザーは〜/ enc_vol_mnt内のファイルとディレクトリの読み取り、書き込み、削除を行えるようになります。

superuser には、この問題の他の解決策がいくつかあります。

補足として、-o users,rw,umask=0000マウントされるファイルシステムがFATまたはNTFSの場合のマウントオプション。これについては、マウントのマニュアルページに詳細が記載されています。

4
stuffy

今後の読者のために:

新しくフォーマットされたファイルシステムのルートは通常rwxr-xr-xの権限を持ち、実際にはルートのみが書き込み可能です。

最初のマウント時、このパーティションの将来の使用に応じて-いずれかchownマウントされたドライブのルート(not/ dev内のデバイス!)排他的に使用することを意図したユーザーまたはchmodそれをrwxrwxrwxtにして、システム全体でアクセスできるようにします。 / tmpへ。または、ユーザー権利と所有者の任意の組み合わせを使用します(たとえば、特定のグループのメンバーに書き込み可能など)。

この設定は、再起動/再マウントしても保持されます。

TL; DR:

mount /dev/DEVICE /SOMEWHERE
chown USER:GROUP /SOMEWHERE

または

mount /dev/DEVICE /SOMEWHERE
chmod a+rwxt /SOMEWHERE
2

ここでは、特定のシステムで試してみることがいくつかあります。

このメーリングリストの記事 でudisksctlを確認できます。

あなたがudisks2を持っていると仮定すると、これは問題にはなりません:

$ udisksctlの使用法:udisksctl [OPTION ...]コマンド

コマンド:

ヘルプこの情報を表示します

infoオブジェクトに関する情報を表示します

dumpすべてのオブジェクトに関する情報を表示します

ステータスの概要を示します

オブジェクトの変更を監視する

mountファイルシステムをマウントする

unmountファイルシステムをアンマウントする

暗号化されたデバイスのロックを解除します

暗号化されたデバイスをロックする

loop-setupループデバイスをセットアップする

loop-deleteループデバイスを削除します

ドライブの安全な電源オフ

smart-simulate Set SMARTドライブのデータ

「udisksctl COMMAND --help」を使用して、各コマンドのヘルプを取得します。

'unlock'コマンドはあなたにとって便利なようです。

または、rootとしてfstabを正しく設定します。おそらく、これを読んでから開始します Linuxに対するスーパーユーザーの回答-特定のユーザー権限でデバイスをマウント

特定の権限でデバイスをマウントするには、デバイスのマウント中に-o Optionディレクティブを使用できます。説明したデバイスをマウントするには、次のコマンドを実行します。

mount -t deviceFileFormat -o umask = filePermissons、gid = ownerGroupID、uid = ownerID/device/mountpoint

1