web-dev-qa-db-fra.com

Samba: Répertoire de partage avec un utilisateur Windows 10 spécifique sans mot de passe requis

Je voudrais des instructions pour créer un partage Samba accessible uniquement à un utilisateur Windows 10 spécifique sans mot de passe requis.

J'ai lu des tutoriels et, bien que je puisse facilement créer un partage accessible à tout le monde, je n'ai pas été en mesure d'en créer un auquel seul l'utilisateur spécifique peut accéder. Je peux voir le répertoire en question mais si j'essaie de l'ouvrir, j'obtiens une erreur d'accès refusé et l'explorateur de fichiers Windows demande un nom d'utilisateur et un mot de passe.

J'ai créé un utilisateur Linux avec ce que je crois être le nom d'utilisateur sur le PC Windows et le même mot de passe que l'utilisateur Windows. Si je tape les informations d'identification de cet utilisateur Linux que j'ai créé dans l'invite mentionnée ci-dessus, l'accès est autorisé. Pour le moment, tout ce que je peux penser, c'est que le nom d'utilisateur du compte Linux n'est pas le même que celui du compte Windows correspondant.

Voici ce que j'ai dans smb.conf

encrypt passwords = yes
security = user

[Email Backup]
    comment = email backup folder
    path = /home/samba/emailbackup
    guest ok = yes
    read only = no
    browseable = yes
    valid users = xavie emailer +emailbackup

xavie est le nom du compte Linux censé correspondre au compte Windows, emailer est un autre compte Linux qui nécessite un accès au répertoire et emailbackup est un groupe des deux comptes. sont les deux membres de. Le compte Windows est un compte Microsoft (c.-à-d. Pas un compte local; lié à une adresse électronique @ Outlook.com) si cela change quelque chose.

Si ce problème est causé par un mauvais nom d'utilisateur, quelqu'un peut-il me dire comment je peux trouver le nom d'utilisateur à attribuer au compte Linux (par exemple, y a-t-il un fichier journal que je peux consulter pour voir quel utilisateur a essayé d'accéder à la part Samba)? Sinon, y a-t-il autre chose que je puisse vérifier qui pourrait être la cause de ce problème?

EDIT: J'ai fait des recherches sur Internet et j'ai progressé. Après avoir examiné les fichiers journaux de Samba, j’ai trouvé que j’avais raison de croire que le nom d’utilisateur était incorrect. Selon les fichiers journaux, Windows 10, lorsque l'utilisateur utilise un compte Microsoft, identifie l'utilisateur sur Samba avec l'adresse électronique utilisée par ce compte plutôt que son nom d'utilisateur. Voici le log (niveau 2) que je voyais:

[2016/08/20 14:15:36.349641,  2] ../source3/param/loadparm.c:2700(lp_do_section)
  Processing section "[All Users]"
[2016/08/20 14:15:36.349966,  2] ../source3/param/loadparm.c:2700(lp_do_section)
  Processing section "[Email Backup]"
[2016/08/20 14:15:36.350850,  2] ../source3/auth/auth.c:315(auth_check_ntlm_password)
  check_ntlm_password:  Authentication for user [<snip email address>] -> [<snip email address>] FAILED with error NT_STATUS_NO_SUCH_USER

J'ai ajouté l'adresse e-mail au fichier smbuser en l'associant au compte Linux que j'ai créé. Cela a fonctionné et le journal indique maintenant que j’ai authentifié avec succès, mais j’ai un nouveau problème.

Le nouveau problème est que le partage Samba ne fonctionne pas du tout pour mon PC lorsqu'il est connecté au compte que j'ai noté ci-dessus. En gros, j'ai deux partages sur mon serveur Ubuntu; un partage public auquel tout le monde peut accéder et l'autre partage que je veux accessible uniquement à l'utilisateur Windows 10. Cet utilisateur Windows 10, après avoir apporté les modifications ci-dessus, ne peut plus voir ni les partages ni même accéder au serveur Ubuntu. OTOH, l'ordinateur portable de mon père, qui n'a pas de compte Samba, peut accéder au serveur et voir les deux partages (mais ne peut pas accéder au partage non public sans authentification). Voici le nouveau journal créé avec les modifications apportées à smbusers:

[2016/08/20 14:36:44.523779,  2] ../source3/param/loadparm.c:2700(lp_do_section)
  Processing section "[All Users]"
[2016/08/20 14:36:44.524358,  2] ../source3/param/loadparm.c:2700(lp_do_section)
  Processing section "[Email Backup]"
[2016/08/20 14:36:44.552274,  2] ../source3/auth/auth.c:305(auth_check_ntlm_password)
  check_ntlm_password:  authentication for user [<snip email address>] -> [xavie] -> [xavie] succeeded
[2016/08/20 14:36:44.553509,  1] ../source3/param/loadparm.c:2389(lp_idmap_range)
  idmap range not specified for domain '*'
[2016/08/20 14:36:44.553782,  1] ../source3/auth/token_util.c:430(add_local_groups)
  SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed
[2016/08/20 14:36:44.554723,  1] ../source3/param/loadparm.c:2389(lp_idmap_range)
  idmap range not specified for domain '*'
[2016/08/20 14:36:44.554938,  1] ../source3/auth/token_util.c:430(add_local_groups)
  SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed

Voici le contenu actuel de smb.conf, si cela peut aider quelqu'un. J'inclus seulement ce que j'ai changé cependant; tout ce qui n'est pas mentionné est par défaut:

[global]
  log level = 2
  username map = /etc/samba/smbusers
  encrypt passwords = yes
  security = user    

[All Users]
    comment = Directory accessible to all users
    path = /home/samba/allusers
    guest ok = yes
    read only = no
    browseable = yes
    create mask = 0777
    directory mask = 0777

[Email Backup]
    comment = email backup folder
    path = /home/samba/emailbackup
    guest ok = yes
    read only = no
    browseable = yes
    valid users = xavie emailer +emailbackup

Quelqu'un peut-il voir quel est le nouveau problème que je suis?

L'aide sera grandement appréciée, Cordialement

2
XJDHDR

J'ai réussi à comprendre comment faire fonctionner ce que j'avais demandé et je publierai les instructions.

  1. Tout d’abord, vous devez déterminer le nom d’utilisateur que vous devez ajouter. Pour ce faire, le plus simple consiste d’abord à ajouter log level = 2 à smb.conf. Puis démarrez et activez le service Samba. Ensuite, connectez-vous au serveur Samba à l'aide de l'Explorateur de fichiers sur le PC Windows tout en étant connecté au compte approprié (vous n'avez pas besoin d'ouvrir de répertoires partagés). Ensuite, ouvrez le fichier journal trouvé à l'adresse /var/log/samba/log.<ip address of Windows PC> et le nom d'utilisateur requis y sera indiqué. Vous pouvez maintenant définir le niveau de journalisation sur 0 si vous le souhaitez.
  2. Créez un compte Linux pour l'utilisateur Samba à l'aide de la commande useradd (ou utilisez-en un si vous préférez). Vous n'avez pas besoin de vous soucier des mots de passe avec ce compte, mais si vous créez un nouveau compte, vous pouvez bloquer l'accès à ce compte. Le nom d'utilisateur de ce compte ne doit pas nécessairement être le même que celui indiqué ci-dessus, mais ce serait plus facile s'il l'était. Ce compte sert aux autorisations de fichiers et à Linux de déterminer les fichiers et les répertoires auxquels l'utilisateur Windows est autorisé à accéder.
  3. Créez un utilisateur Samba avec le même nom que le compte Linux à l'étape 2 à l'aide de la commande smbpasswd. Assurez-vous que le mot de passe attribué à ce compte est identique à celui utilisé pour le compte Windows.
  4. Si les comptes Samba et Windows ne partagent pas le même nom d'utilisateur, vous devez soit ajouter !<Samba user> = <Windows user> à smb.conf, soit ajouter <Samba user> = <Windows user> à smbusers et username map = /etc/samba/smbusers. à smb.conf.
  5. Et ça devrait être ça. Assurez-vous de définir l’option valid users = sur les partages que vous souhaitez uniquement accessibles par votre compte Windows.
1
XJDHDR