ใ‚ณใƒžใƒณใƒ‰_samba

Linux
ใƒ–ใƒญใ‚ฐ

samba้–ขไฟ‚ใ‚ณใƒžใƒณใƒ‰

testparm

smb.confใฎๆง‹ๆ–‡ใƒŸใ‚นใฎใƒใ‚งใƒƒใ‚ฏ

pdbedit

-Lsambaใƒฆใƒผใ‚ถใƒผใฎไธ€่ฆง่กจ็คบ
-asambaใƒฆใƒผใ‚ถใƒผใฎ่ฟฝๅŠ 
-xsambaใƒฆใƒผใ‚ถใƒผใฎๅ‰Š้™ค

smbpasswd

-asambaใƒฆใƒผใ‚ถใƒผใฎไฝœๆˆ
-dsambaใƒฆใƒผใ‚ถใƒผใฎ็„กๅŠนๅŒ–
-esambaใƒฆใƒผใ‚ถใƒผใฎๆœ‰ๅŠนๅŒ–
-xsambaใƒฆใƒผใ‚ถใƒผใฎๅ‰Š้™ค
โ€ปใŸใ ใ—ใ€sambaใƒฆใƒผใ‚ถใƒผใฏLinuxใƒฆใƒผใ‚ถใƒผใจใ—ใฆๅญ˜ๅœจใ—ใฆใ„ใชใ‘ใ‚Œใฐ่จญๅฎšใงใใชใ„ใŸใ‚ใ€Linuxใƒฆใƒผใ‚ถใƒผใจใ—ใฆๅญ˜ๅœจใ—ใฆใ„ใชใ„sambaใƒฆใƒผใ‚ถใƒผใ‚’ไธŠ่จ˜ใ‚ณใƒžใƒณใƒ‰ใงไฝœๆˆใ—ใ‚ˆใ†ใจใ—ใฆใ‚‚ใ€ไฝœๆˆใงใใพใ›ใ‚“ใ€‚ใพใŸใ€sambaใฏ/etc/passwdใ‚’ๅ‚็…งใ—ใชใ„ใŸใ‚ใ€ใ•ใ‚‰ใซใ€Œpdbeditใ€ใงใ€sambaใซsambaใƒฆใƒผใ‚ถใƒผใ‚’็™ป้Œฒ๏ผˆ่ฟฝๅŠ ๏ผ‰ใ—ใชใ‘ใ‚Œใฐใชใ‚‰ใชใ„ใ€‚

smbstatus

sambaใ‚ตใƒผใƒใƒผใซๆŽฅ็ถšใ•ใ‚Œใฆใ„ใ‚‹ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ๏ผˆIPใ‚ขใƒ‰ใƒฌใ‚นใ€ใƒใƒผใƒˆ็•ชๅทใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆๅใ€ใ‚ฐใƒซใƒผใƒ—ๅใชใฉ๏ผ‰ใ€ไฝฟ็”จไธญใฎๅ…ฑๆœ‰ใ€ใƒญใƒƒใ‚ฏใ•ใ‚Œใฆใ„ใ‚‹ใƒ•ใ‚กใ‚คใƒซใ‚’่กจ็คบใ€‚

smbclient

ใ‚ชใƒ—ใ‚ทใƒงใƒณ่ชฌๆ˜Žใ‚ตใƒ–ใ‚ณใƒžใƒณใƒ‰่ชฌๆ˜Ž
-Lใƒชใ‚นใƒˆ่กจ็คบdirใƒ•ใ‚กใ‚คใƒซใƒชใ‚นใƒˆใฎ่กจ็คบ
-N่ช่จผใ‚’่กŒใ‚ใชใ„exitsmbclientใ‚’็ต‚ไบ†
-U ๏พ•๏ฝฐ๏ฝป๏พž๏ฝฐใƒฆใƒผใ‚ถใƒผๆŒ‡ๅฎšget ๏พŒ๏ฝง๏ฝฒ๏พ™ใƒ•ใ‚กใ‚คใƒซใฎๅ–ๅพ—
mget ๏พŒ๏ฝง๏ฝฒ๏พ™่ค‡ๆ•ฐใƒ•ใ‚กใ‚คใƒซใ‚’ใพใจใ‚ใฆๅ–ๅพ—
ใ‚ตใƒ–ใ‚ณใƒžใƒณใƒ‰่ชฌๆ˜Žmkdir ๏พƒ๏พž๏ฝจ๏พš๏ฝธ๏พ„๏พ˜ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎไฝœๆˆ
cd ๏พƒ๏พž๏ฝจ๏พš๏ฝธ๏พ„๏พ˜ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’็งปๅ‹•mput ๏พŒ๏ฝง๏ฝฒ๏พ™่ค‡ๆ•ฐใƒ•ใ‚กใ‚คใƒซใ‚’ใพใจใ‚ใฆใ‚ตใƒผใƒใซ่ปข้€
del ๏พŒ๏ฝง๏ฝฒ๏พ™ใƒ•ใ‚กใ‚คใƒซใ‚’ๅ‰Š้™คlcd ๏พƒ๏พž๏ฝจ๏พš๏ฝธ๏พ„๏พ˜ใƒญใƒผใ‚ซใƒซๅดใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’็งปๅ‹•
put ๏พŒ๏ฝง๏ฝฒ๏พ™ใƒ•ใ‚กใ‚คใƒซใ‚’ใ‚ตใƒผใƒใƒผใซ่ปข้€
rmdir ๏พƒ๏พž๏ฝจ๏พš๏ฝธ๏พ„๏พ˜ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎๅ‰Š้™ค
smbclient -L 1.2.3.4 -U test ใƒ›ใ‚นใƒˆ(IPใ‚ขใƒ‰ใƒฌใ‚น๏ผš1.2.3.4)ใซtestใƒฆใƒผใ‚ถใƒผใงใƒญใ‚ฐใ‚คใƒณใ—ใ€ๅ…ฑๆœ‰ใƒชใ‚ฝใƒผใ‚นใ‚’ไธ€่ฆง่กจ็คบ
smbclient -L 1.2.3.4 -Nใ€€ใƒ›ใ‚นใƒˆใซ่ช่จผใชใ—ใงใƒญใ‚ฐใ‚คใƒณใ—ใ€ๅ…ฑๆœ‰ใƒชใ‚ฝใƒผใ‚นใ‚’ไธ€่ฆง่กจ็คบ

samba่จญๅฎšใฎไธ€้€ฃใฎๆตใ‚Œ

่จญๅฎš

ใ€€OS ๏ผš UbuntuServer22.04 (IPใ‚ขใƒ‰ใƒฌใ‚น๏ผš4.44.244.4๏ผ‰
ใ€€ๅ…ฑๆœ‰ใƒ•ใ‚ฉใƒซใƒ€่จญ็ฝฎๅ ดๆ‰€ ๏ผš /var/samba/
ใ€€่จญ็ฝฎใ™ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใ€€ใ€€Linuxๅ†…ใซไฝœใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ : ๅ…ฑๆœ‰ใƒ•ใ‚ฉใƒซใƒ€ๅ
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€public_foldaใ€€ใ€€ใ€€๏ผšใ€€public
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€aaa_foldaใ€€ใ€€ใ€€ใ€€ ๏ผšใ€€aaa
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€bbb_foldaใ€€ใ€€ใ€€ใ€€ ๏ผšใ€€bbb
ใ€€sambaใƒฆใƒผใ‚ถใƒผใ€€๏ผšใ€€pub๏ผˆใƒ‘ใ‚นใƒฏใƒผใƒ‰ใชใ—๏ผ‰
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ aaa๏ผˆใƒ‘ใ‚นใƒฏใƒผใƒ‰๏ผšaaa๏ผ‰
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ bbb๏ผˆใƒ‘ใ‚นใƒฏใƒผใƒ‰๏ผšbbb๏ผ‰ใ€€

sambaใ‚คใƒณใ‚นใƒˆใƒผใƒซ๏ผˆUbuntu)

$ sudo apt install samba

ๅ…ฑๆœ‰ใƒ•ใ‚กใ‚คใƒซใฎไฝœๆˆ

# sambaใงไฝฟ็”จใ™ใ‚‹Linuxใƒฆใƒผใ‚ถใƒผใฎไฝœๆˆ๏ผˆๅŒๆ™‚ใซๅŒๅใฎใ‚ฐใƒซใƒผใƒ—ใŒไฝœใ‚‰ใ‚Œใ‚‹๏ผ‰
$ sudo useradd pub
$ sudo useradd aaa
$ sudo useradd bbb

# ๅ…ฑๆœ‰ใ™ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎไฝœๆˆ
$ sudo mkdir -p /var/samba/{public_folda,aaa_folda,bbb_folda}

# ๅ…ฑๆœ‰ใ™ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎๆ‰€ๆœ‰่€…ใ‚’ๅค‰ๆ›ด
$ sudo chown pub:pub /var/samba/public_folda
$ sudo chown aaa:aaa /var/samba/aaa_folda
$ sudo chown bbb:bbb /var/samba/bbb_folda

# ๅ…ฑๆœ‰ใ™ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎใƒ‘ใƒผใƒŸใƒƒใ‚ทใƒงใƒณใ‚’่จญๅฎš
$ sudo chmod 775 /var/samba/public_folda
$ sudo chmod 775 /var/samba/aaa_folda
$ sudo chmod 775 /var/samba/bbb_folda

sambaใƒฆใƒผใ‚ถใƒผใฎไฝœๆˆ

# Linuxใƒฆใƒผใ‚ถใƒผใฎไธญใ‹ใ‚‰ใ€sambaใƒฆใƒผใ‚ถใƒผใซใ™ใ‚‹ใ‚‚ใฎใ‚’ๆŒ‡ๅฎšใ™ใ‚‹ใ“ใจใซใชใ‚‹ใ€‚
# ๆœ€ๅˆใฏsambaใƒฆใƒผใ‚ถใƒผใŒใชใ„ใŸใ‚
$ sudo pdbedit -Lใ€€โ†ใ€€sambaใƒฆใƒผใ‚ถใƒผใฎไธ€่ฆงใ‚’่กจ็คบ
  ไฝ•ใ‚‚ๅ‡บใฆใ“ใชใ„
$ sudo pdbedit -a pubใ€€โ†ใ€€ใƒ‘ใ‚นใƒฏใƒผใƒ‰ใฎๆŒ‡ๅฎšใ‚’ใ™ใ‚‹ใ€‚pubใฏไฝ•ใ‚‚ๆŒ‡ๅฎšใ—ใชใ„๏ผˆ๏ผ’ๅ›žEnter๏ผ‰ใ€‚
$ sudo pdbedit -a aaaใ€€โ†ใ€€ใƒ‘ใ‚นใƒฏใƒผใƒ‰ใ‚’ใ€Œaaaใ€ใซๆŒ‡ๅฎšใ€‚
$ sudo pdbedit -a bbbใ€€โ†ใ€€ใƒ‘ใ‚นใƒฏใƒผใƒ‰ใ‚’ใ€Œbbbใ€ใซๆŒ‡ๅฎšใ€‚

sambaใฎ่จญๅฎš๏ผˆ/etc/samba/smb.conf)

[global]
   guest account = pubใ€€ใ€€โ†ใ€€ๅทฆ่จ˜ใ‚’[globalใ€็›ดไธ‹ใซ่ฟฝ่จ˜ใ€‚

# ไปฅไธ‹ใ‚’ๆœ€็ต‚่กŒใซ่ฟฝ่จ˜

[public]
   writable = yes
   path = /var/samba/public_folda
   create mask = 0664
   directory mask = 0775
   force user = pub
   force group = pub
   guest ok = yes
   guest only = yes

[aaa]
   security = user
   writable = yes
   path = /var/samba/aaa_folda
   guest ok = no
   read only = no
   valid users = aaa
   create mask = 0664
   directory mask = 0775
   force user = aaa
   force group = aaa

[bbb]
   security = user
   writable = yes
   path = /var/samba/bbb_folda
   guest ok = no
   read only = no
   valid users = bbb
   create mask = 0664
   directory mask = 0775
   force user = bbb
   force group = bbb

่จญๅฎšใฎใƒใ‚งใƒƒใ‚ฏ็ญ‰

# ๆ›ธๅผใŒๆญฃใ—ใ„ใ‹ใƒใ‚งใƒƒใ‚ฏ
$ sudo testparm
ใ€€ไฝ•ใ‚‚ใ‚จใƒฉใƒผใŒใชใ‘ใ‚ŒใฐOK
# sambaใ‚’ๅ†่ตทๅ‹•
$ sudo systemctl restart smbd.service

Windowsใ‹ใ‚‰ๅ…ฑๆœ‰ใƒ•ใ‚ฉใƒซใƒ€ใธใ‚ขใ‚ฏใ‚ปใ‚น๏ผˆaaaใƒ•ใ‚ฉใƒซใƒ€๏ผ‰

ใ‚จใ‚ฏใ‚นใƒ—ใƒญใƒผใƒฉใƒผใ‹ใ‚‰็›ดๆŽฅๅ…ฑๆœ‰ใƒ•ใ‚ฉใƒซใƒ€ใธใ‚ขใ‚ฏใ‚ปใ‚นใ€Œ\\4.44.244.4\aaaใ€ใจๅ…ฅๅŠ›ใ—ใ€ใ€ŒEnterใ€ใ‚’ๆŠผไธ‹ใ€‚

ๅณๅ›ณใฎใ‚ˆใ†ใช็”ป้ขใŒๅ‡บใฆใใพใ™ใ€‚

ใƒฆใƒผใ‚ถใƒผๅใ€Œaaaใ€

ใƒ‘ใ‚นใƒฏใƒผใƒ‰ใ€Œaaaใ€

ใ€Œ๏ผฏ๏ผซใ€ใ‚’ๆŠผไธ‹ใ€‚

ใ“ใ‚Œใงใ€ใ€Œpublicใ€ใƒ•ใ‚ฉใƒซใƒ€ใจใ€Œaaaใ€ใƒ•ใ‚ฉใƒซใƒ€ใซใ‚ขใ‚ฏใ‚ปใ‚นๅฏ่ƒฝใจใชใ‚‹ใ€‚ใ€Œbbbใ€ใƒ•ใ‚ฉใƒซใƒ€ใฏใ€ใ‚ขใ‚ฏใ‚ปใ‚นๆจฉใŒ็•ฐใชใ‚‹ใŸใ‚ใ€ใ‚ขใ‚ฏใ‚ปใ‚นไธๅฏใจใชใ‚Šใพใ™ใ€‚

ใ€€ใ‚‚ใ—ใ‚‚ใ€ใ†ใพใใ‚ขใ‚ฏใ‚ปใ‚นใŒใงใใชใ‹ใฃใŸๅ ดๅˆใฏใ€LinuxใจWindowsใ‚’ๅ†่ตทๅ‹•ใ—ใฆใ‹ใ‚‰ใ‚ขใ‚ฏใ‚ปใ‚นใ™ใ‚‹ใจใ†ใพใใ„ใใพใ™ใ€‚๏ผˆใŸใถใ‚“ใƒปใƒปใƒปใƒป๏ผ‰

ใใฎไป–ใฎ่จญๅฎš

ใƒ›ใ‚นใƒˆใฎใ‚ขใ‚ฏใ‚ปใ‚นๅˆถ้™๏ผˆhosts allow , hosts deny)

ใ€€ใƒซใƒผใƒซ

ใ€€ใ€€[global][homes][printers]ใใ‚Œใžใ‚Œใฎ็ฎ‡ๆ‰€ใงๆœ‰ๅŠนใจใชใ‚‹

ใ€€ใ€€ใ€Œhosts allowใ€ใง่จฑๅฏใ€ใ€Œhosts denyใ€ใงๆ‹’ๅฆใ‚’่กŒใ†ใ€‚

ใ€€ใ€€ใ€Œhosts allowใ€ใซใชใ„ใƒ›ใ‚นใƒˆใฏใ€่‡ชๅ‹•็š„ใซๆ‹’ๅฆ

ใ€€ใ€€ใ€Œhosts denyใ€ใซใชใ„ใƒ›ใ‚นใƒˆใฏใ€่‡ชๅ‹•็š„ใซ่จฑๅฏ

ใ€€ใ€€ใ€Œhosts allowใ€ใ€Œhosts denyใ€็ซถๅˆใฎๅ ดๅˆใฏใ€ใ€Œhosts allowใ€ๅ„ชๅ…ˆ

ไพ‹็คบ
ใ€€hosts deny = 192.168.1.55, 192.168.1.56ใ€€โ†’ใ€€192.168.1.55ๅŠใณ192.168.1.56ใ‚’ๆ‹’ๅฆ
ใ€€hosts allow = 192.168.11. โ†’ใ€€192.168.11.0/24ใ‚’่จฑๅฏ
ใ€€hosts allow = 192.168.100. except 192.168.100.200
ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€โ†’ 192.168.100.200ใ‚’้™คใ192.168.100.0/24ใ‚’่จฑๅฏ

ๅ‚่€ƒๆ–‡็Œฎ

ใ€็ฌฌ27ๅ›žใ€‘ใƒŸใƒ‹PCใงไฝœใ‚‹Sambaใ‚ตใƒผใƒใƒผๅ…ฅ้–€ใ€Sambaใ‚ตใƒผใƒใƒผๆง‹็ฏ‰็ทจใ€‘

Ubuntu 22.04ใซsambaใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆใƒ•ใ‚กใ‚คใƒซใ‚ตใƒผใƒใซใ™ใ‚‹๏ผˆLinuxใƒฆใƒผใ‚ถใƒผใฎใƒ›ใƒผใƒ ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ๅ…ฑๆœ‰๏ผ‰

Ubuntu Server 22.04.1 LTS ใง Samba่จญๅฎš

LinuC Level2 10.0ๆ•™็ง‘ๆ›ธ

ใ‚ณใƒกใƒณใƒˆ