У меня есть сервер Samba для примерно 5 пользователей (security = user), и я хочу, чтобы эти пользователи могли менять свои пароли без моего участия, поэтому у меня есть следующая идея. Это безопасно? Есть ли лучший (как в более простом) подходе. Раньше для этого у нас был спецназ, но не более.
На сервере: создать пользователя с ограниченными правами (/ 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 через Терминал или Замазку (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
что пользователи и администраторы должны были менять свои пароли ... Это то, что вы хотите?