Créer un utilisateur pour samba uniquement (CLI)

15

Exactement la même question que celle-ci , mais en utilisant CLI au lieu de GUI.

Je voudrais autoriser l'accès à un répertoire SMB partagé, mais les utilisateurs n'ont aucun autre accès au serveur.

Foo Bar
la source
La question à laquelle vous faites référence concerne l'accès des invités à Samba, en d'autres termes, tout le monde sur le réseau a accès au partage sans mot de passe. Dans votre cas, si c'est ce que vous voulez, quel est l'intérêt de créer un "utilisateur pour samba uniquement" spécial, si tous y ont quand même accès?
mikewwhat
Comme l'autre demandeur l'a également dit, je veux des connexions et des mots de passe pour le partage de fichiers.
Foo Bar
Je ne sais pas de quel autre demandeur vous parlez. Voir ma réponse ci-dessous, j'espère que cela aide.
mikewwhat
Merci. Je faisais référence à: askubuntu.com/questions/152020/…
Foo Bar

Réponses:

32
  1. Créez un utilisateur sur le serveur:

sudo adduser --no-create-home --disabled-password --disabled-login sambausername

  1. Ajoutez cet utilisateur à samba (il vous sera demandé de taper un mot de passe):

sudo smbpasswd -a sambausername

  1. Créez un partage en le modifiant /etc/samba/smb.conf. Par exemple, vous pouvez ajouter quelque chose comme ceci en bas:

    [share name]
        comment = whatever
        path = /path to share
        browsable = yes
        read only = no
        guest ok = no
    
  2. C'est une bonne idée de redémarrer samba:

sudo service smbd force-reload

  1. Accédez à la machine cliente et essayez d'accéder au partage avec le nom d'utilisateur et le mot de passe que vous venez de configurer.
mikewthing
la source
4
--no-create-home --disabled-password --disabled-loginCela m'a sauvé la journée! Toujours utile en 2017!
Stan
1
@Stan Merci pour les commentaires, heureux que cela ait été utile.
mikewimporte
Comment utiliser cet utilisateur en tant que "utilisateurs valides = <nom_utilisateur>". Pour une raison quelconque, cela ne fonctionne pas? Si j'utilise le nom d'utilisateur d'un utilisateur avec un tableau de bord, cela fonctionnera. Sinon, ce n'est pas le cas.
Myron
comment puis-je faire le premier pas sur les centos?
Sollosa
peut-être mieux: sudo adduser --no-create-home --disabled-password --disabled-login --gecos "" sambausername (où --gecos "" option pour ignorer la partie interactive chfn askubuntu.com/a/94067/ 828892 et uid <1000 pour le compte caché askubuntu.com/a/22010/828892 )
ajcg
5

Une note sur l'ajout d'utilisateurs sur Samba version 4.x

Contrairement à Samba version 3.x et versions antérieures, Samba version 4.x ne nécessite pas d'utilisateur local Unix / Linux pour chaque utilisateur Samba créé (s'il est connecté à une autre source d'authentification, comme Active Directory).

La commande est la suivante pour ajouter des utilisateurs dans Samba Active Directory

samba-tool user add USERNAME-HERE

Veuillez consulter le guide de Samba AD DC pour plus d'informations

Réponse extraite de Cyberciti

Pour vérifier votre version de Samba, utilisez simplement la commande

samba -V

Exemple de sortie:

Version 4.3.11-Ubuntu
André M. Faria
la source
Cela devrait-il être la nouvelle réponse acceptée?
Pichan
1
Grattez ça. N'a pas fonctionné après tout: / Semble que samba-tool est pour Active Directory.
Pichan
3
Une recherche plus approfondie montre que vous devez configurer une AD Samba pour utiliser cette fonction.
André M. Faria
Peut-être que l'exigence AD ​​devrait être plus importante?
Joril
2
samba-tool est destiné au provisionnement Active Directory (AC) uniquement askubuntu.com/a/490342/828892
ajcg