Tôi có một máy chủ Samba cho khoảng 5 người dùng (security = user) và tôi muốn một cách để những người dùng này thay đổi mật khẩu của họ mà không cần sự tham gia của tôi để tôi có ý tưởng sau. Điều này có an toàn không? Có một cách tiếp cận tốt hơn (như trong đơn giản hơn). Chúng tôi đã từng có SWAT cho việc này nhưng không còn nữa.
Trên máy chủ: tạo người dùng bị hạn chế (/ bin / rbash + PATH vào thư mục đơn)
$ 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
Ý tưởng này ở đây là chỉ có lệnh sambpasswd có thể được chạy bởi người dùng pwchange. Các tài khoản unix cho người dùng Samba không có mật khẩu (nghĩa là không đăng nhập thông qua các tài khoản này). Người dùng samba sẽ chỉ có thể sử dụng tài khoản bị hạn chế này để tự thay đổi mật khẩu Samba ... không cần khám phá máy chủ!
Máy khách: Thay đổi mật khẩu Samba qua Terminal hoặc 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
là để người dùng và quản trị viên thay đổi mật khẩu của họ ... Đó có phải là điều bạn muốn không?