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
J'ai réussi à comprendre comment faire fonctionner ce que j'avais demandé et je publierai les instructions.
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.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.smbpasswd
. Assurez-vous que le mot de passe attribué à ce compte est identique à celui utilisé pour le compte Windows.!<Samba user> = <Windows user>
à smb.conf
, soit ajouter <Samba user> = <Windows user>
à smbusers
et username map = /etc/samba/smbusers
. à smb.conf
.valid users =
sur les partages que vous souhaitez uniquement accessibles par votre compte Windows.