재설치 후 Samba 공유에 연결할 수 없습니다

재설치 후 Samba 공유에 연결할 수 없습니다

최근에 운영 체제를 다시 설치한 홈 파일 서버가 있습니다. 하드웨어 업그레이드로 인해 Ubuntu Server 10.04.2 32비트를 10.04.3 64비트로 교체했습니다. 이전 Samba 구성을 복사하고 공유 사용자를 다시 생성한 다음 다른 디스크의 공유 디렉터리에 대한 권한이 그대로 유지되는지 확인했습니다. XP와 Win7 컴퓨터가 있습니다. 둘 다 파일 서버를 볼 수 있지만 둘 다 공유에 액세스할 수는 없습니다. Windows 컴퓨터에서 액세스하면 \\Server사용자/비밀번호를 묻는 메시지가 표시되고 연결을 수락하는 것으로 나타납니다. 다음 단계 로 가면 \\Server\Share사용자/비밀번호를 다시 묻고 인증하지 않습니다.

Windows 컴퓨터의 네트워크 설정은 변경되지 않았습니다. 서버에 누락된 다른 구성이 있습니까? 또 무엇이 잘못될 수 있나요?

문제 해결:제안대로 로그를 찾았습니다. smbd와 nmbd가 모두 실행 중입니다. Windows 시스템의 로그에는 연결을 시도할 때 이와 같은 줄이 많이 나타납니다.

[2011/11/07 07:23:53,  1] smbd/service.c:676(make_connection_snum)
  create_connection_server_info failed: NT_STATUS_ACCESS_DENIED

이것은 분명히 문제인데 왜 그런 일이 발생하는지 모르겠습니다. 내가 사용하고 있는 사용자와 패스는 문제가 없으며 업그레이드하기 전에도 잘 작동합니다. log.winbindd-idmap에서 이것을 찾았습니다.

[2011/11/07 07:14:12,  1] winbindd/idmap.c:321(idmap_init_domain)
  idmap initialization returned NT_STATUS_UNSUCCESSFUL
[2011/11/07 07:23:40,  0] winbindd/idmap.c:201(smb_register_idmap_alloc)
  idmap_alloc module tdb already registered!
[2011/11/07 07:23:40,  0] winbindd/idmap.c:149(smb_register_idmap)
  Idmap module passdb already registered!
[2011/11/07 07:23:40,  0] winbindd/idmap.c:149(smb_register_idmap)
  Idmap module nss already registered!
[2011/11/07 07:23:40,  1] winbindd/idmap_tdb.c:214(idmap_tdb_load_ranges)
  idmap uid missing
[2011/11/07 07:23:40,  0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
  Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configur
ation
[2011/11/07 07:23:40,  1] winbindd/idmap.c:321(idmap_init_domain)
  idmap initialization returned NT_STATUS_UNSUCCESSFUL

로그 파일

[2011/11/06 20:01:29,  0] smbd/server.c:1069(main)
  smbd version 3.4.7 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2009
[2011/11/06 20:01:29,  0] printing/print_cups.c:103(cups_connect)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2011/11/06 20:01:29,  0] printing/print_cups.c:103(cups_connect)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2011/11/06 20:01:29,  0] smbd/server.c:1115(main)
  standard input is not a socket, assuming -D option

로그 nmbd

[2011/11/06 13:40:55,  0] nmbd/nmbd.c:854(main)
  nmbd version 3.4.7 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2009

smb.conf, 대부분의 내용이 재고임

[global]
   workgroup = MyGroup   # edited
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   use sendfile = yes   # edited
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   security = user   # edited
   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
   guest account = myshareuser   # edited
   usershare allow guests = yes

[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

# added
[share]
path = /mnt/storage/share
force user = myshareuser
force group = myshareuser
read only = No
create mask = 0777
directory mask = 0777
guest only = No
guest ok = No

[backup]
path = /mnt/storage/backup
force user = myshareuser
force group = myshareuser
read only = No
create mask = 0777
directory mask = 0777
guest only = No
guest ok = No

답변1

다음을 시도해 보세요:

sudo smbpasswd -L -a username   (set a password)
sudo smbpasswd -L -e username   (enable user)

문제 세부 정보와 함께 /etc/samba/smb.conf의 내용을 추가할 수도 있습니다. 또는 webmin을 사용해 볼 수도 있습니다. 자세한 내용은 아래 링크를 확인하세요.

인터넷 민감도

답변2

passdb.tdb 파일이 손상되었을 수 있습니다. 제거하고 Samba를 다시 시작하면 사용자를 추가할 수 있나요?

답변3

좋아요 아직 해결 방법을 찾지 못했다면 다음을 시도해 보세요.

sudo system-config-samba

다음과 같은 GUI가 제공됩니다.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

기본 설정 상자(Samba 설정 및 Samba 사용자)를 선택하십시오. 파일 -> 공유 추가에서 공유를 추가할 수 있습니다.

또한 문제가 지속되면 아래와 같이 /etc/samba/smb.conf 파일을 편집해 볼 수도 있습니다. 이렇게 하면 문제가 해결될 수 있습니다.

usershare allow guests = yes
security = user
guest ok = yes
guest account = exampleuser 
username map = /etc/samba/smbusers


# added
[share]
path = /mnt/storage/share
valid users = myshareuser
read only = No
guest ok = yes
browseable = yes

[backup]
path = /mnt/storage/backup
valid users = myshareuser
read only = No
guest ok = yes
browseable = yes

그런 다음 다음 명령을 실행합니다.

sudo chmdo 777 /mnt/storage/share /mnt/storage/backup
sudo stop smbd
sudo start smbd

이제 공유가 유효한지 확인하세요 :D

대화형 사용자 인증의 경우 다음이 작동할 수 있습니다.

시스템에 사용자를 추가하고 비밀번호를 제공하세요.

sudo 사용자 testamba 추가

Samba에 사용자 추가 &다시 물을 때 비밀번호를 비워두세요

sudo smbpasswd -a testsamba

Windows 사용자 지도

sudo vi /etc/samba/smbusers

파일에는 다음 내용이 포함되어야 합니다.

testsamba = windowsuserSample

이전과 같이 GUI를 사용하여 필요한 구성을 만듭니다.

sudo system-config-samba

삼바 서비스 다시 시작

sudo service smbd restart

답변4

@Jay Sheridan, 다음을 시도했는데 제대로 작동할 것입니다. 이것은 지난 답변의 요약 버전일 뿐입니다. 확인하실 수 있습니다.

  1. 삼바 서버를 설치하고 터미널에 다음 명령을 입력하십시오.
sudo apt-get install samba smbfs
  1. 공유 구성을 만듭니다.

sudo vi /etc/samba/smb.conf

다음과 같이 편집하세요:

[global]

security = USER hosts allow =

[homes]

comment = Home Directories

browseable = no

writable = yes

[share]

comment = Unixmen File Server

path = /share/

force user = samba

force group = samba

read only = No

hosts allow =

시스템에 사용자(예: unixmenuser)를 추가하려면 터미널에 다음 명령을 입력하십시오.

root@unixmen-desktop:~# adduser unixmenuser

sudo smbpasswd -a unixmenuser

두 번째 명령의 출력은 다음과 같습니다.


Output

New SMB password:

Retype new SMB password:

Added user unixmenuser.

관련 정보