1. 程式人生 > >配置SMB共享 配置NFS共享

配置SMB共享 配置NFS共享

fault multi rpc $path 火墻 獲取 cancel all vsftp

配置SMB共享, 跨平臺的共享可以實現Linux與Linux之間,也可以實現Linux與windows之間

? Samba 軟件項目
– 用途:為客戶機提供共享使用的文件夾

? 所需軟件包:samba
? 系統服務:smb
? 默認samba必須有用戶驗證

– 刪除用戶:pdbedit -x 用戶名

服務端虛擬機Server0

1.安裝samba軟件
[root@server0 ~]# yum -y install samba

2.建立Samba共享使用的帳號
[root@server0 ~]# useradd harry
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd chihiro

[root@server0 ~]# pdbedit -a chihiro #將本地用戶添加為Samba共享帳號
[root@server0 ~]# pdbedit -a harry #將本地用戶添加為Samba共享帳號
[root@server0 ~]# pdbedit -a kenji #將本地用戶添加為Samba共享帳號

[root@server0 ~]# pdbedit -L #顯示所有Samba共享帳號
harry:1001:
chihiro:1003:
kenji:1002:
[root@server0 ~]#

  1. 修改配置文件
    [root@server0 ~]# vim /etc/samba/smb.conf #vim命令模式 /workgroup

    #vim命令模式 按G(大寫)到全文的最後
    ......

    workgroup = STAFF       #設置工作組     

    ......
    [common] #共享名
    path = /common #共享的實際路徑

[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/123.txt
[root@server0 ~]# ls /common/
123.txt

4.重起smb服務
[root@server0 ~]# systemctl restart smb #重起smb服務

[root@server0 ~]# systemctl enable smb #設置smb服務開機自啟動

  1. SELinux 布爾值 (開與關 on 與 off) 功能的開關
    – 需要加 -P 選項才能實現永久設置
    #查看SELinux影響所有服務的功能開關
    [root@server0 ~]# getsebool -a | grep samba
    #修改SELinux影響服務的功能開關
    [root@server0 ~]# setsebool samba_export_all_ro on #修改SELinux功能
    [root@server0 ~]# getsebool -a | grep samba

客戶端虛擬機Desktop0:了解內容
1.安裝客戶端軟件samba-client
2.利用smbclient進行訪問
? 列出共享資源
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root‘s password: #直接回車
? 連接到共享文件夾
– smbclient -U 用戶名 //服務器地址/共享名
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry‘s password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \>

客戶端訪問服務端資源影響方面

  1. 防火墻策略

  2. 服務本身的訪問控制

  3. 服務端SELinux策略限制

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

############################################################
方便科學的訪問利用mount掛載
-o:添加選項

客戶端虛擬機Desktop0:

1.安裝支持samba掛載的軟件,文件系統cifs

yum -y install cifs-utils

2.掛載訪問

mkdir /mnt/nsd

mount -o user=harry,pass=123 //172.25.0.11/common /mnt/nsd/

df -h

ls /mnt/nsd

##############################################################
/etc/fstab完成samba開機自動掛載

_netdev:網絡設備(先啟動網絡服務配置好ip地址,然後再掛載該設備)

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

//172.25.0.11/common /mnt/nsd cifs defaults,user=harry,pass=123,_netdev 0 0

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

[root@desktop0 ~]# df -h

[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
##############################################################
讀寫Samba共享

服務端虛擬機server0

1.修改配置文件/etc/samba/smb.conf
[root@server0 ~]# vim /etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro #允許chihiro可以寫

2.創建共享目錄結構
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo haha > /devops/test.txt
[root@server0 ~]# ls /devops/
3.重起smb服務
[root@server0 ~]# systemctl restart smb

客戶端Desktop0:掛載訪問
[root@desktop0 ~]# mkdir /mnt/stu
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/stu cifs defaults,user=chihiro,pass=123,_netdev 0 0

[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h

#################################################################
讀寫Samba共享補充

服務端虛擬機Server0:
1.判斷客戶端訪問服務端時,身份
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops
[root@server0 ~]# getfacl /devops

2.設置SELinux策略
[root@server0 ~]# getsebool -a | grep samba

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

客戶端虛擬機Desktop0:
[root@desktop0 ~]# df -h
[root@desktop0 ~]# touch /mnt/stu/1.txt
[root@desktop0 ~]# ls /mnt/stu

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

了解:多用戶的samba訪問,專不同權限的普通用戶設計

在 desktop0 上訪問 server0 提供的共享 devops
1)將此共享永久掛載在 /mnt/dev 目錄
2)掛載時以用戶 kenji 作為認證
3)必要的時候,任何普通用戶都可以通過用戶 chihiro 來臨時獲取寫的權限

[root@desktop0 /]# umount /mnt/stu/
[root@desktop0 /]# vim /etc/fstab

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

[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
[root@desktop0 /]# su - natasha
[natasha@desktop0 stu]$ cd /mnt/stu
[natasha@desktop0 stu]$ cifscreds add -u chihiro 172.25.0.11
Password:
[natasha@desktop0 stu]$ ls

##################################################################
配置NFS共享 Linux與Linux之間的共享

NFS共享概述
? Network File System,網絡文件系統
– 用途:為客戶機提供共享使用的文件夾
– 協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

? 所需軟件包:nfs-utils
? 系統服務:nfs-server

##############################################################
搭建基本NFS服務

服務端虛擬機Server0:
1.安裝軟件nfs-utils
[root@server0 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64

2.修改配置文件/etc/exports
[root@server0 ~]# mkdir /public
[root@server0 ~]# echo 123 > /public/abc.txt
[root@server0 ~]# ls /public/
[root@server0 ~]# vim /etc/exports
/public *(ro) #共享路徑 客戶端地址(權限)

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

虛擬機Desktop0:
[root@desktop0 /]# mkdir /mnt/nfs
[root@desktop0 /]# vim /etc/fstab
172.25.0.11:/public /mnt/nfs nfs defaults,_netdev 0 0

[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h

##################################################################
環境變量
USER:存放登陸的用戶身份

PATH:儲存命令的搜尋路徑
執行命令時,都會區域PATH變量值中去尋找,該命令的執行程序,
如果能找到就執行,不能找到報告命令沒有找到

[root@server0 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@server0 ~]# vim /root/hello
#!/bin/bash
echo hello
[root@server0 ~]# chmod +x /root/hello

[root@server0 ~]# cp /root/hello /usr/bin/
[root@server0 ~]# ls /usr/bin/hello

[root@server0 ~]# hello
##############################################################
劃分分區 GPT

GPT : 分區模式 128個主分區 最大18EB容量

[root@server0 ~]# parted /dev/vdb
(parted) mktable gpt #設置分區模式
(parted) print #顯示分區表內容
(parted) mkpart #劃分新的分區指令
分區名稱? []? haha #指定分區名稱
文件系統類型? [ext2]? ext4 #指定文件系統類型,不起實際作用
起始點? 0
結束點? 1G
警告: The resulting partition is not properly aligned
for best performance.
忽略/Ignore/放棄/Cancel? Ignore #忽略GPT分區模式,占有的磁盤空間

(parted) print
(parted) unit GB #使用GB作為單位
(parted) mkpart
分區名稱? []? haha
文件系統類型? [ext2]? ext4
起始點? 1G
結束點? 2G
(parted) quit
[root@server0 ~]# ls /dev/vdb[1-2]

##############################################################
FTP服務
服務端虛擬機Server0:
默認共享路徑:/var/ftp
默認訪問用戶身份:ftp

FTP客戶端訪問FTP服務端時,登陸的位置為該用戶,在服務器上的家目錄

1.安裝vsftpd軟件
[root@server0 ~]# yum -y install vsftpd

2.啟動vsftpd服務
[root@server0 ~]# systemctl restart vsftpd
[root@server0 ~]# systemctl enable vsftpd

客戶端Desktop0:

1.安裝客戶端軟件lftp
[root@desktop0 ~]# yum -y install lftp

[root@desktop0 ~]# lftp 172.25.0.11
lftp 172.25.0.11:~> ls
#########################################################
wc命令 統計文本文件的行數

請計算Linux系統一共有多少個用戶?

[root@server0 /]# wc -l /etc/passwd
41 /etc/passwd

請計算Linux系統/etc/有多少個tab結尾的文件?(不包含子目錄)
[root@server0 /]# ls /etc/*tab | wc -l

請計算Linux系統/etc/有多少個tab結尾的文件?(包含子目錄)
[root@server0 /]# find /etc/ -name "*tab" | wc -l

請計算Linux系統/etc/有多少個.conf結尾的文件?(包含子目錄)

[root@server0 /]# find /etc/ -name "*.conf" | wc -l

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

配置SMB共享 配置NFS共享