samba服務(wù)

smb(samba):

1、用于linux和windows之間的文件共享,可以實(shí)現(xiàn)匿名用戶和本地用戶之間的文件共享

2、工作原理:

smb進(jìn)程 控制發(fā)布共享目錄與權(quán)限? tcp 139 445

nmb進(jìn)程 主要用于名稱解析 udp 137 138

步驟:

1、關(guān)閉防火墻和selinux

2、配置yum源

3、軟件三步曲(查看|安裝|查看軟件列表)

# rpm -aq|grep samba

samba-winbind-clients-3.6.9-164.el6.x86_64? 客戶端工具

samba-3.6.9-164.el6.x86_64? 服務(wù)端

samba-client-3.6.9-164.el6.x86_64? 客戶端工具

samba4-libs-4.0.0-58.el6.rc4.x86_64 庫文件

samba-common-3.6.9-164.el6.x86_64? 工具包

samba-winbind-3.6.9-164.el6.x86_64 客戶端工具

# rpm -ql samba|grep etc

/etc/logrotate.d/samba? 日志輪轉(zhuǎn)文件

/etc/pam.d/samba 驗(yàn)證機(jī)制

/etc/rc.d/init.d/nmb 啟動腳本

/etc/rc.d/init.d/smb

/etc/samba/smbusers? 用戶別名文件

二進(jìn)制命令

/usr/sbin/nmbd

/usr/sbin/smbd

# rpm -ql samba-client

/usr/bin/smbclient? 客戶端工具

# rpm -ql samba-common

/etc/samba? 主目錄

/etc/samba/smb.conf 主配置文件

/usr/bin/pdbedit 查看smb數(shù)據(jù)庫用戶

/usr/bin/smbpasswd 設(shè)置用戶密碼

/usr/bin/testparm 檢測語法

4、了解主配置文件

# cat /etc/samba/smb.conf |grep -v ^#|grep -v '^;'|grep [a-z]

[global] 全局標(biāo)簽

workgroup = MYGROUP 工作組

server string = Samba Server Version %v? samba服務(wù)器版本描述

# logs split per machine

log file = /var/log/samba/log.%m 日志文件

# max 50KB per log file, then rotate

max log size = 50 日志大小kb

security = user 認(rèn)證模式:user用戶名密碼;share匿名;server

passdb backend = tdbsam smb數(shù)據(jù)庫 /var/lib/samba/private/

# the login script name depends on the machine name

# the login script name depends on the unix user used

# disables profiles support by specifing an empty path

load printers = yes 加載打印機(jī)

cups options = raw 打印機(jī)選項(xiàng)

#obtain list of printers automatically on SystemV

[homes] 局部標(biāo)簽? 共享本地用戶的家目錄

comment = Home Directories? 描述

browseable = no? 隱藏標(biāo)簽

writable = yes 可寫

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no 等于 public = no

writable = no 等于 read only = yes

printable = yes

5、需求:無

測試驗(yàn)證默認(rèn)情況下的共享文件

6、啟動服務(wù),開機(jī)自啟動

7、測試驗(yàn)證

總結(jié):

1、默認(rèn)情況下,服務(wù)端會將系統(tǒng)中的所有本地用戶的家目錄共享出去;并且不允許匿名用戶訪問

2、本地用戶都可以通過用戶名和smab數(shù)據(jù)庫的密碼去訪問當(dāng)前用戶的家目錄

client:10.1.1.2

匿名用戶查看:

# smbclient -L 10.1.1.1

Enter root's password: 不輸入密碼

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

匿名用戶訪問共享資源:

# smbclient //10.1.1.1/stu1

Enter root's password:

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connect failed: NT_STATUS_ACCESS_DENIED

原因:共享的家目錄不允許匿名用戶訪問

本地用戶查看:

將本地用戶加入到smb數(shù)據(jù)庫里

# smbpasswd -a stu1

New SMB password:

Retype new SMB password:

Added user stu1.

# pdbedit -L 查看smb數(shù)據(jù)庫的用戶

stu1:500:

# smbclient -L 10.1.1.1 -U stu1? 查看smb服務(wù)端共享了哪些目錄

本地用戶訪問:

# smbclient //10.1.1.1/stu1 -U stu1

Enter stu1's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> ?

\\172.16.13.86

我的電腦——>\\172.16.13.86

需求1:匿名用戶訪問本地用戶的家目錄

[homes]

comment = Home Directories

browseable = yes

writable = yes

guest ok = yes

chmod o+rx /home/user01

service smb restart

需求2:認(rèn)證模式更改為share

結(jié)果:

匿名用戶可以訪問查看;本地用戶不可以訪問查看

需求3:共享本地目錄/samba/share

vim /etc/samba/smb.conf

[share]

comment = samba share

path? ? = /samba/share

public? = yes

writable = yes

browseable = yes

客戶端掛載使用:

# mount.cifs -o username=stu1,password=stu1 //10.1.1.1/share /u02

自己完成開機(jī)自動掛載和autofs自動掛載

需求4:允許harry用戶可寫,sysadmin組的成員只讀

[share]

comment = samba share

path? ? = /samba/share

browseable = yes

valid users = harry,@sysadmin

write list = harry

[share]

comment = samba share

path? ? = /samba/share

browseable = yes

valid users = harry,@sysadmin

writable = yes

read list = @sysadmin

[share]

comment = samba share

path? ? = /samba/share

browseable = yes

valid users = harry,@sysadmin

write list = harry

read only = yes

控制讀寫訪問:

writable = yes/no

read only = yes/no

write list = tom,@admin

read list = tom,@admin

對象的訪問控制:

valid users = tom,@admin 指定可用用戶

invalid users = tom,@admin 指定不可用用戶

兩個參數(shù)不要同時存在

[share]

comment = samba share

path? ? = /samba/share

browseable = yes

valid users = harry,@sysadmin

網(wǎng)絡(luò)訪問控制:

hosts allow = 150.203. EXCEPT 150.203.6.66

hosts allow = 150.203.15.0/255.255.255.0

hosts allow = *.uplooking.com

hosts deny = 192.168.1.3 vm01.example.com

如果deny和allow沖突,allow優(yōu)先

[share]

comment = samba share

path? ? = /samba/share

browseable = yes

valid users = harry,@sysadmin

#writable = yes

write list = harry

read only = yes

hosts allow = 172.16.13.0/255.255.255.0 EXCEPT 172.16.13.250

基于用戶名密碼的綜合訪問:

需求:

公司:uplooking

1、財(cái)務(wù)部門 /samba/upl_cw? cw01財(cái)務(wù)總監(jiān)有可讀可寫權(quán)限,財(cái)務(wù)部門員工可讀,boss01對其有管理權(quán)限。

2、市場部門 /samba/upl_sc? 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權(quán)限。

3、HR部門? /samba/upl_rs? rs01HR總監(jiān)可讀寫,HR部門員工可以對財(cái)務(wù)部查詢,vip用戶可以查詢

4、休息區(qū)? /samba/upl_pub? 自己管理自己的文件

清空windows緩存:cmd——>net use * /del /y

思路:

1、選擇哪個服務(wù)做文件共享(samba)

2、需要一臺Linux服務(wù)器(rhel/centos)

3、根據(jù)部門創(chuàng)建不同的工作目錄來保存不同部門的文件

4、將目錄發(fā)布出去

5、測試驗(yàn)證

步驟:

node1:samba服務(wù)端 10.1.1.1 172.16.13.44

1、在服務(wù)器上創(chuàng)建相應(yīng)的工作目錄

mkdir /samba/upl_{cw,sc,rs,pub} -p

chmod 700 -R /samba

2、創(chuàng)建相應(yīng)的用戶和組

groupadd uplooking

groupadd cw

groupadd rs

groupadd sc

useradd cw01 -g cw -G uplooking

useradd cw02 -g cw -G uplooking

useradd rs01 -g rs -G uplooking

useradd rs02 -g rs -G uplooking

useradd sc01 -g sc -G uplooking

useradd sc02 -g sc -G uplooking

useradd boss01 -g uplooking -G cw

useradd boss02 -g uplooking -G sc

useradd vip

3、軟件三步曲(查看軟件|安裝|查看軟件列表)

根據(jù)需求將不同部門的共享目錄發(fā)布出去

vim /etc/samba/smb.conf

[cw_share]

comment= cw01財(cái)務(wù)總監(jiān)有可讀可寫權(quán)限,財(cái)務(wù)部門員工可讀,boss01對其有管理權(quán)限

path = /samba/upl_cw

valid users = @cw,boss01,@rs

write list = cw01,boss01

[sc_share]

comment= 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權(quán)限

path = /samba/upl_sc

valid users = @uplooking

read only = yes

write list = @sc,boss02

[hr_share]

comment = rs01HR總監(jiān)可讀寫,HR部門員工可以對財(cái)務(wù)部查詢,vip用戶可以讀寫

path = /samba/upl_rs

valid users = @rs,vip

write list = rs01,vip

[pub]

comment = 自己管理自己的文件

path = /samba/upl_pub

public = yes

writable = yes

hosts allow = 172.16.13.0/24

4、將用戶加入到samba數(shù)據(jù)庫里

1077? smbpasswd -a cw01

1078? smbpasswd -a cw02

1079? smbpasswd -a rs01

1080? smbpasswd -a rs02

1081? smbpasswd -a sc01

1082? smbpasswd -a sc02

1083? smbpasswd -a boss01

1084? smbpasswd -a boss02

1085? smbpasswd -a vip

1086? pdbedit -L

5、重啟服務(wù)測試驗(yàn)證

# service smb restart

Shutting down SMB services:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

Starting SMB services:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? OK? ]

linux:

windows:

建議清空環(huán)境 再次操作<恢復(fù)快照>

綜合練習(xí)

配置samba要求如下

1)工作組名為RHCE

2)認(rèn)證類型為user

3) 使用lvm? 建立 /dev/mapper/UPL-smb 10G? 固定掛載到 /upl

4)公司uplooking,有3個部門,rs、sc、cw部門,每個部門需要共享文件給不同人,要求如下:

1.財(cái)務(wù)部門(/upl/cw),只有財(cái)務(wù)總監(jiān)(cw01)可以修改文件,財(cái)務(wù)成員(cw02)審核文件,boss01 匯總公司財(cái)務(wù)

2.人事部門(/upl/rs),人事部門可以修改文件,公司所有員工都可以查看文件,boss02 也可以修改文件

3.市場部門(/upl/sc),只有市場總監(jiān)可以修改文件,市場成員可以查詢,boss03 也可以修改文件

4.vip? 可以訪問rs部門,sc部門

6.在公共目錄(/upl/pub)自己文件自己管理

5) 拒絕用戶在192.168.1.0/24除了192.168.1.2訪問該共享目錄

6) 定義vip的別名為趙二

7) smb密碼自行定義

別名定義:

# cat /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

主配置文件/etc/samba/smb.conf

[global]

。。。

username map = /etc/samba/smbusers

作業(yè)2:自動掛載家目錄

vm1:stu1 stu2 stu3...? /home/$username

vm2:/rhome/stu1 /rhome/stu2 ...

node1:stu1 ? ? ? stu2 stu3

node2:/rhome/stu1 /rhome/stu2 /rhome/stu3

每個用戶只能在自己家目錄新增修改文件

答:

vm1:

mkdir /rhome/stu{1..3} -p

cp -a /etc/skel/. /rhome/stu1

cp -a /etc/skel/. /rhome/stu2

cp -a /etc/skel/. /rhome/stu3

vim /etc/exports

/rhome/stu1? 10.1.0.28(rw,anonuid=501,anongid=501)

/rhome/stu2? 10.1.0.28(rw,anonuid=502,anongid=502)

/rhome/stu3? 10.1.0.28(rw,anonuid=503,anongid=503)

chmod 750 /rhome/*

setfacl -m u:501:rwx /rhome/stu1

setfacl -m u:502:rwx /rhome/stu2

setfacl -m u:503:rwx /rhome/stu3

service nfs restart

vm2:

# useradd -u 501 -M -d /nfs/stu1 stu1

# useradd -u 502 -M -d /nfs/stu2 stu2

# useradd -u 503 -M -d /nfs/stu3 stu3

echo 123|passwd? --stdin stu1

echo 123|passwd? --stdin stu2

echo 123|passwd? --stdin stu3

# id stu1

uid=501(stu1) gid=501(stu1) groups=501(stu1)

mkdir nfs

vim /etc/auto.master

/nfs /etc/auto.test

vim /etc/auto.test

* -nfs,rw? 10.1.0.27:/rhome/&

service autofs restart

stu1驗(yàn)證:

[root@vm28 nfs]# su - stu1

[stu1@vm28 ~]$ pwd

/nfs/stu1

[stu1@vm28 ~]$ touch /nfs/stu1/file1? ? ? ? ? ? --在stu1建立成功

[stu1@vm28 ~]$ ls /nfs/stu1/file1

/nfs/stu1/file1

[stu1@vm28 ~]$ touch /nfs/stu2/file2? ? ? ? ? ? --在stu2建立失敗

touch: cannot touch `/nfs/stu2/file2': Permission denied

stu2驗(yàn)證:

[root@vm28 nfs]# su - stu2

[stu2@vm28 ~]$ pwd

/nfs/stu2

[stu2@vm28 ~]$ touch /nfs/stu2/file3? ? ? ? ? --在stu2建立成功

[stu2@vm28 ~]$ ls /nfs/stu2/file3

/nfs/stu2/file3

[stu2@vm28 ~]$ touch /nfs/stu1/file4? ? ? ? ? --在stu1建立失敗

touch: cannot touch `/nfs/stu1/file4': Permission denied

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容