smb.conf 모든 사용자만 읽기 비밀번호 없음

smb.conf 모든 사용자만 읽기 비밀번호 없음

모든 사용자가 암호 없이 읽을 수 있는 Samba를 통한 경로를 호스팅하고 싶습니다.

내 호스트 PC의 smb.conf에서:

[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   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
[mystuff]
   path = /path/to/my/stuff
   read only = yes
   public = yes
   guest ok = yes
   guest only = yes
   browseable = yes

내가 다른 컴퓨터에서

smbclient -L //myhostpc/mystuff

그것은 말한다

Enter WORKGROUP\myusername's password:

흥미롭게도 철자를 틀리면 계속 이렇게 표시됩니다 mystuff. 호스트 PC가 다시 시작되었으며 nmblookup -S WORKGROUPMYHOSTPC에 대한 항목이 나열됩니다.

나는 또한 시도했습니다 (우분투에서 cifs-utils가 설치된 상태에서)

sudo mount -t cifs //myhostpc/mystuff /tmp/mystuff

하지만 얻을

Password for root@//myhostpc/mystuff

그리고 내가 시도하면

sudo mount -t cifs //myhostpc/mystuff -o username=guest,password="" /tmp/mystuff

(어디서 본 것처럼)

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page)

나는 다음에서 주목한다 /var/log/samba/log.:

[2022/02/12 14:57:23.569070,  0] ../../source3    /smbd/service.c:166(chdir_current_service)
  chdir_current_service: vfs_ChDir(/path/to/my/stuff) failed: Permission denied. Current token: uid=65534, gid=65534, 1 groups: 65534

[mystuff]비밀번호를 묻지 않고 다른 컴퓨터에서 모든 사용자가 볼 수 있도록 하려면 무엇이 필요합니까 ?

답변1

문서에는 smbclient다음과 같은 특정 상황이 언급되어 있습니다.

password[...] 기본 비밀번호는 없습니다. 명령줄에 암호가 제공되지 않고(이 매개변수를 사용하거나 옵션에 암호를 추가 -U(아래 참조)) -N옵션이 지정되지 않은 경우 원하는 서비스에 암호가 필요하지 않더라도 클라이언트는 암호를 묻는 메시지를 표시합니다. 하나. (비밀번호가 필요하지 않은 경우 Enter 키를 눌러 null 비밀번호를 입력하세요.)

나중에 -N다음과 같이 언급했습니다.

-N|--no-pass지정된 경우 이 매개변수는 클라이언트에서 사용자에게 일반 비밀번호 프롬프트를 표시하지 않습니다. 비밀번호가 필요하지 않은 서비스에 접속할 때 유용합니다.

귀하의 경우 해결책은 무엇입니까?

smbclient -NL //myhostpc/mystuff

에도 동일한 효과를 사용할 수 있습니다 mount. 여기에서 man mount.cifs(에 대한 참조 검색 중 password):

password=arg|pass=argCIFS 비밀번호를 지정합니다. 이 옵션이 제공되지 않으면 환경 변수가 PASSWD사용됩니다. 비밀번호가 직접적으로 지정되지 않거나 마운트 인수를 통해 간접적으로 지정되지 않으면 옵션이 지정 mount.cifs되지 않은 한 비밀번호를 묻는 메시지가 표시됩니다 .guest

그러면 다음과 같은 옵션이 제공됩니다 guest.

guest비밀번호를 묻지 마세요

여기에 대한 해결책은 무엇입니까?

sudo mount -t cifs -o guest //myhostpc/mystuff /tmp/mystuff

관련 정보