У мене є сервер Samba для приблизно 5 користувачів (безпека = користувач), і я хочу, щоб ці користувачі міняли свої паролі без моєї участі, тому я маю таку ідею. Це безпечно? Чи є кращий (як у більш простому) підході. Для цього у нас був SWAT, але не більше.
На сервері: створити обмеженого користувача (/ bin / rbash + PATH до одного каталогу)
$ 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. У акаунтах Unix для користувачів Samba немає паролів (тобто вхід через ці облікові записи не дозволений). Користувачі samba зможуть використовувати цей обмежений обліковий запис лише для самообслуговування змін пароля Samba ... не вивчаючи сервер!
Клієнт: Змінення пароля Samba за допомогою терміналу або Putty (Windows)
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
призначений для користувачів і адміністратора, щоб змінити свої паролі ... Це те, що ви хочете?