Samba共有をマウントする正しい方法

Samba共有をマウントする正しい方法

私はArch LinuxシステムにCIFSネットワークファイルシステムをマウントするためにSambaを使用したいと思います。ログインするたびに(ssh、TTY、またはKDMを介して)このファイルシステムをマウントしたいと思います。

/etc/fstabにネットワーク共有を追加すると、目的の結果に非常に近づくことができます。最大の「問題」は、パスワードをハードコードするか、/etc/fstabユーザー名とパスワードで資格情報ファイルを作成する必要があることです。権限を600に設定しても、ユーザー名とパスワードをプレーンテキストファイルに保存するのは安全ではないようです。

ネットワーク共有を安全に自動マウントする「正しい」方法はありますか? PAMを使用してこれを実行できますか(私のユーザー名とパスワードは両方のコンピュータで同じです)。では、どうすればよいですか?

答え1

方法1 -/etc/fstab

選択肢を探していることを知っていますが、ファイルから資格情報を取得する具体的な方法は次のとおりです/etc/fstab

//WindowsHost/Sharename /LocalMountPoint cifs credentials=/etc/cifsauth 0 0

次に、ファイルから/etc/cifsauth

username=someuser
password=somepass

ファイルに対する権限を与えます600(つまりchmod 600 /etc/cifsauth、。

方法 #2 - pam_mount

あなたはインストールすることができますpam_mount次に、ログインしたすべてのユーザーに対して次のようにユニバーサルインストールを設定します。

# /etc/security/pam_mount.conf.xml
<debug enable="1" />
<volume server="server" path="music" mountpoint="~/MyMusicFolder" options="cred=/home/%(USER)/.Music.cred" />

この方法には、資格情報がファイルに保存される方法#1と同じ問題がまだあります/home/%(USER)/.Music.cred。これは最初の方法と同じ資格情報ファイル形式なので、権限も600であることを確認してください。

方法#3 - gvfs-mountの使用

このU&L Q&Aの質問は次のとおりです。パスワードをプレーンテキストとして保存せずにcifs共有を自動マウントできますか?使用を説明する@Gillesの答えが含まれています。GNOMEキーチェーンCIFS 資格情報を維持します。

これにより、次のコマンドを使用してCIFS共有にアクセスできます。重力加速度センサー- GNOME仮想ファイルシステム - 次のように:

$ gvfs-mount smb://username\;workgroupname@hostname/sharename

これにより、sharenameというホスト名の共有がマッピングされマウントされます$HOME/.vfs/sharename on hostname。どのような方法でも制御できません。探してみると、いつもここにインストールするようにハードコードされていました!

ただし、マウントされた共有にアクセスできるように、これらのマウントへのリンクを作成できます。一部のツールはファイルの閲覧中にドットディレクトリを一覧表示しないため、使用するのは残念です.gvfs。したがって、私が作成したリンクがその共有にアクセスする唯一の方法であることがよくあります。

答え2

pam_mountこれが正しいアプローチであることがわかりました。ネットワーク共有を追加します。/etc/security/pam_mount.conf.xml

<volume user="yourUserName" fstype="auto" path="//path/to/the/network/share" mountpoint="/path/to/the/mount/point" options="username=yourUserName" />
<mkmountpoint enable="1" remove="true" />

%(USER)理論的には、%(USERUID)および変数を使用してユニバーサルインストールにすることは可能です%(USERGID)が、その部分をArch Linuxで動作させることはできません。また、使用するシステムを設定する必要があり、対応するログインマネージャもpam_mount変更する必要があります。/etc/pam.d/system-authKDMの場合も同様です/etc/pam.d/kde。変更には基本的にoptional pam_mount.so2つのファイルの各セクションに追加する操作が含まれていますが、順序が重要であるため、具体的な内容は面倒です。フォローするアーチスウィキ

この設定とサーバーとマイコンピュータの同じユーザー名/パスワードを使用すると、資格情報ファイルをどこにでも保存せずに自動マウントできます。

答え3

pam_mount資格情報を使用するためにプレーンテキストとして保存する必要はありません。ファイルサーバーの資格情報は、ログインしたシステムのユーザー名/パスワードと同じでなければなりません。

ここに良い例があります: https://wiki.ubuntu.com/MountWindowsSharesPermanently

オリジナル:

  1. libpam-mountをインストールします。sudo apt-get install libpam-mount
  2. セクションの周りの/etc/security/pam_mount.conf.xmlコメントマーク(および)を削除するには、編集してください<!--。完了したらファイルを保存します。これにより、ユーザー固有のファイルを使用できます。--><luserconf name=".pam_mount.conf.xml" />pam_mount.conf
  3. 自分で作成して~/.pam_mount.conf.xml次を追加します。
<?xml version="1.0" encoding="utf-8" ?>
<pam_mount>
    <volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" />
</pam_mount>

関連情報