ユーザーがSambaパスワードを変更する方法


10

約5人のユーザー(セキュリティ=ユーザー)のSambaサーバーがあり、これらのユーザーが自分の関与なしにパスワードを変更できるようにしたいので、次のようにします。これは安全ですか?(より単純な)より良いアプローチはありますか?以前はSWATがありましたが、それ以上はありませんでした。


サーバー上:制限付きユーザーを作成(/ bin / rbash +単一ディレクトリへのパス)

$ sudo adduser --shell /bin/rbash pwchange

$ cat /etc/passwd
  pwchange:x:1001:1001:pwchange,,,:/home/pwchange:/bin/rbash

$ sudo vi /home/pwchange/.bashrc
  Add:
  export PATH=/usr/local/pwchange

$ sudo ln -s /usr/bin/smbpasswd /usr/local/pwchange/smbpasswd

ここでのこの考え方は、pwchangeユーザーが実行できるのはsambpasswdコマンドのみであるということです。SambaユーザーのUNIXアカウントにはパスワードがありません(つまり、これらのアカウントを介したログオンは許可されていません)。Sambaユーザーは、セルフサービスのSambaパスワード変更にのみこの制限付きアカウントを使用できます...サーバーを探索する必要はありません!


クライアント:ターミナルまたはパテ(Windows)を介してSambaパスワードを変更する

user1@A3700:~$ ssh pwchange@192.168.1.14

pwchange@V220:~$ smbpasswd -U user1
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user user1

しかし、私smbpasswdはユーザーと管理者の両方が自分のパスワードを変更するためのものであることを考えていました...それはあなたが望んでいますか?
ジョージ・ウドセン2017

この場合、ユーザーのUnixアカウントにはパスワードがないため、user1はuser1@192.168.1.14としてログオンできません。Sambaサーバーは "security = user"としてセットアップされ、ファイル制限はsmb.confで設定されました。根本的なUnixファイルのアクセス許可はSambaとUnixファイルのアクセス許可の組み合わせよりも許容範囲が広いため、ユーザーはUnixログオンを許可されませんでした(Unix拡張ACLは使用されませんでした)
brucehohl

私の大学では、IDとSMSの検証を使用してユーザーが認証できるセルフサービングポータルがあり、バックグラウンドでsmbpasswdコマンドを発行しました
Rabin

回答:


1

それらすべてに同じダミーアカウントへのアクセス権を与えることは、賢く聞こえません。何にもアクセスsmbpasswdできないようにロックしても、お互いのパスワードは変更される可能性があります。そして、悪意のある権限昇格攻撃の可能性は常にあります。

基本的に、あなたが望むのはsmbpasswdnologinアカウントと同等の権限を持ちながら、自分のユーザーアカウントからのみコマンドを実行できるようにすることです。

これは、sshd_configの「ForceCommand」オプションを使用して実現できます。

これを試して:

  1. Sambaアカウントのメンバーシップを持つ各ユーザーを同じグループに付与します。この例では、「sambaOnly」としましょう。

    #From Root
    groupadd sambaOnly
    usermod -a -G sambaOnly Joe
    
  2. 次に、sshd_configファイルを次のように変更します。

    #From Root
    cat << EOF >> /etc/ssh/sshd_config
    Match Group sambaOnly
        ForceCommand smbpasswd
    EOF
    

プレスト。私の理解(および簡単なテスト)から、これはSSH経由でログインすると自動的にsmbpasswdコマンドが実行され、それに応じてプロンプトが表示されることを意味します。シェルにアクセスする機会は決してありません。コマンドが完了すると、自動的に切断され、再びシェルにアクセスする機会がありません。

これにより、マシンへのすべてのアクセスがリモートで削除されるかどうかは100%わかりません。たとえば、同じマシンで実行していない別のSSHサーバーを実行しForceCommandている場合、アクセス制御構成に応じて、それらを介してログインできます。

また、端末に物理的にアクセスする機会がある場合は、ログインできます。

ただし、ほとんどの場合、これはかなり強力なアクセス制御だと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.