Saya memiliki server Samba untuk sekitar 5 pengguna (keamanan = pengguna) dan saya ingin cara bagi para pengguna ini untuk mengubah kata sandi mereka tanpa keterlibatan saya sehingga saya memiliki ide berikut. Apakah ini aman? Apakah ada pendekatan yang lebih baik (seperti yang lebih sederhana). Kami dulu punya SWAT untuk ini tetapi tidak lebih.
Di server: buat pengguna terbatas (/ bin / rbash + PATH ke direktori tunggal)
$ 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
Gagasan di sini adalah bahwa hanya perintah sambpasswd yang dapat dijalankan oleh pengguna pwchange. Akun unix untuk pengguna Samba tidak memiliki kata sandi (mis. Log masuk melalui akun ini tidak diizinkan). Pengguna samba hanya akan dapat menggunakan akun terbatas ini untuk perubahan kata sandi Samba layanan mandiri ... tidak menjelajahi server!
Klien: Ubah kata sandi Samba melalui Terminal atau Putty (Windows)
user1@A3700:~$ ssh [email protected]
pwchange@V220:~$ smbpasswd -U user1
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user user1
smbpasswd
itu dimaksudkan untuk pengguna dan admin sama untuk mengubah kata sandi mereka ... Itukah yang Anda inginkan?Jawaban:
Memberi mereka semua akses ke akun dummy yang sama tidak terdengar cerdas. Bahkan jika Anda menguncinya untuk memiliki akses ke NAMUN,
smbpasswd
mereka masih bisa mengubah kata sandi masing-masing. Dan selalu ada kemungkinan peningkatan serangan privilege privilege.Pada dasarnya apa yang Anda inginkan adalah memungkinkan mereka untuk menjalankan HANYA
smbpasswd
perintah dari akun pengguna mereka sendiri sementara masih memiliki yang setara dengannologin
akun.Ini dapat dilakukan dengan menggunakan opsi "ForceCommand" di sshd_config Anda.
Coba ini:
Berikan setiap pengguna dengan keanggotaan akun Samba ke grup yang sama. Sebagai contoh, katakanlah "sambaOnly":
Selanjutnya, kami ingin mengubah file sshd_config kami untuk memiliki yang berikut:
Presto. Dari pemahaman saya (dan pengujian singkat) ini berarti ketika mereka masuk melalui SSH mereka akan secara otomatis
smbpasswd
menjalankan perintah dan mereka akan diminta sesuai. Mereka tidak akan pernah mendapatkan kesempatan untuk memiliki akses shell. Setelah perintah selesai mereka secara otomatis terputus, sekali lagi tidak pernah mendapatkan kesempatan untuk memiliki akses shell.Saya tidak 100% yakin ini menghapus semua akses ke mesin dari jarak jauh. Misalnya, jika Anda menjalankan server SSH yang berbeda pada mesin yang sama yang bukan milik
ForceCommand
mereka, maka mereka dapat masuk melalui itu tergantung pada konfigurasi kontrol aksesnya.Juga, jika mereka memiliki kesempatan untuk akses fisik ke terminal, mereka dapat masuk.
Namun, saya pikir untuk sebagian besar situasi ini adalah kontrol akses yang cukup kuat.
sumber