ユーザーが特定のsambaユーザーとして接続できるsamba共有を作成したい。私はユーザーを作成し、ヘンリーとしましょう。彼の家にストレージを作りたいと思います。
/etc/samba/smb.confにあります:
[myshare]
path = /home/henry
browsable = yes
read only = no
guest ok = no
create mask = 0644
今私がsmbclientで接続するとき、すべてがうまくいきます。しかし、私はこの共有をCIFSとしてマウントしたいと思います。できます:
Sudo mount -t cifs //myserver/myshare /media/remote-share -o user=henry
しかし、/ media/remote-shareにファイルを作成しようとすると、権限が拒否されます:(
ゲストではなく特定のユーザーとして全員にアクセスを許可する場合は、どのように設定すればよいですか?
サーバーとクライアントはどちらもUbuntuマシンです。
わかりました。質問をもう一度読んで、別の答えがあります。
/ etc/fstabにマウントするか、コマンドラインからSudoマウントを使用してマウントする場合、クライアントのローカルユーザーが共有を使用できるように、uidとgid、およびオプションでumaskも設定する必要があります(file_modeおよびdir_mode)。それ以外の場合は、デフォルトでrootが所有し、Wはrootのみが所有します。 RWとして明示的にマウントしても害はありません。
Sudoマウント-t cifs // myserver/myshare/media/remote-share\ -o rw、user = henry、uid = xxx、gid = yyy
ここで、xxxとyyyはlocal(クライアントに対してローカル、つまり)、マウント時に共有を「所有」する必要があるユーザーとグループです。アクセスが必要なのがローカルユーザーが1人だけの場合、gidはおそらく問題ではありません。複数のローカルユーザーがアクセスを必要とする場合、gidを設定する必要があり、アクセスを必要とするすべてのローカルユーザーがそのgidのメンバーでなければなりません。
ネットワークの設定によっては、他にも設定が必要なオプションがあります(ドメインを指定する必要がある場合など)。詳細については、mount.cifs(8)のマンページを参照してください。
ところで、/ etc/fstabからマウントする場合は、認証情報ファイルに関するメモを参照してください。 fstabは誰でも読み取り可能であるため、パスワードを入力するのに適した場所ではありません。資格情報ファイルは、ルート、モード600で所有できます。
mountコマンドはクライアント側にあり、サーバーが許可するものを制御しません。
特定のグループ(「有効なユーザー=グループ名」)の誰でも共有に接続できるようにサーバーに共有を設定し、接続を強制的にユーザーhenry(「強制ユーザー= henry」)にします。実際にログインしたユーザー名/パスワードに関係なく。
ubiantuでは、debianと同じように、henryはおそらく独自の専用グループ(debianではadduserでデフォルトで各ユーザーのグループを作成します)を持っていますが、そのグループの全員がhenryのすべてにアクセスできるようにする場合を除き、これを使用しないでください共有のファイルだけではなく、ファイル。
例えば"henry-share-g"と呼ばれるUNIX(またはLDAPまたはActive Directory)グループを作成し、共有へのアクセスを必要とするすべてのユーザーをそのグループに追加します。
次に、sambaで共有を構成して、ファイルがユーザーとグループによってRWXで作成され、ディレクトリがユーザーとグループおよびsetgidによってRWXで作成されるように権限を設定します(グループ 'henry-share-g'で新しいファイル/ディレクトリが作成されるようにします) )。
例えばこのようなもの:
[myshare] パス= /home/henry 強制セキュリティモード= 0664 強制ディレクトリセキュリティモード= 2775 強制作成モード= 0664 強制ディレクトリモード= 2775 読み取り専用=いいえ 参照可能=はい 強制ユーザー= henry 強制グループ= henry-share-g 有効なユーザー= + henry-share-g
この例では、ファイルとディレクトリを誰でも読み取り可能にし、ユーザーとグループごとにRWを作成します。それが必要ない場合は、ファイルには0660、ディレクトリには2770を使用してください。
ところで、上記のことは、教授の1人が研究グループの全員が使用できるようにグループ共有を望んでいるときはいつでも、職場で私のsambaサーバーで大体何をしているのですか。
唯一の真の違いは、既存のユーザーアカウントを使用しないことです。 ADで共有用の専用ユーザーと専用グループを作成します。これは、教授の個人ファイルと研究グループのファイルを分離する必要があるためです。また、ユーザーとグループの割り当てを設定します。これは、ユーザーの個人割り当てとは別のものです。つまり、既存の「henry」アカウントを使用するのではなく、「henry-share-u」のようなものを作成して使用します。
これは、smb.confで選択したpassdbバックエンドによって異なります。
tdbsam
バックエンド(sambaで推奨)を使用し、security
をuser
に設定した場合:
security = user
passdb backend = tdbsam
/usr/bin/smbpasswd
を使用して、Sambaユーザーを追加できます。
/usr/sbin/useradd
を使用してUNIXユーザーを追加するsmbpasswd -L -a <user>
を使用してsambaユーザーを追加(-L:ローカルモード、-a:ユーザーを追加)/etc/samba/smbusers
を使用してユーザーをマッピングします[構文:<unix-user> = <smb-user1> <smb-user2> <smb-userN>
]パスは、GNU/Lunuxディストリビューションで延期される場合があります。