간단한 삼바 공유-비밀번호 없음


17

내가 필요한 것:

비밀번호가없는 파일 서버를위한 간단한 삼바 구성 및 모든 사용자를위한 전체 읽기 쓰기. 보안이 필요하지 않습니다.

역사:

집에 파일을 호스팅하는 서버를 만들고 있습니다. 서버의 목표는 Windows 시스템 용 파일을 호스팅하는 것입니다. 지금까지 관리 한 것이이 구성입니다. 이를 통해 네트워크에서 공유와 서버를 볼 수 있지만 Windows는 해당 서버에 액세스 할 수 없다고 말합니다. 서버, 모든 최신 업데이트에서 Linux 메이트를 사용하고 있습니다.

내 구성 :

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

어떤 아이디어?


답변:


22

그렇습니다. 삼바는 고통 스러울 수 있습니다. 집뿐만 아니라 직장에서도 사용합니다.

가장 먼저해야 할 일은 문제 해결을 쉽게하기 위해 처음부터 다시 시작하는 것입니다. 터미널에서 아래 명령을 실행하면됩니다.

dpkg-reconfigure samba-common

그런 다음 공유하려는 samba 서버의 폴더로 이동하여 아무도 공유를 읽고 쓸 수 없는지 확인하십시오. 이는 사용자가 Windows 클라이언트가 사용하는 사용자 이름이 아니기 때문입니다. 나는 보통 단순하게하기 위해 / 디렉토리에 폴더를 만들지 만, "올바른"방법은 / srv의 하위 폴더를 만드는 것입니다. 권한을 아직 수정하지 않은 경우 아래 명령을 사용하십시오.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

다음 명령을 루트로 실행하여 아무도 디렉토리에 쓸 수 없는지 테스트 할 수 있습니다.

sudo -u nobody touch test_file

/etc/samba/smb.conf를 편집하고 [printers] 공유 정의 아래에 행을 추가하십시오.

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

그런 다음 저장하고 다음을 실행하십시오.

testparm

오타가 있으면 경고합니다. 다음으로 삼바 서비스를 다시 시작하면됩니다.

sudo systemctl restart smbd
sudo systemctl restart nmbd

이것은 완벽하게 작동했습니다! 나중에 참조 할 수 있도록 복사했습니다. 문제는 chmod 일이었습니다! 정말 감사합니다.
피터 레이 놀드 로빈슨 주니어

1
잘 알아 낸 직업은 대부분 포기했을 것입니다. 모든 OS에서 파일 공유를 통해 권한이 종종 문제라는 것을 기억하십시오.
Andrew

1
큰. 다시 설치 삼바하려고 할 때 나를 위해이 작품, 난 그냥 문제가있을뿐만 아니라 필요하기 때문에이 문제였다 할 sudo apt-get autoremove다음과 sudo apt-get purge samba*
iLevi

이로 인해 samba 설치가 완료된 후 nmdb를 시작하는 중에 오류가 발생했습니다. log.nmdb에 "config 파일을 여는 중 오류가 발생했습니다"라는 메시지가 표시되고 / etc / samba 폴더가 전혀 없습니다. 제거 및 제거 및 다시 설치 프로세스를 다시 시도하면 동일한 결과가 반복됩니다.
Frank H.

이것은 인터넷을 통해서만 작동하는 유일한 방법입니다! 당신은 내 하루를 저장, 감사합니다.
Evi Song

0

나는 이것이 오래된 스레드라는 것을 알고 있지만 로그인 할 필요없이 폴더를 만들고 공유하는 문제를 해결하는 데 도움이되었습니다. 다른 스레드가 많이 있지만 오도의 소지가 있습니다. 나는 다른 게시물과의 작은 차이가 너무 많아서 거의 포기하지 않고 머리카락 절반을 뽑아 낸 다른 누군가를 도울 수 있다고 생각했기 때문에 아래에서 세미 빅너 가이드를 제공했습니다 :-)

나를 위해 기본 AWS Linux 이미지 (Amazon Linux AMI 2017.03.0 (HVM))에서 루트 dir에 폴더를 만들어야했습니다 / 기본 ec2-user에서 생성 된 경우 권한을 할당 할 수 없었습니다. 권한을 할당 할 때 nogroup이 작동하지 않았으므로 nobody.nobody를 사용해야했습니다. 마지막으로 gloabl 독립형 서버 섹션에서 guest = Bad User에 map을 포함시켜야했습니다. 기본적으로 보안 = 사용자라고합니다.

따라서 전체 단계는 새 서버를 배포하는 것입니다.

필요한 경우 삼바 설치

폴더를 만들고 권한을 할당

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

삼바 파일 편집

nano /etc/samba/smb.conf

# ---- 독립형 서버 옵션 ---- "지도를 게스트에 추가"

security = user
passdb backend = tdbsam
map to guest = Bad User

# ==== 공유 정의 ==== 섹션에서 공유를 추가하십시오

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

파일을 저장하고 samaba를 다시 시작하십시오.

/etc/init.d/smb restart

0

@Andrew 답변 외에도 최근 우분투 17.04에서 17.10으로 업그레이드하면 systemctl samba-dc-ad.service 에 문제가 발생합니다 . 아마도 samba-dc-ad.service에서 samba를 다시 설치하려고 할 때 마스크의 버그가 아닌 것 같습니다 (인 텐셜). 업그레이드로 인해 Samba 설치 / 재설치에 문제가있는 경우 @ Andrew 's answer 이전 단계 :

  1. apt-get 업데이트 및 apt-get-upgrade <-업그레이드가 눈에 띄지 않게하십시오
  2. apt-get 설치 삼바
  3. 이 페이지로 이동하여 지시 사항을 수행하십시오. https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f 삼바 설치

  5. 지금 위의 단계를 수행하십시오. :-)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.