CIFS
1.CIFS系統:Internet檔案共享系統,也稱伺服器信;適用於MicrosoftWindows伺服器和客戶端的標準檔案和印表機的共享系統息塊(SMB)
2.Samba服務:用於將linux檔案系統作為CIFS/SMB網路檔案進行共享,並將linux印表機作為CIFS/SMB印表機進行共享
二、Smb服務
1.安裝smb服務
samba-common
samba-client
2.開啟smb,列出共享檔案系統資訊
[root@localhost ~]# systemctl start smb
[root@localhost ~]# smbclient -L //172.25.254.108
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
3.設定預設域名 [global]
89 workgroup = WESTOS
4.設定黑白名單 [global]
96 ; hosts allow = 172.25.254.8 172.25.254.108
97 ; hosts deny = 172.25.254.8 172.25.254.108
5.設定使用者登陸 ##注意:必須是本地使用者
[root@localhost ~]# useradd tom
[root@localhost ~]# useradd jerry
[root@localhost ~]# smbpasswd -a tom ##新增tom使用者
Retype new SMB password:
Added user tom.
[root@localhost ~]# smbpasswd -a jerry ##新增jerry使用者
Retype new SMB password:
Added user jerry.
[root@localhost ~]# pdbedit -L ##列出smb使用者
tom:1001:
jerry:1002:
[root@localhost ~]# pdbedit -x jerry ##刪除jerry使用者
tom:1001:
6.使用使用者登陸
[root@localhost ~]# smbclient -L //172.25.254.108 -U tom
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
tom Disk Home Directories
三、Smb的Selinx保護
當Selinux=Disable時
1.進入使用者家目錄編輯
[root@localhost ~]# smbclient //172.25.254.108/tom -U tom
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls ##列出遠端檔案
.. D 0 Thu May 3 21:46:34 2018
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.mozilla DH 0 Thu Jul 10 18:29:32 2014
.config DH 0 Thu Jul 10 19:06:52 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.bash_logout H 18 Wed Jan 29 07:45:18 2014
smb: \> !ls ##列出本地主機檔案
anaconda-ks.cfg Documents Music Public Videos
Desktop Downloads Pictures Templates
smb: \> put anaconda-ks.cfg ##上傳
smb: \> rm anaconda-ks.cfg ##刪除
smb: \> ? ##列出smb可以使用的命令
blocksize cancel case_sensitive cd chmod
chown close del dir du
echo exit get getfacl geteas
2.掛載
[root@localhost ~]# mount -o username=tom,password=123 //172.25.254.108/tom /mnt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3186240 7287660 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12828 472104 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2361 451818 1% /home
/dev/sr0 3654720 3654720 0 100% /run/media/root/RHEL-7.0 Server.x86_64
//172.25.254.108/tom 483670 2361 451818 1% /mnt
3.設定開機自動掛載
[root@localhost ~]# vim /etc/fstab
//172.25.254.108/tom /mnt cifs defaults,username=tom,password=123 0 0
當Selinux=Enforing時 ##注意:smb處於開啟狀態
use_samba_home_dirs ##允許掛載遠端CIFS檔案共享並將其用作本地主目錄
samba_share_t ##smb共享目錄的selinux安全上下文
samba_export_all_ro ##共享目錄只讀
samba_export_all_rw ##允許共享目錄讀寫
1.進入使用者家目錄編輯
[root@localhost ~]# smbclient //172.25.254.108/tom -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
2.修改sebool值,進入使用者家目錄編輯
[root@localhost ~]# setsebool -P samba_enable_home_dirs on
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 3 21:49:51 2018
.. D 0 Thu May 3 21:46:34 2018
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.mozilla DH 0 Thu Jul 10 18:29:32 2014
.config DH 0 Thu Jul 10 19:06:52 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.bash_logout H 18 Wed Jan 29 07:45:18 2014
60458 blocks of size 8192. 56476 blocks available
3.共享目錄
使用者建立目錄:
修改配置檔案,共享tets目錄
[root@localhost ~]# mkdir /test
[root@localhost ~]# vim /etc/samba/smb.conf
comment = test directory
path =/test
重啟smb,可以看到test目錄共享資訊
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient -L //172.25.254.108/
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
test Disk test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
但是,tom使用者登陸無法編輯
[root@localhost ~]# smbclient //172.25.254.108/test -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
修改test目錄的安全上下文,重啟後再次登陸編輯
[root@localhost ~]# semanage fcontext -a -t samba_share_t '/test(/.*)?'
restorecon reset /test context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient //172.25.254.108/test -U tom
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 3 22:48:51 2018
.. D 0 Thu May 3 22:48:51 2018
系統目錄:
修改配置檔案,共享mnt系統目錄
[root@localhost ~]# vim /etc/samba/smb.conf
[mnt]
comment = mnt test directory
path =/mnt
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient -L //172.25.254.108/
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
test Disk test directory
mnt Disk mnt test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
[root@localhost ~]# setsebool samba_export_all_rw 1
[root@localhost ~]# smbclient //172.25.254.108/mnt -U tom
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 11 20:23:52 2017
.. D 0 Thu May 3 22:48:51 2018
四、多使用者掛載
1.指定使用者具備讀寫許可權
[root@localhost ~]# vim /etc/samba/smb.conf
[test]
comment = test directory
path =/test
write list =tom ##只有tom使用者具備許可權
##writable = yes ##所有使用者具備許可權
##write list =@tom ##只有tom組的使用者具備許可權
2.設定共享目錄的讀寫許可權,重啟後測試
[root@localhost ~]# chmod 777 /test/
[root@localhost ~]# systemctl restart smb.service
只有tom使用者具備許可權
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=tom,password=123
[root@localhost ~]# rm -rf /mnt/file1
掛載jerry使用者,不具備許可權
[root@localhost ~]# umount /mnt
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=jerry,password=123
[root@localhost ~]# touch /mnt/file2
touch: cannot touch ‘/mnt/file2’: Permission denied
3.使用者相關許可權設定
security = user
passdb backend = tdbsam
map to guest = bad user ##匿名使用者對映為guest
[test]
comment = test directory
path =/test
writeanle = yes
browseable = no ##不顯示test共享目錄
guest ok = yes ##允許匿名使用者登陸
admin users =student ##studet使用者編輯時以root使用者身份
匿名使用者登陸
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=guest
//172.25.254.108/test 10473900 3186684 7287216 31% /mnt
//172.25.254.108/test on /mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=guest,domain=LOCALHOST,uid=0,noforceuid,gid=0,noforcegid,addr=172.25.254.108,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1)
不顯示test共享目錄,但是不影響使用
Sharename Type Comment
--------- ---- -------
mnt Disk mnt test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=student,password=123
[root@localhost ~]# ll /mnt
total 0
-rw-r--r--. 1 root student 0 May 4 00:31 fire00
4.實現多使用者掛載
安裝 cifs-utils 軟體
配置使用者檔案 vim /root/samba
檢視幫助 man mount.cifs
多使用者掛載 mount -o credentials=/root/samba,sec=ntlmssp,multiuer //172.25.254.108/test /mnt
此時root使用者
[root@foundation8 ~]# cd /mnt/
[root@foundation8 mnt]# ls
file file123 filetest
[root@foundation8 mnt]# rm -fr file123
rm: cannot remove ‘file123’: Permission denied
[root@foundation8 mnt]# touch test
touch: cannot touch ‘test’: Permission denied
而普通使用者
[kiosk@foundation8 yum.repos.d]$ cd /mnt
[kiosk@foundation8 mnt]$ ls
ls: reading directory .: Permission denied
普通使用者認證 ##跟/test許可權有關
[kiosk@foundation8 mnt]$ cifscreds add -u tom 172.25.254.108
Password:
[kiosk@foundation8 mnt]$ ls
file file123 filetest
[kiosk@foundation8 mnt]$ rm -fr file
rm: cannot remove ‘file’: Permission denied
一、CIFS
1.CIFS系統:Internet檔案共享系統,也稱伺服器信;適用於MicrosoftWindows伺服器和客戶端的標準檔案和印表機的共享系統息塊(SMB)
2.Samba服務:用於將linux檔案系統作為CIFS/SMB網路檔案進行共享,並將linux印表機作為CIFS/SMB印表機進行共享
二、Smb服務
1.安裝smb服務
samba ##服務端
samba-common
samba-client
2.開啟smb,列出共享檔案系統資訊
[root@localhost ~]# systemctl start smb
[root@localhost ~]# smbclient -L //172.25.254.108
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
3.設定預設域名 [global]
89 workgroup = WESTOS
90 server string = Samba Server Version %v
4.設定黑白名單 [global]
96 ; hosts allow = 172.25.254.8 172.25.254.108
97 ; hosts deny = 172.25.254.8 172.25.254.108
5.設定使用者登陸 ##注意:必須是本地使用者
[root@localhost ~]# useradd tom
[root@localhost ~]# useradd jerry
[root@localhost ~]# smbpasswd -a tom ##新增tom使用者
New SMB password:
Retype new SMB password:
Added user tom.
[root@localhost ~]# smbpasswd -a jerry ##新增jerry使用者
New SMB password:
Retype new SMB password:
Added user jerry.
[root@localhost ~]# pdbedit -L ##列出smb使用者
tom:1001:
jerry:1002:
[root@localhost ~]# pdbedit -x jerry ##刪除jerry使用者
[root@localhost ~]# pdbedit -L
tom:1001:
6.使用使用者登陸
[root@localhost ~]# smbclient -L //172.25.254.108 -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
tom Disk Home Directories
三、Smb的Selinx保護
當Selinux=Disable時
1.進入使用者家目錄編輯
[root@localhost ~]# smbclient //172.25.254.108/tom -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls ##列出遠端檔案
. D 0 Thu May 3 21:46:28 2018
.. D 0 Thu May 3 21:46:34 2018
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.mozilla DH 0 Thu Jul 10 18:29:32 2014
.config DH 0 Thu Jul 10 19:06:52 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.bash_logout H 18 Wed Jan 29 07:45:18 2014
smb: \> !ls ##列出本地主機檔案
anaconda-ks.cfg Documents Music Public Videos
Desktop Downloads Pictures Templates
smb: \> put anaconda-ks.cfg ##上傳
putting file anaconda-ks.cfg as \anaconda-ks.cfg (8416.2 kb/s) (average 8417.0 kb/s)
smb: \> rm anaconda-ks.cfg ##刪除
smb: \> ? ##列出smb可以使用的命令
? allinfo altname archive backup
blocksize cancel case_sensitive cd chmod
chown close del dir du
echo exit get getfacl geteas
2.掛載
[root@localhost ~]# mount -o username=tom,password=123 //172.25.254.108/tom /mnt
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3186240 7287660 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12828 472104 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2361 451818 1% /home
/dev/sr0 3654720 3654720 0 100% /run/media/root/RHEL-7.0 Server.x86_64
//172.25.254.108/tom 483670 2361 451818 1% /mnt
3.設定開機自動掛載
[root@localhost ~]# vim /etc/fstab
//172.25.254.108/tom /mnt cifs defaults,username=tom,password=123 0 0
當Selinux=Enforing時 ##注意:smb處於開啟狀態
samba_enable_home_dirs ##允許本地主目錄作為CIFS檔案共享
use_samba_home_dirs ##允許掛載遠端CIFS檔案共享並將其用作本地主目錄
samba_share_t ##smb共享目錄的selinux安全上下文
samba_export_all_ro ##共享目錄只讀
samba_export_all_rw ##允許共享目錄讀寫
1.進入使用者家目錄編輯
[root@localhost ~]# smbclient //172.25.254.108/tom -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
2.修改sebool值,進入使用者家目錄編輯
[root@localhost ~]# setsebool -P samba_enable_home_dirs on
[root@localhost ~]# smbclient //172.25.254.108/tom -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 3 21:49:51 2018
.. D 0 Thu May 3 21:46:34 2018
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.mozilla DH 0 Thu Jul 10 18:29:32 2014
.config DH 0 Thu Jul 10 19:06:52 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.bash_logout H 18 Wed Jan 29 07:45:18 2014
60458 blocks of size 8192. 56476 blocks available
3.共享目錄
使用者建立目錄:
修改配置檔案,共享tets目錄
[root@localhost ~]# mkdir /test
[root@localhost ~]# vim /etc/samba/smb.conf
[test]
comment = test directory
path =/test
重啟smb,可以看到test目錄共享資訊
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient -L //172.25.254.108/
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
test Disk test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
但是,tom使用者登陸無法編輯
[root@localhost ~]# smbclient //172.25.254.108/test -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
修改test目錄的安全上下文,重啟後再次登陸編輯
[root@localhost ~]# semanage fcontext -a -t samba_share_t '/test(/.*)?'
[root@localhost ~]# restorecon -RvvF /test/
restorecon reset /test context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient //172.25.254.108/test -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 3 22:48:51 2018
.. D 0 Thu May 3 22:48:51 2018
系統目錄:
修改配置檔案,共享mnt系統目錄
[root@localhost ~]# vim /etc/samba/smb.conf
[mnt]
comment = mnt test directory
path =/mnt
重啟後檢視共享目錄資訊
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# smbclient -L //172.25.254.108/
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
test Disk test directory
mnt Disk mnt test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
設定samba的sebool值,開啟所有共享目錄的讀寫許可權
[root@localhost ~]# setsebool samba_export_all_rw 1
[root@localhost ~]# smbclient //172.25.254.108/mnt -U tom
Enter tom's password:
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu May 11 20:23:52 2017
.. D 0 Thu May 3 22:48:51 2018
四、多使用者掛載
1.指定使用者具備讀寫許可權
[root@localhost ~]# vim /etc/samba/smb.conf
[test]
comment = test directory
path =/test
write list =tom ##只有tom使用者具備許可權
##writable = yes ##所有使用者具備許可權
##write list =@tom ##只有tom組的使用者具備許可權
2.設定共享目錄的讀寫許可權,重啟後測試
[root@localhost ~]# chmod 777 /test/
只有tom使用者具備許可權 注意 selinux的許可權
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=tom,password=123
[root@localhost ~]# touch /mnt/file1
[root@localhost ~]# rm -rf /mnt/file1
掛載jerry使用者,不具備許可權
[root@localhost ~]# umount /mnt
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=jerry,password=123
[root@localhost ~]# touch /mnt/file2
touch: cannot touch ‘/mnt/file2’: Permission denied
3.使用者相關許可權設定
security = user
passdb backend = tdbsam
map to guest = bad user ##匿名使用者對映為guest
[test]
comment = test directory
path =/test
writeanle = yes
browseable = no ##不顯示test共享目錄
guest ok = yes ##允許匿名使用者登陸
admin users =student ##studet使用者編輯時以root使用者身份
匿名使用者登陸
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=guest
//172.25.254.108/test 10473900 3186684 7287216 31% /mnt
//172.25.254.108/test on /mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=guest,domain=LOCALHOST,uid=0,noforceuid,gid=0,noforcegid,addr=172.25.254.108,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1)
不顯示test共享目錄,但是不影響使用
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
mnt Disk mnt test directory
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
以student身份掛載,建立檔案
[root@localhost ~]# mount //172.25.254.108/test /mnt -o username=student,password=123
[root@localhost ~]# touch /mnt/fire00
[root@localhost ~]# ll /mnt
total 0
-rw-r--r--. 1 root student 0 May 4 00:31 fire00
4.實現多使用者掛載
安裝 cifs-utils 軟體
配置使用者檔案 vim /root/samba
多使用者掛載 mount -o credentials=/root/samba,sec=ntlmssp,multiuer //172.25.254.108/test /mnt
[root@foundation8 ~]# cd /mnt/
[root@foundation8 mnt]# ls
file file123 filetest
[root@foundation8 mnt]# rm -fr file123
rm: cannot remove ‘file123’: Permission denied
[root@foundation8 mnt]# touch test
touch: cannot touch ‘test’: Permission denied
而普通使用者
[kiosk@foundation8 yum.repos.d]$ cd /mnt
[kiosk@foundation8 mnt]$ ls
ls: reading directory .: Permission denied
普通使用者認證 ##跟/test許可權有關
[kiosk@foundation8 mnt]$ cifscreds add -u tom 172.25.254.108
Password:
[kiosk@foundation8 mnt]$ ls
file file123 filetest
[kiosk@foundation8 mnt]$ rm -fr file
rm: cannot remove ‘file’: Permission denied
相關文章
- CIFS檔案共享
- SMB與CIFS 445埠
- Linux——搭建Samba(CIFS)伺服器LinuxSamba伺服器
- cifs網路檔案共享系統
- LVM FS NFS CIFS NAS 等儲存概念解析LVMNFS
- Docker run OGG Classic Architecture container from CIFS with docker-volume-netshDockerAI
- 檔案共享之SMB/CIFS協議及Samba的使用協議Samba
- Linux下cifs公用網際網路系統和samba服務LinuxSamba
- 利用基於samba服務的cifs檔案系統實現共享資源Samba
- 從資料恢復角度分析iscsi、cifs、NFS三種儲存方式的區別資料恢復NFS