(SFからのクロスポスト、私はあまり喜びを得ていませんでした)
私はCentOS 6.2ボックスを稼働させており、インターネット上のさまざまなハウツーを使用して、/ mydomainフォルダーの下のWindows共有を自動マウントするようにautofsを構成しています。具体的には、3つのファイルがあります。
# ...
/mydomain /etc/auto.mydomain --timeout=60
# ...
* -fstype=autofs,-DSERVER=& file:/etc/auto.mydomain.sub
* -fstype=cifs,uid=${UID},gid=${EUID},credentials=${HOME}/.smb/mydomain ://${SERVER}/&
これは機能し、各ユーザーが自分の資格情報を自分のホームディレクトリの下のファイルに指定できるようにします。
ただし、それらが作成するマウントは、タイムアウトに達するまで、元のユーザーの資格情報を使用して誰でも利用できます。これは理想的とは言えないので、私は次のいずれかを実行しようと考えてきました。
/mydomain/server1
に同時にアクセスできるようにします。~/mydomain/server1
に同時にアクセスできるようにします。/mydomain/$USER/server1
に同時にアクセスできるようにします(ただし、/mydomain/$USER
が$ USERに対して0700であることを確認する必要もあります)これまでのところ、#1を行う方法はわかりませんが、#2または#3の場合は、/ etc/auto.masterのエントリを変更して、キーが${HOME}/mydomain
または/mydomain/${USER}
のいずれかになるようにしましたが、どちらもありません機能しました(1つ目は/var/log/messages
に一致するエントリがないことを示し、2つ目は変数置換を実行していないようです)。
明らかなものがないのですか?
(PS:プレーンテキストの資格情報ファイルの必要性を回避する方法を提供できる場合のボーナスの小道具-おそらくユーザー名/ドメイン/パスワードの直接のプロンプト、またはおそらくいくつかのKerberosの魔法?)
(PPS:私は smbnetfs を簡単に調べましたが、構成/作成することができませんでした-Fuse >= 2.6
に従ってv2.8.3があるにもかかわらず、fusermount --version
を要求します-そして私はできませんでしたt yum install
のリリース済みバージョンを見つける)
(PPPS:提供されている/etc/auto.smb
も簡単に確認しましたが、同じ共有の問題が発生するように見えましたか?)
私はautofs
で多くの作業を行い、それを使用してさまざまな種類のリソースをマウントしました。 man page for autofs
をチェックして、ドキュメントで$USER
を参照しているときにそれをそのまま続けることができれば、いくつかの質問に答えることができます。 「autofs
デーモンを実行しているユーザーを参照しています。これらは、デフォルトで取得する変数です。
Variable Substitution
The following special variables will be substituted in the key and location fields of an automounter map if prefixed with $ as customary from Shell scripts (Curly braces can be used to separate the field name):
Arch Architecture (uname -m)
CPU Processor Type
Host Hostname (uname -n)
OSNAME Operating System (uname -s)
OSREL Release of OS (uname -r)
OSVERS Version of OS (uname -v)
autofs provides additional variables that are set based on the user requesting the mount:
USER The user login name
UID The user login ID
GROUP The user group name
GID The user group ID
HOME The user home directory
Host Hostname (uname -n)
Additional entries can be defined with the -Dvariable=Value map-option to automount(8).
おそらく-DUSER=$USER
を使用したくなるでしょうが、これはautofs
マップファイル内の$USER
をautofs
デーモンを開始したユーザーに設定するだけです。デーモンは通常、root
などのユーザー、またはchrooted
用に特別に設定されたautofs
ユーザーによって所有されます。
注#1:autofs
ファイルはkey
とvalue
で構成されます。変数は、エントリのvalue
部分内でのみ使用できます。
注#2:-D=...
スイッチが組み込み変数をオーバーライドしない場合、$USER
または$UID
マウントにアクセスしている人の$USER
&$UID
の値が含まれます。
CIFS
マウントへのアクセスを制限する方法についての質問に関しては、autofs
を使用してこれを達成する方法がわかりません。
CIFS
共有のマウントに使用される資格情報は、共有がマウントされている間、使用されます。実際、デーモンautofs
を実行しているautomount
は、root
のように、CIFS
ユーザーの資格情報と「同等」です。
これは、autofs
の一般的な動作とは異なり、mount.cifs
の使用による副産物です。一般的なautofs
の動作は、マウントの反対側の権限を尊重しますが、mount.cifs
の場合はそうではありません。
Autofsを使用してセットアップを完了するのは運が悪いと思います。各ユーザーが自分の資格情報を使用してFuse
共有に本当にアクセスできるようにするには、CIFS
を使用する必要があると思います。
すでに使用していたfile_mode
設定と組み合わせてdir_mode
およびuid=${USER}
オプションを使用してCIFSマウントに権限セットを強制的に設定し、次のような自動マウントマップ行を指定できます。
* -fstype=cifs,uid=${UID},gid=${EUID},file_mode=0600,dir_mode=0700,credentials=${HOME}/.smb/mydomain ://${SERVER}/&
マウントされたファイルシステムはユーザーが所有し、アクセス許可は他のすべてのユーザーにアクセスを許可しないように設定されます。私はこれを試したところ、うまくいくようです:)
共有に保存して実行できると予想される実行可能ファイルがある場合は、file_mode=0700
を設定することができます。私の例では、実行許可が削除されました。
注:このオプションは、質問の時点では存在していなかった可能性がありますが、現在は存在します!
Sambaの使用:
/etc/auto.home
:
* -fstype=cifs,credentials=/etc/smbcreds.& ://MYSERVERIP/homes
すべてのユーザーとパスワードを独立したファイルに保存する必要があります/etc/smbcreds
行の最後の部分は、Samba経由でマウントされます。
NFSの使用:
/etc/auto.home:(NFSの場合)
* MYSERVERIP:/home/&