나는 삼바 가닥을 원해요. 그 중 일부는 모든 사람이 사용할 수 있어야 하며(이미 작동함) 일부는 비밀번호(및 사용자 이름)로 보호되어야 합니다. 비밀번호로 보호된 폴더의 경우 새 사용자를 생성하고 그에게 삼바 비밀번호를 제공하고 내 공유의 유효한 사용자 = 아래에 그의 이름을 썼습니다. 다음 명령은 다음과 같습니다.
useradd joe
passwd joe
smbpasswd -a joe
valid users = vivek raj joe
나는 이 작은 가이드를 따랐습니다.삼바 사용자 추가. 하지만 작동하지 않는 것 같습니다. Windows 7에서 계속 비밀번호가 잘못되었다는 메시지가 나타납니다.
이것은 내 삼바 구성 파일입니다.
[global]
server string = bananapi
workgroup = WORKGROUP
netbios name = %h
security = user
guest account = root
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
smb ports = 445
max protocol = SMB2
min receivefile size = 16384
deadtime = 30
os level = 20
mangled names = no
syslog only = yes
syslog = 2
name resolve order = lmhosts wins bcast host
preferred master = auto
domain master = auto
local master = yes
printcap name = /dev/null
load printers = no
browseable = yes
writeable = yes
printable = no
encrypt passwords = true
enable core files = no
passdb backend = smbpasswd
smb encrypt = disabled
use sendfile = yes
# Using the following configurations as a template allows you to add
# writable shares of disks and paths under /storage
[Share]
path = /storage/share
available = yes
browsable = yes
public = yes
writable = yes
root preexec = mkdir -p /storage/share
[username]
path = /storage/username
available = yes
browsable = yes
public = no
writable = yes
valid users = joe
root preexec = mkdir -p /storage/username
답변1
https://www.samba.org/samba/docs/using_samba/ch09.html
구성 공유를 사용하여 guest ok = yes
게스트 사용자 액세스를 허용할 수 있습니다.
공유 수준 보안을 사용하는 경우에만 유효합니다.
정보가 필요하면 다른 웹사이트 대신 소스 코드를 방문하는 것이 좋습니다. 다음은 Samba 디렉토리입니다. https://www.samba.org/samba/docs/using_samba/toc.html
당신은 사용하고 있습니다
[GLOBAL]
security = user
이는 가장 제한적인 사항입니다. Microsoft Windows 시스템을 사용하는 사람이라면 누구나 Linux 시스템의 삼바 공유에 액세스하려면 해당 Linux 시스템에 계정이 있거나 알아야 하며 비밀번호를 알아야 합니다.
내 smb.conf의 일부는 다음과 같습니다
[global]
workgroup = WORKGROUP
passdb backend = tdbsam
security=user
map to guest = Bad User
# map to guest = nobody
usershare allow guests = No
server signing = auto
귀하와 마찬가지로 위의 경우 Linux 시스템 계정이 없는 Windows 시스템 사용자는 누구나안 돼요연결하면 Microsoft Windows가 응답합니다. cannot access \\whatever_server_you_typed.
이는 Map to Guest = Bad User
"Bad User"가 Linux 시스템에서 사용자 계정으로 존재하지 않고 공백이 있기 때문에 구문상으로도 유효하지 않기 때문입니다.
Map to Guest = nobody
그러나 nobody
유효한 Linux 계정을 사용하면 Microsoft Windows에서 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다. 이는 Microsoft Windows에 대해 지정된 사용자 이름이 samba-server를 실행하는 Linux 시스템의 사용자 이름이 아닐 때 발생합니다.
아래에서 이 접근 방식을 선택하면 Security = User
위에서 설명한 방법을 사용하여 잠재적으로 보안 요구 사항을 충족할 수 있습니다. 그렇지 않으면 security = share
원래 요청한 작업을 수행해야 합니다. 즉, 네트워크에 있는 모든 사람이 암호를 묻는 메시지 없이 특정 폴더에 액세스할 수 있도록 해야 합니다.
~을 위한안전예를 선택하세요사용자, 공유, 서버 및 도메인. Samba 도움말 문서에는 각 기능에 대해 사용할 수 있는 기능과 사용할 수 없는 기능이 설명되어 있습니다.
실행 취소하는 것이 좋습니다guest account = root
도움말 문서에서 해당 옵션을 찾지 못했습니다. guest account =
(해당 옵션과 마찬가지로) 동일하다고 가정하고 확실한 보안 영향을 위해 알 수 없는 사용자를 루트 계정에 매핑하고 싶지 않습니다.Map to Guest
Public
Guest OK = yes
답변2
이 비디오는 그것을 아주 잘 설명합니다.
https://www.youtube.com/watch?v=7Q0mnAT1MRg
이전 smb.conf 파일을 백업하고 처음부터 새 파일을 생성하면 더 잘 작동한다고 생각합니다.
/etc/samba 폴더로 이동합니다.
sudo mv smb.conf smb.conf.bak
smb.conf 파일에 [global] 설정을 생성하고 각 폴더에 대해 별도의 파일 share.conf를 생성할 수 있습니다.
새 smb.conf 파일을 만듭니다.
sudo nano smb.conf
smb.conf에서:
[global]
server string = File server
workgroup = WORKGROUP
security = user
map to guest = Bad User
name resolve order = bcast host
include = /etc/samba/shares.conf
이제 share.conf 파일을 만듭니다. 공개적으로 성공적으로 공유했으므로 여기서는 비밀번호 보호 옵션을 표시하겠습니다.
주식.conf:
[Private Share]
path=[give here the path to the folder to be shared]
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
writable = yes
시스템 그룹 smuser를 생성합니다.
sudo groupadd --system smbgroup
이제 사용자 smbuser가 smbgroup에 생성되지만 홈 디렉터리가 생성되지 않고 시스템에 로그인하는 기능도 거부됩니다.
sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser
공유하려는 폴더의 소유권을 변경하세요.
sudo chown -R smbuser:smbuser [folder path]
쓰기 권한 부여
sudo chmod -R g+w [folder path]
smbuser에 삼바 비밀번호를 추가하세요. 이는 공유 폴더를 보기 위해 인증하기 위해 Windows에서 제공해야 하는 비밀번호입니다.
sudo smbpasswd -a smbuser
New SMB password:[password]
Retype new SMB password:[password]
이제 smbd를 다시 시작하십시오.
sudo systemctl restart smbd
윈도우에서 실행\\[ip address of samba system]
사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다. 사용자 이름은 smbuser
귀하가 제공하고 비밀번호는 귀하가 제공합니다.
도움이 되었기를 바랍니다.
답변3
허용된 사용자가 포함된 그룹(예: "restrictedgroup")을 생성하고 이를 smb.conf에 지정해야 합니다.
유효 사용자 = @restrictedgroup
그러면 제한된 그룹의 사용자만 폴더에 액세스할 수 있습니다.