J'ai un serveur Samba pour environ 5 utilisateurs (Security = utilisateur) et je souhaite que ces utilisateurs changent de mots de passe sans ma participation, donc j'ai l'idée suivante. Est-ce sécurisé? Y a-t-il une approche meilleure (comme dans plus simple). Nous avions l'habitude d'avoir swat pour cela, mais pas plus.
$ 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 est que seule la commande sambasswd peut être exécutée par l'utilisateur PWChange. Les comptes UNIX des utilisateurs de samba n'ont pas de mots de passe (c'est-à-dire connectez-vous via ces comptes non autorisés). Les utilisateurs de Samba ne seraient en mesure d'utiliser ce compte restreint pour les modifications de mot de passe Samba en libre service ... aucune exploration du serveur!
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
Donner tout accès au même compte factice ne semble pas intelligent. Même si vous le verrouillez pour 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 d'escalade de privilège malveillante.
Essentiellement ce qu'il semble que vous souhaitiez, c'est de ne pas exécuter que la commande smbpasswd
de leur propre compte utilisateur tout en ayant l'équivalent à un compte nologin
.
Cela peut être accompli avec l'utilisation de l'option "ForceCommand" dans votre SSHD_CONFIG.
Essaye ça:
Accordez chaque utilisateur avec une adhésion à un compte Samba au même groupe. Pour notre exemple, disons "sambaonly":
#From Root
groupadd sambaOnly
usermod -a -G sambaOnly Joe
Ensuite, nous voulons changer notre fichier sshd_config pour avoir ce qui suit:
#From Root
cat << EOF >> /etc/ssh/sshd_config
Match Group sambaOnly
ForceCommand smbpasswd
EOF
Presto. De ma compréhension (et de brefs tests), cela signifie que lorsqu'ils se connectent via SSH, ils auront automatiquement la commande smbpasswd
et ils seront invités en conséquence. Ils n'auront jamais la chance d'avoir accès à Shell. Une fois la commande terminée, elles sont automatiquement déconnectées, encore une fois, ne jamais avoir une chance d'avoir accès à Shell.
Je ne suis pas sûr à 100% que cela supprime tout accès à la machine à distance. Par exemple, si vous exécutez un autre serveur SSH différent sur la même machine qui ne fonctionne pas ForceCommand
eux, ils pourraient ensuite se connecter via cela en fonction de sa configuration de contrôle d'accès.
En outre, s'ils ont la possibilité d'un accès physique à 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.