最近、truecryptの代わりを検索し、cryptsetupで少し遊んだ。私がしたステップ:
mkfs -t ext4 /dev/sdb1
Sudo cryptsetup open --type luks /dev/sdb1 enc_vol
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以外のユーザーでファイルを書き込むことができるようにするにはどうすればよいですか?
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の場合のマウントオプション。これについては、マウントのマニュアルページに詳細が記載されています。
今後の読者のために:
新しくフォーマットされたファイルシステムのルートは通常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
ここでは、特定のシステムで試してみることがいくつかあります。
このメーリングリストの記事 で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