1. 程式人生 > >LINUX系統工程師技術(Engineer)-------第四天

LINUX系統工程師技術(Engineer)-------第四天

samba共享服務 nfs共享


兩臺虛擬機,均要檢測


1. Yum是否可用

2. ?防火墻默認區域修改為trusted

3. IP地址是否配置



####################################################


? samba 文件共享(共享文件夾)


? Samba 軟件項目

– 用途:為客戶機提供共享使用的文件夾

– 協議:SMB(TCP 139)、CIFS(TCP 445)


? 所需軟件包:samba

? 系統服務:smb




一、搭建基本samba服務

1.安裝samba軟件包

2.創建samba的共享帳號。與系統相同用戶名,不同密碼


[root@server0 ~]# useradd -s /sbin/nologin harry

[root@server0 ~]# useradd -s /sbin/nologin kenji

[root@server0 ~]# useradd -s /sbin/nologin chihiro


[root@server0 ~]# pdbedit -a harry ? ?#添加samba帳號,設置密碼

[root@server0 ~]# pdbedit -a kenji ? ?#添加samba帳號,設置密碼

[root@server0 ~]# pdbedit -a chihiro ?#添加samba帳號,設置密碼


[root@server0 ~]# pdbedit -L ? ? ? ?#列出所有有效的samba帳號


3.修改服務配置文件 /etc/samba/smb.conf

?

? ?補充:vim ? 末行模式 ? ?set ?nu ?添加行號


? ? 89行 ? ? ? ? ?workgroup = STAFF

? ? 321行 ? ? [common] ? ? ? ? ? ? ? ? ? ? ? ? ?#共享名

? ? 322行 ? ? ? ?path = /common ? ? ?#共享實際路徑


[root@server0 ~]# mkdir /common

[root@server0 ~]# echo haha > /common/abc.txt


4. 重起smb服務,設置為開機自起


虛擬機Desktop0

? 所需軟件包:samba-client


[root@desktop0 ~]# smbclient -L //172.25.0.11

Enter root‘s password:?


[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common

Enter harry‘s password:?

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls

NT_STATUS_ACCESS_DENIED listing \*


思路:客戶端訪問服務端資源

? ? 1.防火墻是否限制

? ? 2.服務本身的訪問控制

? 3.SELinux 是否限制?


? SELinux: ?布爾值 ?(功能的開關)--------列如on和off,no和yes


? getsebool 查看 SELinux 開關

[root@server0 ~]# getsebool -a | grep samba

samba_export_all_ro --> off

samba_export_all_rw --> off


? setsebool 控制 SELinux 開關

– 需要加 -P 選項才能實現永久設置

[root@server0 ~]# setsebool ?samba_export_all_ro=on

[root@server0 ~]# getsebool -a | grep samba


虛擬機Desktop0

[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common

Enter harry‘s password:?

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls


? 所需軟件包:cifs-utils-----客戶端


? _netdev: 開啟網絡服務後在改在該設備


1.安裝軟件包cifs-utils

2.修改/etc/fstab


//172.25.0.11/common /mnt/samba cifs user=harry,pass=123,_netdev 0 ?0

#mkdir /mnt/samba cifs

3. mount -a ?驗證

? ?df ? -h




########################################################

?Samba讀寫的共享


1.修改配置文件/etc/samba/smb.conf


?[devops]

? ?path = /devops

? ?write list = chihiro


[root@server0 /]# mkdir /devops

[root@server0 /]# echo hahaxixi > /devops/123.tx

2.重起smb服務

3.客戶端驗證:

[root@desktop0 ~]# smbclient ?-L ? 172.25.0.11

Enter root‘s password:?


4.客戶端掛載驗證

[root@desktop0 ~]# mkdir /mnt/dev

[root@desktop0 ~]# vim /etc/fstab?

//172.25.0.11/devops /mnt/dev cifs user=chihiro,pass=123,_netdev 0 ?0

[root@desktop0 ~]# mount -a

[root@desktop0 ~]# df -h


##################################################

實現讀寫Samba共享的其他操作


思路:客戶端訪問服務端資源

? ? 1.防火墻是否限制

? ? 2.服務本身的訪問控制

? 3.SELinux 是否限制?

? ? 4. 服務端目錄本地權限


一、修改服務端SELinux布爾值,開放讀寫

[root@server0 /]# getsebool -a | grep samba

[root@server0 /]# setsebool samba_export_all_rw=on

[root@server0 /]# getsebool -a | grep samba


二、目錄本地權限

[root@server0 /]# ls -ld /devops/

[root@server0 /]# setfacl -m u:chihiro:rwx /devops/-----指針對一個人而用,chmod是針對所有人可用

[root@server0 /]# getfacl ? /devops/


三、客戶端驗證

[root@desktop0 ~]# touch /mnt/dev/test.txt


########################################################

?multiuser多用戶訪問(了解)


– multiuser,提供對客戶端多個用戶身份的區分支持

– sec=ntlmssp,提供NT局域網管理安全支持


客戶端完成:

[root@desktop0 /]# vim ?/etc/fstab

//172.25.0.11/devops /mnt/dev cifs user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0 ?0


[root@desktop0 /]# umount /mnt/dev/

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -h


[root@desktop0 /]# su - student

[student@desktop0 dev]$ cd /mnt/dev

[student@desktop0 dev]$ cifscreds add -u chihiro 172.25.0.11

Password:?

[student@desktop0 dev]$ ls

[student@desktop0 dev]$ touch abc.txt

[student@desktop0 dev]$ exit


#########################################################

?配置NFS共享-----------網絡文件系統用於linux系統之間


? Network File System,網絡文件系統

– 用途:為客戶機提供共享使用的文件夾

– 協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)


? 所需軟件包: nfs-utils

? 系統服務: nfs-server


搭建基本的只讀NFS服務

1.在虛擬機server0上,檢測nfs-utils是否安裝

[root@server0 /]# rpm -q nfs-utils


2.修改配置文件/etc/exports

[root@server0 /]# mkdir /public

[root@server0 /]# echo hehelele > /public/nsd.txt

[root@server0 /]# vim /etc/exports


/public ? 172.25.0.0/24(ro)

?

3.重起nfs-server服務,設置開機自起

[root@server0 /]# systemctl restart ?nfs-server

[root@server0 /]# systemctl enable ?nfs-server


4.客戶端 ?訪問nfs-server服務

[root@desktop0 /]# mkdir /mnt/nfs

[root@desktop0 /]# showmount -e 172.25.0.11-------查看有哪些共享服務

[root@desktop0 /]# vim /etc/fstab?


?172.25.0.11:/public /mnt/nfs ?nfs ?_netdev 0 0


[root@desktop0 /]# mount -a

[root@desktop0 /]# ls ?/mnt/nfs

#######################################################


? 讀寫nfs-server服務


一.客戶端root用戶的讀寫

服務端:

[root@server0 /]# mkdir /abc

[root@server0 /]# echo 123 > /abc/a.txt

[root@server0 /]# vim /etc/exports

? /abc ? 172.25.0.0/24(rw)


[root@server0 /]# systemctl restart nfs-server


客戶端:

[root@desktop0 /]# vim /etc/fstab?

172.25.0.11:/abc /mnt/nsd ?nfs ?_netdev 0 0


[root@desktop0 /]# mkdir /mnt/nsd

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -h


服務端:

[root@server0 /]# vim /etc/exports

/abc ? 172.25.0.0/24(rw,no_root_squash) ? ?#不壓榨客戶端root權限


[root@server0 /]# systemctl restart nfs-server


客戶端:


[root@desktop0 /]# systemctl ?restart nfs ?#重起客戶端服務

[root@desktop0 /]# touch /mnt/nsd/5.txt



二、普通用戶

??

? ? ?客戶端普通用戶訪問服務端nfs-server服務,

? ? ?服務端會以客戶端相同UID身份的本地用戶進行權限判定


? ? LDAP : ?網絡用戶,提供用戶名

? ? kerberos : 密碼驗證,實現“一次密碼認證,多次免密登錄”的通行證機制


服務端:

[root@server0 /]# lab ?nfskrb5 ?setup

[root@server0 /]# grep ldapuser0 /etc/passwd

[root@server0 /]# id ldapuser0


1.部署kerberos加密的密鑰文件

wget http://172.25.254.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab

[root@server0 /]# ls /etc/krb5.keytab?


2.修改配置文件

[root@server0 /]# vim /etc/exports

?/abc ? 172.25.0.0/24(rw,no_root_squash,sec=krb5p)------{sec=krb5p}表示共享密碼的驗證去找kerberos


3.重起nfs-server與nfs-secure-server

# systemctl restart nfs-server ?nfs-secure-server




客戶端:

[root@desktop0 /]# lab ?nfskrb5 ?setup

[root@desktop0 /]# grep ldapuser0 /etc/passwd

[root@desktop0 /]# id ldapuser0


1.部署kerberos加密的密鑰文件

wget http://172.25.254.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab


[root@desktop0 /]# ls /etc/krb5.keytab?


2.修改/etc/fstab

172.25.0.11:/abc /mnt/nsd ?nfs ?_netdev,sec=krb5p 0 0


3.重起nfs與nfs-secure服務

[root@desktop0 /]# systemctl restart nfs ?nfs-secure


4.驗證掛載

[root@desktop0 /]# umount /mnt/nsd

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -ah



































? ? ? ? ?









?


























LINUX系統工程師技術(Engineer)-------第四天