ฉันมีเซิร์ฟเวอร์ 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
แนวคิดนี้คือว่าคำสั่ง sambpasswd เท่านั้นที่สามารถรันได้โดยผู้ใช้ pwchange บัญชี unix สำหรับผู้ใช้ Samba ไม่มีรหัสผ่าน (เช่นเข้าสู่ระบบผ่านบัญชีเหล่านี้ไม่ได้รับอนุญาต) ผู้ใช้แซมบ้าจะสามารถใช้บัญชีที่ถูก จำกัด นี้สำหรับการเปลี่ยนรหัสผ่านด้วยตนเองของแซมบ้าได้ด้วยตนเอง ... ไม่มีการสำรวจเซิร์ฟเวอร์!
ลูกค้า: เปลี่ยนรหัสผ่าน Samba ผ่าน Terminal หรือ 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
มีไว้สำหรับผู้ใช้และผู้ดูแลระบบเหมือนกันในการเปลี่ยนรหัสผ่าน ... นั่นคือสิ่งที่คุณต้องการหรือไม่