Linux 之 samba 服務
一、samba的作用
samba服務:實現的是linux和windows不同平臺的資源共享.
samba 是一款軟體,主要功能是提供cifs服務.
二、samba的安裝與啟用
server 為服務端;client為客戶端。
【server】:
[root@server ~]# yum install samba samba-client samba-common -y ##下載服務
[root@server ~]# systemctl start smb ##開啟(森巴)服務
[root@server ~]# systemctl enable smb ##開機自動開啟
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@server ~]# systemctl stop firewalld ##關閉火牆
[root@server ~]# systemctl disable firewalld ##開機自動關閉火牆
[root@server ~]# netstat -antlupe | grep smb ##檢視smb的埠
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 65128 3230/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 65129 3230/smbd
tcp6 0 0 :::445 :::* LISTEN 0 65126 3230/smbd
tcp6 0 0 :::139 :::* LISTEN 0 65127 3230/smbd
[root@client ~]# yum install samba-client -y ##下載smb客戶端
[root@client ~]# smbclient -L //172.25.254.229 ##匿名登陸
Enter root's password: ##沒有密碼,按回車
Anonymous login successful
IPC$ IPC IPC Service (Samba Server Version 4.1.1) ##這裡沒有資訊
Anonymous login successful
三、samba服務使用者的建立及訪問
[root@server ~]# id westos ##檢視使用者
id: westos: no such user
[root@server ~]# useradd westos ## 新建使用者,因為登陸必須得是本機已有使用者
[root@server ~]# smbpasswd -a student ##將使用者新增到smb
New SMB password: ##給密碼123
Retype new SMB password:
Added user student. ##新增成功
[root@server ~]# smbpasswd -a westos
New SMB password:
Retype new SMB password:
Added user westos.
[root@server ~]# pdbedit -L ##列出smb新增所有使用者
student:1000:Student User
westos:1001:
[root@server ~]# pdbedit -x student ##刪除student使用者
[root@server ~]# pdbedit -L
westos:1001:
[root@server ~]# smbpasswd -a student
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# pdbedit -L
student:1000:Student User
westos:1001:
[[email protected] ~]# smbclient -L //172.25.254.229 -U student ##用本機(server)已有使用者登陸
Enter student's password: ##與student使用者登陸密碼無關,輸入剛才在server裡新設的密碼
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
student Disk Home Directories ##出現了student資訊
[[email protected] ~]# smbclient //172.25.254.229/student -U student ##登陸進去訪問
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \* ##訪問被拒絕,則說明SELINUX關閉了使用者對家目錄的訪問許可權
[root@server ~]# getsebool -a | grep samba
samba_enable_home_dirs --> off
[root@server ~]# setsebool -P samba_enable_home_dirs on ##開啟家目錄的訪問許可權
四、上傳檔案以及永久掛載
方法一、
[[email protected] ~]# cd /etc/ ##必須在一個環境內
[[email protected] etc]# smbclient //172.25.254.229/student -U student
Enter student's password:
smb: \> !ls ##顯示出在這個環境內的所有可以下載的檔案
smb: \> put passwd ##下載passwd
putting file passwd as \passwd (22.5 kb/s) (average 22.5 kb/s)
smb: \> touch file ##不能touch檔案,因為沒有touch命令
touch: command not found
smb: \> put /bin/ls ##不能下載除/etc/以外其他目錄裡的東西
NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \/bin/ls
smb: \> quit
[root@server ~]# cd /home/student ##環境
[root@server student]# ls ##就可以看到剛才下載的檔案
passwd
【這種方法只能在一個環境內下載這個環境的檔案,所以有侷限性。】
方法二、(有兩種,支援用第二種)
第一種:
[root@client ~]# mount -o //172.25.254.229/student /mnt/ username=student,password ##手動掛載
[root@client ~]# vim /etc/fstab ##永久掛載檔案,但不支援寫,因為會影響客戶端的電腦啟動
寫入://172.25.254.229/student /mnt cifs defaults,username=student,password=123 0 0
[root@client ~]# mount -a ##重新載入
[root@client ~]# reboot ##重啟
[root@client ~]# df ##重啟後,檢視是否掛載成功
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182156 7291744 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12768 472164 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.229/student 10473900 3157296 7316604 31% /mnt ##成功了
第二種:
[root@client ~]# vim /etc/rc.d/rc.local ##指令碼,開機不會被影響,之在系統服務最後讀取(永久掛載)
寫入:
mount //172.25.254.229/student /mnt -o username=student,password=123
[root@client ~]# chmod +x /etc/rc.d/rc.local ##給可執行許可權
[root@client ~]# reboot ##重啟
[root@client ~]# df ##重啟後,檢視是否掛載成功
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182156 7291744 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12768 472164 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.229/student 10473900 3157296 7316604 31% /mnt ##成功了
[root@client ~]# cd /mnt/
[root@client mnt]# touch file{1..5} ##隨意下載建立,刪掉也可以
[root@client mnt]# ls
file1 file2 file3 file4 file5 passwd
[root@server student]# ls ##就出現了
file1 file2 file3 file4 file5 passwd
五、server 服務端 的配置
【服務端server】
[[email protected]server ~]# rpm -qc samba-common ##檢視samba的配置檔案
/etc/logrotate.d/samba
/etc/samba/lmhosts
/etc/samba/smb.conf
/etc/sysconfig/samba
[[email protected]server ~]# vim /etc/samba/smd.conf ##samba的主配置檔案
寫入:
89 workgroup = WESTOS #修改組名稱
[[email protected]server ~]# systemctl restart smb.service ##重啟服務
【客戶端desktop】
[root@client ~]# smbclient -L //172.25.254.229
Domain=[WESTOS] ##改成功
【server】
[root@server ~]# vim /etc/samba/smd.conf
寫入:
98 hosts allow = 172.25.254.129 ##白名單
[root@server ~]# systemctl restart smb.service
【desktop】
[root@client ~]# smbclient -L //172.25.254.229 ##允許訪問
Enter root's password:
Anonymous login successful
【server】
[root@server ~]# vim /etc/samba/smd.conf
寫入:
98 hosts deny = 172.25.254.129 ##黑名單
[root@server ~]# systemctl restart smb.service
【desktop】
[root@client ~]# smbclient -L //172.25.254.229 ##不允許訪問
Enter root's password:
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
六、自定義共享目錄
上面我們可以看到在服務端是一個家目錄共享,如何自定義共享目錄
第一種情況:當這個目錄是使用者自己建立時
【server】
[[email protected]server ~]# mkdir /westos
[[email protected]server ~]# semanage fcontext -a -t samba_share_t '/westos(/.*)?' ##改變此目錄的安區上下文列表
[[email protected]server ~]# restorecon -RvvF /westos ##改變完成後記得重新整理檢視
restorecon reset /westos context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[[email protected]server ~]# vim /etc/samba/smb.conf ##編寫主配置檔案(名字、說明、絕對路徑)
寫入:
321 [DIR]
322 comment = westos dir
323 path = /westos
[[email protected]server ~]# systemctl restart smb.service
【desktop】
[[email protected] ~]# smbclient //172.25.254.229/DIR -U student
Enter student's password:
##可以看到內容,說明共享成功
第二種情況:當共享目錄是系統目錄時例如是/mnt
(兩種方法,第二中的許可權大,但安全性差。相反,第一種的許可權小,安全性高。支援用第二種)
方法一、
【server】
[[email protected]server ~]# vim /etc/samba/smb.conf ##在主配置檔案裡編輯好相關配置資訊:名字、說明、絕對路徑
寫入:
325 [mnt]
326 comment = /mnt dir
327 path = /mnt
[[email protected]server ~]# systemctl restart smb.service
[[email protected]server ~]# touch /mnt/file{1..5}
[[email protected]server ~]# ls /mnt/ ##建好之後去客戶端看不到新建
file1 file2 file3 file4 file5
[[email protected]server ~]# setenforce 0 ##SELINUX 為警告模式就可以去訪問查看了
【desktop】
[[email protected] mnt]# smbclient //172.25.254.229/mnt -U student ##就可以看到剛才所建檔案
file1 N 0 Sat Jun 2 01:54:12 2018
file2 N 0 Sat Jun 2 01:54:12 2018
file3 N 0 Sat Jun 2 01:54:12 2018
file4 N 0 Sat Jun 2 01:54:12 2018
[root@server ~]# setenforce 1 ##還原不要影響下一步操作
方法二、
【server】
[[email protected] ~]# setsebool -P samba_export_all_ro on ##開啟這個許可權
【desktop】
[[email protected] mnt]# smbclient //172.25.254.229/mnt -U student ##可以進行訪問,並且自己建立的目錄不改變安全上下文也可以進行訪問(因為這個開放的許可權大)
file1 N 0 Sat Jun 2 01:54:12 2018
file2 N 0 Sat Jun 2 01:54:12 2018
file3 N 0 Sat Jun 2 01:54:12 2018
file4 N 0 Sat Jun 2 01:54:12 2018
file5 N 0 Sat Jun 2 01:54:12 2018
七、許可權控制
在自定義共享目錄下做此次試驗
[root@server ~]# vim /etc/samba/smb.conf
寫入:
324 browseable = no ##不允許瀏覽DIR
[root@client ~]# smbclient -L //172.25.254.229/DIR -U student
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
mnt Disk /mnt dir ##看不到DIR
student Disk Home Directories
[root@server ~]# vim /etc/samba/smb.conf
寫入:
324 browseable = yes ##允許瀏覽DIR
[root@client ~]# smbclient -L //172.25.254.229/DIR -U student
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
mnt Disk /mnt dir
DIR Disk westos dir ##可以看到了
student Disk Home Directories
1.所有使用者權力
【server】
[[email protected]server ~]# vim /etc/samba/smb.conf
寫入:
325 writable = yes ##開啟寫權力(所有使用者都可以讀寫)
[[email protected]server ~]# systemctl restart smb.service
【desktop】
[root@client ~]# umount /mnt/ ##先解除安裝掉
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=student,password=123 ##再重新掛載
[root@client ~]# ll /mnt/
total 0
[root@client ~]# touch /mnt/file1
touch: cannot touch ‘/mnt/file1’: Permission denied ##許可權不允許
[root@server mnt]# chmod 777 /westos/
[root@server mnt]# vim /etc/samba/smb.conf
[root@server mnt]# systemctl restart smb.service
2.指定使用者權力
【server】
[[email protected]server ~]# vim /etc/samba/smb.conf
寫入:
326 write list = student ####寫權力對student使用者開放
[[email protected]server mnt]# systemctl restart smb.service
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=student,password=123
[root@client ~]# touch /mnt/file2
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=westos,password=123
[root@client ~]# touch /mnt/file3
touch: cannot touch ‘/mnt/file3’: Permission denied
[root@client ~]#
3.指定使用者組權力
[root@server ~]# vim /etc/samba/smb.conf
326 write list = @student ##寫權力對syudent使用者組開放
[root@server ~]# systemctl restart smb.service
[root@server ~]# usermod -G student westos
[root@server ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos),1000(student)
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=westos,password=123
[root@client ~]# touch /mnt/file4
[root@client ~]# ll /mnt/
-rw-r--r-- 1 1001 1001 0 Jun 2 03:07 file4 ##因為129沒有westos使用者
4.設定使用者為超級使用者身份
設定student使用者為當前共享的root(因為將檔案改為755只有超級使用者可以建立檔案而且不用重啟服務即可生效)
[root@server ~]# chmod 755 /westos/ ##除了root誰也不能對/westos讀寫
[root@server ~]# vim /etc/samba/smb.conf
寫入:
325 writable = yes
326 #write list = @student
327 admin users = westos ##給westos是root的身份
[root@server ~]# systemctl restart smb.service
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=westos,password=123
[root@client ~]# touch /mnt/file6
[root@client ~]# ll /mnt/
-rw-r--r-- 1 root 1001 0 Jun 2 03:28 file6 ##屬於root組
5.smb的匿名訪問
[[email protected] ~]# smbclient //172.25.254.229/DIR
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]
tree connect failed: NT_STATUS_ACCESS_DENIED ##被拒絕。不可以
[root@server ~]# vim /etc/samba/smb.conf
寫入:
328 guest ok = yes
[root@server ~]# systemctl restart smb.service
[root@client ~]# smbclient //172.25.254.229/DIR
Enter root's password:
Anonymous login successful
6.匿名使用者掛載
[[email protected] ~]# mount //172.25.254.229/DIR /mnt -o username=guest,password=""
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) ##不能掛載
[root@server ~]# vim /etc/samba/smb.conf
寫入:
125 map to guest = bad user ##把匿名使用者對映到guest上
[root@server ~]# systemctl restart smb.service
[root@client ~]# mount //172.25.254.229/DIR /mnt -o username=guest,password="" ##可以掛載了
[root@client ~]#
八、samba的多使用者掛載
[root@client ~]# useradd test
[root@client ~]# su - test
[test@client ~]$ cd /mnt/
[test@client mnt]$ ls
file1 file2 file3 file4 file5 file6 ##不安全
[root@client ~]# yum install cifs-utils -y
[root@client ~]# vim /root/smbpass
寫入:
1 username=student
2 password=123
[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.229/DIR /mnt
##credentials=/root/smbpass 的意思就是,掛載需要的使用者和密碼。 sec=ntlmssp :使用者認證方式
[root@client ~]# cd /mnt/
[root@client mnt]# ls
file1 file2 file3 file4 file5 file6
[test@client ~]$ cifscreds add -u westos 172.25.254.229
Password:
[test@client ~]$ ls /mnt
ls: cannot access /mnt: Permission denied
[test@client ~]$ cifscreds add -u westos 172.25.254.229 ##用westos身份登陸訪問(必須保證westos時samba使用者)
You already have stashed credentials for 172.25.254.229 (172.25.254.229)
If you want to update them use:
cifscreds update
[test@client ~]$ cifscreds clearall
[test@client ~]$ cifscreds add -u westos 172.25.254.229
Password:
[test@client ~]$ ls /mnt ##建立檔案並且檔案是屬於westos的
file1 file2 file3 file4 file5 file6
[test@client ~]$
相關推薦
Linux 之 samba 服務
一、samba的作用 samba服務:實現的是linux和windows不同平臺的資源共享. samba 是一款軟體,主要功能是提供cifs服務. 二、samba的安裝與啟用 server 為服務端;client為客戶端。 【server】: [roo
Linux 服務器搭建之Samba服務
空行 環境 文件中 方便 兩個 cto mask 訪問服務器 找到 Linux 服務器搭建之Samba服務一、Samba服務基礎Samba是著名的開源軟件項目之一,它在Linux/UNIX系統中實現了微軟的SMB/CIFS網絡協議,從而使得跨平臺的文件共享變得更加容易。在部
Linux之FTP服務器,NFS服務器,SAMBA服務器詳解
修改 mysql模塊 協議 std 版本 nag wrap 用戶 guest 本文介紹Linux中的三個網絡文件共享服務:ftp,nfs,samba FTP服務 File Transfer Protocol 早期的三個應用級協議之一 基於C/S結構 ?雙通道協議:數據和
謝煙客---------Linux之郵件服務及任務計劃執行
linux任務計劃命令mail,at,batch,crond,sleep郵件服務工作模式:發 代理-> stmp --> smtp --> 投遞代理 --> 郵筒 --> pop3,imap4 <-- 代理 <-- 收at,mail,batch,cron命令均建議用完
Linux 下 Samba 服務器搭建
快捷 cat image alt config 回車 虛擬 輸入密碼 哪些 初學,分享 環境和條件--- 虛擬機:VMware虛擬機 系統:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 1
Linux之bind服務(DNS)部署配置
Linux之bind服務(DNS)Linux系統之BIND服務(NDS)簡介: DNS域名解析服務(Domain?Name?System)是用於解析域名與IP地址對應關系的服務,功能上可以實現正向解析與反向解析: 正向解析:根據主機名(域名)查找對應的IP地址。 反向解析:根據IP地址查找對應的主機名(域名
Linux之NFS服務部署與Windows客戶端掛載
NFSLinuxwindowsFS服務(Windows 客戶端+Linux 服務端) Windows 客戶端 1.添加NFS服務2.進入CMD界面查看NFS添加是否成功。3.掛載遠程文件目錄至本地4.卸載掛載文件 Linux服務端 1.查看Linux系統是否安裝rcpbind,nfs組件(如未安裝請先安裝)。
linux中Samba服務器的配置
打印機 不同 輸入密碼 參考 自啟 image ges IV ble Samba簡介 Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享
Linux之NIS服務搭建
實現 定義 地方 ntp服務 規則 主機名 完成 說明 paragraph NIS: Linux集中化認證服務上篇文章中,我們解析了NFS服務的配置和使用方法,在本篇博文中,我們來看下經常和NFS搭配使用的NIS服務的配置和使用方法。NIS(Network Informat
Linux部署Samba服務
添加 根目錄 linux 重啟 密碼 linux用戶 部署 linux部署 圖片 一.安裝 二.修改配置 還是先備份一下比較好,畢竟本服務區配置的比較暴力原始配置文件內容配置的比較簡單粗暴,不設置任何用戶,密碼的限制,只設置訪問的目錄為根目錄 三.添加用戶 1.添加Lin
Linux下samba服務搭建
資源 comment 獨立 null 參數 samb log 修改 edi 參考: https://www.cnblogs.com/lxyqwer/p/7271369.html https://www.cnblogs.com/liulipeng/p/3406352.html
Linux上Samba服務的搭建和訪問
SAMBA服務的產生 在早期的網路世界中,檔案資料在不同主機之間的傳輸大多是使用FTP服務,但是FTP服務傳輸檔案有一些小小的問題,那就是我們無法直接修改主機上面的檔案資料,也就是說我們如果想要修改某個檔案的資料時,就必須將該檔案的伺服器下載後才能修改,這樣就很麻煩了。其實解決這個問題也很簡單,NFS服務就
Linux之httpd服務
apache http web伺服器在後臺服務名稱是httpd,預設埠是80。 檢視後臺服務: service --list-all | grep httpd service httpd status 開啟httpd服務:service httpd start 訪
red hat linux之Samba、DHCP、DNS、FTP、Web的安裝與配置
本教程是在red hat linux 6.0環境下簡單測試!教程沒有圖片演示,需要具有一定Linux基礎知識,很多地方的配置需要根據自己的情況修改,照打不一定可以配置成功。(其他不足後續修改新增) yum安裝的配置 編輯檔案 #vi /etc/yum.repos.d/packagekit
LINUX之samba伺服器的安裝與配置(基於redhat 6.3發行版)
linux系統之間或者linux系統和windows系統之間難免會有共享檔案的時候,實現共享的方法有很多,這裡簡單介紹一下通過samba伺服器實現linux系統與windows系統之間的檔案共享的方法。 我是windows下通過虛擬機器安裝的linux系統,redhat 6.3發行版。實現sa
Linux之Samba部署
1、Samba介紹 Samba 是在 Linux 和 UNIX 系統上實現 SMB 協議的一個免費軟體,由伺服器及客戶端程式構成,SMB(Server Messages Block,資訊服務塊)是一種在區域網上共享檔案和印表機的一種通訊協議,它為區域網內的不同計算機之間提供檔案及印表機等資源的共享服務
linux的samba服務部署
################# 1.SMB的用處和怎麼登陸 ################# 用處是通過儲存分離保護伺服器的穩定 用法 server為伺服器 172.25.254.128 設定好yum源 安裝samba服務 yum install samba samba-common
Linux 之 監控服務
top指令:管理記憶體及程序使用 top -d : 指定秒數更新 top -i : 忽略閒置或者僵死程序 top -p : 根據指定PID監控某個程序的狀態 互動操作 操作 功能 P 按CPU使用率排序,預設此
Linux之控制服務篇
一、什麼是服務? 系統中執行的對於系統本身沒有意義,但是對客戶主機有重大意義的程式叫做服務型軟體,簡稱服務。 cs模型 c表示client s表示server 二、用什麼控制服務? 系統中的初始化程序可以對服務進行相應的控制。 三、系統的初始化程序是什麼 systemd
linux安裝Samba服務
[注] 在windows中新增cc使用者,然後登出administrator,以cc使用者的身份登入,訪問samba伺服器時,則不會出現使用者登入對話方塊,不用輸入使用者名稱和密碼而能直接瀏覽共享資源。下圖是在windows中以使用者cc登入後,輸入 \\192.168.1.88 直接進入的畫面。在wind