1. 程式人生 > >smb(samba)服務

smb(samba)服務

max cli string 本地用戶 自啟 init 發布 需要 獲取

smb(samba)服務: 用於Linux和windows之間文件傳輸,打印機共享;可以實現匿名用戶、本地用戶的文件共享 smb進程:負責控制發布共享目錄與權限 tcp 139 445 nmb進程:用於名稱解析netbios udp 137 138 基於netbios協議獲取計算機的名稱,並解析成相應的ip,實現通訊 # rpm -aq|grep ^samba samba-winbind-clients-3.6.9-164.el6.x86_64 客戶端工具 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 客戶端 samba 服務端軟件【需要安裝】 1、 2、 3、軟件三步曲 # yum -y install samba # rpm -q samba # rpm -ql samba /etc/logrotate.d/samba 日誌輪轉文件 /etc/pam.d/samba 認證文件 /etc/rc.d/init.d/nmb 啟動腳本 /etc/rc.d/init.d/smb 啟動腳本 /etc/samba/smbusers 定義別名 /usr/sbin/nmbd 二進制命令 /usr/sbin/smbd 二進制命令 # rpm -ql samba-common /etc/samba 相關主目錄 /etc/samba/smb.conf 主配置文件 /usr/bin/pdbedit 查看數據庫文件的命令 /usr/bin/smbpasswd 創建smb用戶 /usr/bin/testparm 語法測試 # rpm -ql samba-client /usr/bin/smbclient 客戶端工具 4、了解配置文件 # cat /etc/samba/smb.conf |grep -v ^#|grep -v ‘^;‘|grep -v ^$ [global] 全局標簽 workgroup = MYGROUP 工作組 server string = Samba Server Version %v 版本描述 log file = /var/log/samba/log.%m 日誌文件保存路徑 max log size = 50 日誌文件大小 security = user 用戶密碼;share 匿名用戶 ;server... passdb backend = tdbsam 數據庫文件格式 load printers = yes 加載打印機 cups options = raw 打印機選項 [homes] 局部標簽 comment = Home Directories browseable = no 隱藏該標簽 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、根據需求通過修改配置文件來完成服務的搭建 需求1:通過本地用戶訪問samba服務 默認情況下將本地用戶的家目錄共享出去了,所以不需要更改配置文件 # smbclient //10.1.1.1/stu1 -U user1 --->以用戶user1身份進入stu1家目錄(首先要有相應的權限) 6、啟動服務|開機自啟動 # /etc/init.d/smb start # /etc/init.d/nmb start # chkconfig smb on # chkconfig nmb on 7、測試驗證 Linux: # smbclient --help # smbclient -L 10.1.1.1 查看遠程主機共享的標簽,默認輸入root密碼,如果不輸則是匿名用戶查看 # smbclient //10.1.1.1/user1 匿名用戶訪問共享的目錄 # smbclient -L 10.1.1.1 -U user1 使用user1用戶和smb數據庫的密碼查看共享的標簽 # smbclient //10.1.1.1/user1 -U user1 使用用戶q去直接訪問遠程主機的共享目錄 註意: 默認情況下,本地用戶可以通過用戶名和密碼去直接訪問server端所共享出來的家目錄;但是事先需要將該用戶加入到smb數據庫裏 # smbpasswd --help # smbpasswd -a user1 -a add user :將用戶加入samba數據庫 -d disable user -e enable user -x delete user window端:cmd \\10.1.1.1 需求2:匿名用戶共享/samba/share目錄 步驟: 1、創建一個共享目錄 # mkdir /samba/share -p 2、發布共享目錄 [anon_share] comment = anon user share path = /samba/share public = yes writeable = yes 註意: 1、security = share 那麽本地用戶是不能夠訪問的;即便是配置文件裏有共享給本地用戶的目錄; 2、security = user 那麽本地用戶和匿名用戶都可以訪問;具體能不能訪問某個共享目錄要看該目錄有沒有給相應的訪問權限 需求3: 公司:uplooking 1、財務部門 /samba/upl_cw cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限。 2、市場部門 /samba/upl_sc 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權限。 3、HR部門 /samba/upl_rs rs01HR總監可讀寫,HR部門員工可以對財務部查詢,vip用戶可以查詢 4、休息區 /samba/upl_pub 自己管理自己的文件 思路: 1、創建相應的共享目錄 2、創建相應的用戶組 3、根據需求將相應的目錄共享出去 4、需要將用戶加入到samba數據中 5、重啟服務 6、測試驗證 步驟: 1、創建相應的共享目錄並且更改相應權限 # mkdir /samba/upl_{cw,sc,rs,pub} -p # chown root.uplooking upl_cw/ # chown root.uplooking upl_rs/ # chown root.uplooking upl_sc/ # chmod 1777 upl_pub/ 2、創建相應的用戶組 # groupadd uplooking # groupadd cw # groupadd rs # groupadd sc # useradd -g cw -G uplooking cw01 # useradd -g cw -G uplooking cw02 # useradd -g rs -G uplooking rs01 # useradd -g rs -G uplooking rs02 # useradd -g sc -G uplooking sc01 # useradd -g sc -G uplooking sc02 # useradd -g uplooking boss01 # useradd -g uplooking boss02 # useradd vip 3、根據需求將相應的目錄共享出去 writable/可寫 readonly/只讀 write list=user1,@admin 可寫列表 read list=user1,@admin 可讀列表 valid users = @admin,user1 可用用戶 invalid users = @admin,user1 不可用用戶 valid和invalid不能同時出現 hosts allow = 150.203. EXCEPT 150.203.6.66 hosts deny = 10.1.1.2 172.16.250.1 [cw] comment = cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限。 path = /samba/upl_cw valid users = @cw,@rs,boss01 write list = cw01,boss01 [rs] comment = rs01HR總監可讀寫,HR部門員工可以對財務部查詢,vip用戶可以查詢 path = /samba/upl_rs valid users = @rs,vip write list = rs01 [sc] comment = 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權限 path = /samba/upl_sc valid users = @uplooking,vip write list = boss02,@sc,vip [pub] comment = 自己管理自己的文件 path = /samba/upl_pub public = yes writable = yes hosts allow = 10.1.1.0/255.255.255.0 4、將用戶加入到smb數據庫裏 # smbpasswd -a cw01 # smbpasswd -a rs01 # smbpasswd -a boss01 # smbpasswd -a boss02 # smbpasswd -a cw02 # smbpasswd -a sc01 # smbpasswd -a vip # /usr/bin/pdbedit -L 5 測試驗證

smb(samba)服務