Samba共有をマウントする適切な方法


9

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

にネットワーク共有を追加することで、希望するものにかなり近づくことができます/etc/fstab。最大の「問題」は、パスワードをハードコーディングするか/etc/fstab、ユーザー名とパスワードを使用して資格情報ファイルを作成する必要があることです。アクセス許可を600に設定しても、ユーザー名とパスワードをプレーンテキストファイルに保存するのは危険です。

ネットワーク共有を安全に自動マウントする「適切な」方法はありますか?PAMでこれを行うことはできますか(私のユーザー名とパスワードは両方のマシンで同じです)。


pam_cifsを見たことがありますか?「pam_cifsは、ユーザーごとにログイン時にCIFS共有をマウントおよびアンマウントするLinux-PAMモジュールです」
CVn

またはpam_mount、私は特定の経験はありませんが、これを行うように設計されているようです。
EightBitTony 2013

@EightBitTonyがpam_mountを見つけることで私は質問をするようになりました。誰かがそれが行く方法であるかどうか、そしてそうであればどのようにしているかを明確に教えてくれるといいのですが。
StrongBad 2013

回答:


8

方法#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共有のマウントを自動化できますか?GNOMEキーリングを使用してCIFS資格情報を保持することを説明する@Gillesによる回答が含まれています。

次に、GVFS -GNOME Virtual File System-を使用して、次のようにCIFS共有にアクセスできます。

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

これにより、sharenameというホスト名から共有がマップされ、の下にマウントされ$HOME/.vfs/sharename on hostnameます。これを制御することはできません。常にここにマウントされるようにハードコードされています。

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


隠しファイルとして.cifsauthを指定し、「username =」は不要な場合は、credentials = / etc / .cifsauthのみで十分です
Rahul Patil

@RahulPatil- .cifsauthを削除するために名前を付けた資格情報を作成する必要があると言っていますかusername=、それともusername=すべてが一緒に必要なわけではないということですか?
slm

はい...いい答え.. !! pam_mountの+1
Rahul Patil

@RahulPatil-どのビットに同意しますか?
slm

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)それが一般的なマウントにするために、変数を、私はアーチのLinux上での作業にその部分を得ることができませんでした。また、を使用するようにシステムを構成する必要がありますpam_mount。両方/etc/pam.d/system-authと対応するログインマネージャーを変更する必要があります。KDMの場合は/etc/pam.d/kdeです。変更には基本的optional pam_mount.soに両方のファイルのすべてのセクションへの追加が含まれますが、順序が重要であるため、正確な詳細は注意が必要です。Arch Wikiをフォローしました。

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


これは良いことです...原則として、私はfstabソリューションを好みます-私pamは個人的に嫌いで、残りはシステム設定にさらに忍び込む傾向があることに気づきました-これは間違いなく質問に答えます。なぜあなたは資格情報を保存することに反対しているのですか?ユーザーのアクセス許可および/またはファイルの所有権/暗号化は、十分以上のものでなければなりません。一部のシステムでは、認証後にのみアクセス可能なファームウェア変数にそのような情報を保存することもできます。sshたとえば、fs権限に基づいて資格情報を保存しますか?
mikeserv 2014

@mikeservでは、単一のログインシステムを使用しているため、私の資格情報ファイルを使用してマシンへのrootアクセス権を持つsys管理者は、私のパスワードでアクセスできるすべてのサーバーへのrootアクセス権を持っていない可能性があります。
StrongBad 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.