Czy konkretni użytkownicy Windows łączą się z Sambą jako „nikt” zamiast nazwy użytkownika?


Mamy serwer Ubuntu 9.04, na którym działa Samba, bez haseł i udziałów w katalogu domowym, a także mamy odpowiednich użytkowników, którzy montują wspomniane udziały na komputerach z systemem Windows. Zasadniczo każdy użytkownik ma konto na serwerze (z taką samą nazwą użytkownika jak na komputerach z systemem Windows) i katalog domowy pod adresem

/home/USERNAME

który jest zainstalowany na ich lokalnym komputerze jako

\\ SAMBABOX \ NAZWA UŻYTKOWNIKA

do których mają wtedy pełny dostęp.
Dla większości użytkowników to działa dobrze; mogą bez problemu czytać, pisać, tworzyć i usuwać pliki w swoich folderach współdzielonych. Oto jedno z takich początkowych połączeń, które można zobaczyć w dziennikach Samby:
[2009/12/02 10:30:22,  1] smbd/service.c:make_connection_snum(1115)
somewindowsbox (192.168.2.123) connect to service ekaufman initially as user ekaufman (uid=1002, gid=1002) (pid 22574)

W szczególności dla pojedynczego użytkownika nie mogą - przynajmniej - tworzyć określonych plików (blokować pliki dla kopii roboczej SVN). Pamiętaj, że z dowolnego komputera z systemem Windows w naszej domenie AD. Patrząc na ich dzienniki samby, ich początkowe połączenie jest wykonywane jako użytkownik

nikt

i nie wiem, dlaczego.
[2009/11/18 10:19:32,  1] smbd/service.c:make_connection_snum(1115)
somewindowsbox (192.168.2.123) connect to service jdoe initially as user nobody (uid=65534, gid=65534) (pid 15570)

Ich konto na serwerze ubuntu jest mniej więcej identyczne z innymi, jak określono w

/etc/passwd

:
ekaufman:x:1002:1002:,,,:/home/ekaufman:/bin/bash
jdoe:x:1015:1015:,,,:/home/jdoe:/bin/bash

I

/ itp./Grupa

:
ekaufman:x:1002:
jdoe:x:1015:

I nawet

/etc/shadow

(oczywiście usunięcie hashów haseł przed wysłaniem tutaj):
ekaufman:!:14580:0:99999:7:::
jdoe:!:14572:0:99999:7:::

Usunąłem nawet ich konto w pudełku Ubuntu i odtworzyłem je w nienaruszonym stanie. Według administratora kontrolera domeny AD, ich konta są mniej więcej identyczne jak u wszystkich innych (ich usunięcie i ponowne utworzenie byłoby zbyt skomplikowane).
Jeśli ręcznie zamontuję udział dla mojego konta z komputera z systemem Windows, wymuszając nazwę użytkownika, działa to bez incydentów:
C:\> net use z: \\sambabox.local\ekaufman/user:ekaufman
The command was completed successfully

Jeśli zrobię to samo dla tego konkretnego użytkownika, nadal łączy się jako

nikt

cicho zawodzi:
C:\> net use z: \\sambabox.local\jdoe/user:jdoe
The command was completed successfully

Mam wrażenie, że jakikolwiek problem jest związany z Linuksem.
To jest cała użyta konfiguracja smb:
[global]
null passwords = yes
guest ok = yes
security = user
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file =/var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action =/usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program =/usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes[homes]
comment = Home Directories
browseable = no
read only = no[printers]
comment = All Printers
browseable = no
path =/var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700[print$]
comment = Printer Drivers
path =/var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Okazało się, że błąd był związany z mapowaniem nazw użytkowników w pliku users.map, którego wcześniej użyłem do mapowania nazw użytkowników NIS na konta A.D. Po przełączeniu wszystkich NIS na A.D. ServicesForUNIX NIS Zapomniałem usunąć te stare mapowania nazw użytkowników.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jak się okazało, odpowiedź była zwodniczo prosta. Oprócz tego, że użytkownik potrzebuje konta na komputerze z systemem Linux, należało je również dodać
         smbpasswd
plik.

dodatkowo

ponieważ połączenia są nawiązywane z zerowymi hasłami, musimy dodać je z zerowym hasłem do określonego pliku:
# -a flag adds the new user (must already exist in/etc/passwd)
# -n flag indicates a null password (different from an empty password)
smbpasswd -an jdoe
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W moim systemie jest grupa o nazwie sambashare. Widzisz, jeśli

jdoe

jest członkiem (wraz ze wszystkimi).

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się