Ho un server Samba per circa 5 utenti (security = user) e voglio un modo per questi utenti di cambiare le loro password senza il mio coinvolgimento, quindi ho la seguente idea. È sicuro? Esiste un approccio migliore (come in più semplice). Avevamo SWAT per questo, ma non di più.
Sul server: crea un utente con restrizioni (/ bin / rbash + PATH nella singola directory)
$ 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
Questa idea qui è che solo il comando sambpasswd può essere eseguito dall'utente pwchange. Gli account unix per gli utenti di Samba non dispongono di password (non è possibile accedere tramite questi account). Gli utenti di samba sarebbero in grado di utilizzare questo account limitato solo per le modifiche della password di Samba self service ... nessuna esplorazione del server!
Client: modifica password Samba tramite Terminal o 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
che gli utenti e l'amministratore avrebbero dovuto cambiare le loro password ... È quello che vuoi?