의 공유 설정에서 smb.conf
한 write list = ...
줄을 사용하여 공유에 쓸 수있는 사용자 및 / 또는 그룹의 이름을 지정해야합니다 .
예:
[myshare]
...
write list = my_linux_username
그런 다음 Samba smbpasswd
인증을 my_linux_username
위해 비밀번호를 설정 하려면 다음 명령 을 사용해야합니다 .
sudo smbpasswd -a my_linux_username
표준 시스템 비밀번호 /etc/shadow
는 SMB 프로토콜에 사용 된 비밀번호 해시 알고리즘과 호환되지 않는 알고리즘으로 해시되므로이 단계가 필요 합니다. 클라이언트가 SMB 인증 패킷을 보내면 해시 된 비밀번호가 포함됩니다. 동일한 알고리즘을 사용하는 다른 비밀번호 해시와 만 비교할 수 있습니다.
(이전의 밀레니엄의 아주 오래된 지침은 Samba에서 암호 암호화를 비활성화하고 Windows가 네트워크에 암호화되지 않은 암호를 방출 할 수 있도록 특정 레지스트리 해킹을 사용하도록 권장 할 수 있습니다.이 조언은 더 이상 사용되지 않습니다 . 해당 레지스트리 해킹은 더 이상 현재 버전에서 작동하지 않을 수 있습니다. Windows에서 네트워크 트래픽을 모니터링 할 수있는 사람이면 누구나 간단하게 암호를 캡처 할 수 있습니다.)
클라이언트 측에서해야 할 일이 하나 더 있습니다. Windows 클라이언트 시스템이 Active Directory 도메인에 가입되어 있고 AD 계정으로 로그인하면 자격이없는 모든 사용자 이름 앞에 자동으로 사용자의 AD 도메인 이름이 붙습니다. 즉 AD_DOMAIN\your_username
,뿐만 아니라 로 인증됩니다 your_username
.
로컬 계정으로 로그인 한 경우 (또는 클라이언트 시스템이 AD 도메인에 가입되어 있지 않은 경우) 다른 도메인 이름을 지정하지 않으면 Windows에서 자동으로 사용자 이름이 클라이언트 호스트 이름으로 접두어 질 수 있습니다 .
독립형 Windows 클라이언트에서 독립형 Samba 서버에 로그인하려면 사용자 이름을로 지정해야합니다 SAMBA_SERVER_HOSTNAME\your_username
.
그렇지 않으면 Samba는 사용자 이름을로보고 이름 WINDOWS_CLIENT_HOSTNAME\your_username
이 도메인에 속하는 사용자를 확인할 방법이 없다고 판단 WINDOWS_CLIENT_HOSTNAME
하고 로그인을 거부합니다.
(삼바의 최신 버전이 있습니다 가지고이 특정 상황에 대한 점검 내장, 당신은 삼바의 이전 버전을 처리해야하는 경우 그들은 당신이 그럼에도 불구하고 액세스 할 수 있습니다. 그러나이 SMB 인증 "후드 아래에"어떻게 작동하는지 기본적이며, 여전히 유용 할 수 있습니다.)
force user = defaultUser
는 나를 위해 일했습니다.