SAMBA / CIFSサーバーがあり、ユーザーは自分のディレクトリを持っています。私のクライアントコンピュータはLinuxまたはWindowsを実行します。私が望むのは、両方のオペレーティングシステムでその共有を使用することです。しかし、私のユーザーはどのコンピュータにもログインできます。私の問題は次のとおりです。 Linuxでは、/etc/fstab
次の内容を変更して含める必要があります。
//sambaserver/username /mnt/samba smbfs username=<username>,password=<pass> 0 0
私の問題は、ユーザー名とパスワードを静的に設定できませんが、必要なことです。動的(正確な用語かどうかはわかりません。)簡単に言うと、ユーザーがシステムにログインするときに共有を自分のホームディレクトリにマウントする必要がありますが、ユーザーが別のコンピュータにログインできるため、/etc/fstab
ユーザー名とパスワードを「キャプチャ」する必要があることを覚えておいてください。してください。
私の質問が明確になることを願っています。よろしくお願いします。
答え1
ログインしたユーザーのSamba共有を単一の再利用可能な場所にマウントしようとする代わりに(複数のユーザーがログインしている場合に問題が発生する)、各ユーザーに一意の場所(またはピンチなど/home/<username>/sambaserver
)/mnt/samba/<username>
にマウントすることを検討してください。
Linuxを使用している場合は、smbmount
シンプルなユーザースペースSambaインストーラがニーズに適しています。
次のような小さなスクリプトを作成します。
#!/bin/sh
# Default samba server to connect to
SAMBASERVER="sambaserver"
USERNAME="$USER"
if [ -n "$1" ]
then
# We've been given a different samba server
SAMBASERVER="$1"
fi
if [ -n "$2" ]
then
# We've been given a different user on the samba server to use
USERNAME="$2"
fi
CREDSFILE="${HOME}/.${SAMBASERVER}.credentials"
# Try and make the mount point if it doesn't yet exist (and set suitable mount dir perms)
if [ ! -d "${HOME}/${SAMBASERVER}" ]
then
mkdir "${HOME}/${SAMBASERVER}" && chmod 0555 "${HOME}/${SAMBASERVER}" || exit 1
fi
if [ ! -f "$CREDSFILE" ]
then
echo "$CREDSFILE not found!"
exit 1
fi
smbmount "\\${SAMBASERVER}\${USERNAME}" "${HOME}/${SAMBASERVER}" -o user="$USERNAME",credentials="$CREDSFILE" || exit 1
(テストされていません - 調整/デバッグなどが必要な場合があります)
次に、各ユーザーのホームディレクトリに(たとえば)という資格情報ファイルを作成し、.sambaserver.credentials
権限をそのユーザーが所有する0600に設定します。
username=<samba user>
password=<samba password>
最後に、.profileで上記のマウントスクリプトを呼び出します。例:/usr/local/bin/mount-user-home.sh
または/usr/local/bin/mount-user-home.sh sambaserver somedifferentusername
特別な状況。
これは、複数のSambaサーバー、複数のユーザー、および複数のSambaサーバーを使用する複数のユーザーに適用されます。
答え2
自動マウントを探している可能性があります。
説明automountプログラムは、autofs(インラインLinux自動マウント)のマウントポイントを管理するために使用されます。 automount は、auto.master(5) マップを読み取り、マスター マップ内の各項目のマウント ポイントを設定し、アクセス時に自動的にマウントされるように動作します。ファイルシステムは、一定期間活動がなければ自動的にアンマウントされます。
これにより、固定資格情報またはLDAP / ADチケットを使用して特定のユーザーディレクトリを動的にマウントできます。
固定パスワードファイルの構成例:
$ cat auto.homedir
* -fstype=cifs,rw,credentials=/home/&/.smbcredentials,uid=&,gid=&,file_mode=755,dir_mode=755,users,sec=ntlmssp ://nas.example.com/&
CentOS 8のデフォルト設定は、パスワードファイルが存在することを確認します。それ以外の場合は、Kerberosを使用しようとします。