J'ai un serveur Samba pour environ 5 utilisateurs (sécurité = utilisateur) et je veux un moyen pour ces utilisateurs de changer leurs mots de passe sans ma participation, j'ai donc l'idée suivante. Est-ce sécurisé? Existe-t-il une meilleure approche (comme dans une approche plus simple)? Nous avions l'habitude d'avoir SWAT pour cela mais pas plus.
Sur le serveur: créer un utilisateur restreint (/ bin / rbash + PATH vers un répertoire unique)
$ 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
Cette idée ici est que seule la commande sambpasswd peut être exécutée par l'utilisateur pwchange. Les comptes Unix pour les utilisateurs de Samba n'ont pas de mot de passe (c'est-à-dire que la connexion via ces comptes n'est pas autorisée). Les utilisateurs de samba ne pourraient utiliser ce compte restreint que pour les changements de mot de passe Samba en libre service ... pas d'exploration du serveur!
Client: Modifier le mot de passe Samba via Terminal ou 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
c'était destiné aux utilisateurs et aux administrateurs de changer leurs mots de passe ... C'est ce que vous voulez?Réponses:
Leur donner à tous accès au même compte factice ne semble pas intelligent. Même si vous le verrouillez pour n'avoir accès à rien MAIS
smbpasswd
ils pourraient toujours changer les mots de passe de l'autre. Et il y a toujours la possibilité d'une attaque malveillante par élévation de privilèges.Essentiellement, il semble que vous souhaitiez leur permettre d'exécuter UNIQUEMENT la
smbpasswd
commande à partir de leur propre compte d'utilisateur tout en ayant un équivalent à unnologin
compte.Cela peut être accompli avec l'utilisation de l'option "ForceCommand" dans votre sshd_config.
Essaye ça:
Accordez à chaque utilisateur un compte Samba au même groupe. Pour notre exemple, disons "sambaOnly":
Ensuite, nous voulons changer notre fichier sshd_config pour avoir ce qui suit:
Presto. D'après ma compréhension (et de brefs tests), cela signifie que lorsqu'ils se connecteront via SSH, la
smbpasswd
commande sera automatiquement exécutée et ils seront invités en conséquence. Ils n'auront jamais la chance d'avoir accès au shell. Une fois la commande terminée, ils sont automatiquement déconnectés, sans avoir à nouveau accès au shell.Je ne suis pas sûr à 100% que cela supprime tout accès à la machine à distance. Par exemple, si vous exécutez un serveur SSH différent sur la même machine qui ne les utilise pas
ForceCommand
, ils peuvent se connecter via celui-ci en fonction de sa configuration de contrôle d'accès.De plus, s'ils ont la possibilité d'accéder physiquement à un terminal, ils peuvent se connecter.
Cependant, je pense que pour la plupart des situations, c'est un contrôle d'accès assez fort.
la source