Samba将Linux集成到Windows网络
生活随笔
收集整理的這篇文章主要介紹了
Samba将Linux集成到Windows网络
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(一)Samba是一個與Windows操作系統兼容的文件與打印共享服務器,通過在Linux服務器上配置Samba,可以使Linux系統集成到Windows網絡中。在網絡中,用戶可以使用多種方法實現數據共享,例如常見的Web服務、FTP服務。使用這兩種網絡服務的好處是:它們是標準的Internet服務,可以被絕大多數操作系統支持,用戶基本不用考慮操作系統之間集成問題。另外,各種Unix操作系統之間也可以通過SSH和NFS提供數據共享服務。但是這兩種服務在微軟Windows系列操作系統中默認不被支持,因而Windows客戶機訪問這兩種服務時不方便。現在微軟網絡使用文件共享協議為CIFS(通用Internet文件系統),基本可以認為是SMB的升級版本。Linux下的Samba服務就是基于SMB/CIFS協議的。
? (二)配置Samba服務器 實驗環境:LinuxAS4操作系統,雙網卡,IP分別為192.10.30.3/24(VM1) | 192.10.10.3/24(VM2) [root@localhost /]#rpm -qa |grep samba
system-config-samba-1.2.21-1??????? #提供了RH公司專門為SMB服務器管理編寫的圖形界面的管理程序,功能不如Swat工具完善?
samba-common-3.0.10-1.4E6?????????? #Samba的支持軟件包,提供smb服務器和客戶機中都必須使用的公共文件?
samba-client-3.0.10-1.4E.6????????? #提供了samba客戶機的所有文件,可以使Linux作為客戶機訪問Windows服務器或其他Samba服務器
samba-3.0.10-1.4E.6???????????????? #基本的服務器軟件包,用于提供SMB服務 samba-swat-3.0.10???????????????????#基于Web界面的管理工具,使用戶可以比較方便地精確調整Samba服務器
smb.conf文件分成多個小節,結構清晰,該文件不區分大小寫,如參數"writable = yes"與"writable = YES"等價;以"#"和";"開頭的行為注釋行 [root@localhost /]#grep -v "^#" /etc/samba/smb.conf |grep -v "^;"??? #查看smb.conf有效配置內容 [global]?? #全局參數字段 workgroup = mygroup??? #定義Samba服務器所在的工作組域??
?? netbios name=Linux srv???#定義計算機的Netbios名,默認不存在,新添加
?? server string = Linux samba Server? #定義計算機描述,通過網上鄰居訪問時可以在備注信息中看到這個信息 ? client code page = 936 ? character set = 936?? #? 以上用于支持中文字體 ? #unix charset = cp936??? #我按以下輸入不支持中文 ?#dos charset = cp936 ?# unix charset = gb2312 #我按以下輸入不支持中文 ?#dos charset? = ?gb2312 hosts allow = 192.10.30. 192.10.10. #允許訪問的網絡或主機地址,注意此句本為注釋行 printcap name = /etc/printcap??????
?? load printers = yes??????? #自動加載打印機列表?
?? cups options = raw log file = /var/log/samba/%m.log?? #設置Samba服務器的日志文件存放路徑,%m.log為變量,表示客戶端主機名稱 max log size = 50????????????????? #日志文件最大容量,單位是KB security = user???? #定義Samba服務器的安全級別;share:共享級別,所有用戶不需要用戶名和密碼即可訪問;user:這是Samba的默認配置,所有用戶需提供用戶名及密碼才能訪問;server:和user安全級別類似,所有用戶必須通過身份驗證才能訪問服務器的資源,如果遞交失敗,退到user級別;domain:要求網絡上存在一臺Windows域控制器,Samba把用戶名能密碼傳給指定的域控制器進行驗證
? encrypt passwords = yes?????? #是否加密密碼,no表示以明文傳輸
? smb passwd file = /etc/samba/smbpasswd??? #指定存放Samba用戶密碼文件
?? socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = 192.10.30.3/24 192.10.10.3/24??? #指定Samba使用的網絡接口,可使用接口名或者IP地址?
?? dns proxy = no?
?? idmap uid = 16777216-33554431
?? idmap gid = 16777216-33554431
?? template shell = /bin/false
?? winbind use default domain = no
[homes]?? #目錄共享字段
?? comment = Home Directories
?? browseable = no??? #表示所有Samba用戶目錄不被看到,只有登錄用戶才能看到自己的宿主目錄
?? writable = yes???? #設置用戶對自己的宿主目錄有寫權限 [printers]?? #打印機共享字段
?? comment = All Printers
?? path = /var/spool/samba
?? browseable = no
?? guest ok = no
?? writable = no
?? printable = yes
[public]????? #以public為共享名共享
?? comment = Public directories??? #描述共享信息
?? path = /home/public???????????? #指定共享目錄位置
?? public = yes??????????????????? #對所有Samba用戶可見 writable = yes????????????????? #允許用戶對該目錄進行寫入操作 [public2]
?? path =/usr/public2
?? only guest = yes??????? #表示所有用戶在使用該共享目錄進的用戶身份都是guest,即linux系統用戶nobody
?? writable = yes???????? browseable =?no?????? #用戶都不能瀏覽到,類似于public,但可以在運行處輸入\\IP\public2訪問到?
?? printable = no :wq 保存以上配置文件 [root@localhost /]#testparm??? #查看Samba有效的設置情況 [root@localhost /]#service smb restart #重新啟動Samba服務 或使用service smb reload [root@localhost /]#smbpasswd -a user1??#建立Samba用戶 #smbpasswd -a??? 向?/etc/samba/smbpasswd中添加用戶 #smbpasswd -x??? 從/etc/samba/smbpasswd中刪除用戶 #smbpasswd -d??? 禁用某個Samba用戶 #smbpasswd -e??? 啟用某個Samba用戶 #smbpasswd 命令所操作的帳戶必須是Linux系統中已有的用戶 [root@localhost /]#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/sambpasswd?? #將所有的linux用戶帳戶一次性添加到smbpasswd文件中 [root@localhost /]#smbpasswd user2?? #為了使新加入的用戶帳戶可用,還得設置Samba密碼,區分所有用戶還沒有加入到smbpasswd文件時命令的寫法 ? 從Windows客戶端訪問:通過網上鄰居直接找到Samba服務器進行訪問或者在運行中輸入UNC路徑 [root@localhost /]#smbclient -L 127.1?? #查看本機提供的共享資源 [root@localhost /]#smbstatus??????????? #顯示Samba服務器連接狀態;顯示客戶端IP/主機名/登錄用戶/及鎖定的文件等 [root@localhost /]#smbclient //192.10.30.10/aa -U aa? #訪問Windows主機上的資源,注意格式(IP后面不能有空格) [root@localhost /]#smbmount //19210.30.10/aa /mnt???? #將Windows主機上的共享目錄直接掛載到Linux主機上 [root@localhost /]#umount /mnt/?????? #卸載Samba文件系統 (三)使用Swat管理samba服務器 [root@localhost /]#chkconfig swat on???????? #啟動Swat [root@localhost /]#vi /etc/xinetd.d/swat???? #修改允許訪問Swat服務的客戶主機IP地址,可根據管理需求進行更改;在此我注釋掉#only_from =127.0.0.1,即允許任意IP訪問 [root@localhost /]#service xinetd restart??? #重啟xinetd服務? 在30段客戶端瀏覽器中輸入http://192.10.30.3:901/,Swat服務默認工作端口為901 在彈出的對話框中以root登錄可全局控制? ? ^^接下來就以Web界面的方式管理Samba了,自己好好再研究下吧
? (二)配置Samba服務器 實驗環境:LinuxAS4操作系統,雙網卡,IP分別為192.10.30.3/24(VM1) | 192.10.10.3/24(VM2) [root@localhost /]#rpm -qa |grep samba
system-config-samba-1.2.21-1??????? #提供了RH公司專門為SMB服務器管理編寫的圖形界面的管理程序,功能不如Swat工具完善?
samba-common-3.0.10-1.4E6?????????? #Samba的支持軟件包,提供smb服務器和客戶機中都必須使用的公共文件?
samba-client-3.0.10-1.4E.6????????? #提供了samba客戶機的所有文件,可以使Linux作為客戶機訪問Windows服務器或其他Samba服務器
samba-3.0.10-1.4E.6???????????????? #基本的服務器軟件包,用于提供SMB服務 samba-swat-3.0.10???????????????????#基于Web界面的管理工具,使用戶可以比較方便地精確調整Samba服務器
smb.conf文件分成多個小節,結構清晰,該文件不區分大小寫,如參數"writable = yes"與"writable = YES"等價;以"#"和";"開頭的行為注釋行 [root@localhost /]#grep -v "^#" /etc/samba/smb.conf |grep -v "^;"??? #查看smb.conf有效配置內容 [global]?? #全局參數字段 workgroup = mygroup??? #定義Samba服務器所在的工作組域??
?? netbios name=Linux srv???#定義計算機的Netbios名,默認不存在,新添加
?? server string = Linux samba Server? #定義計算機描述,通過網上鄰居訪問時可以在備注信息中看到這個信息 ? client code page = 936 ? character set = 936?? #? 以上用于支持中文字體 ? #unix charset = cp936??? #我按以下輸入不支持中文 ?#dos charset = cp936 ?# unix charset = gb2312 #我按以下輸入不支持中文 ?#dos charset? = ?gb2312 hosts allow = 192.10.30. 192.10.10. #允許訪問的網絡或主機地址,注意此句本為注釋行 printcap name = /etc/printcap??????
?? load printers = yes??????? #自動加載打印機列表?
?? cups options = raw log file = /var/log/samba/%m.log?? #設置Samba服務器的日志文件存放路徑,%m.log為變量,表示客戶端主機名稱 max log size = 50????????????????? #日志文件最大容量,單位是KB security = user???? #定義Samba服務器的安全級別;share:共享級別,所有用戶不需要用戶名和密碼即可訪問;user:這是Samba的默認配置,所有用戶需提供用戶名及密碼才能訪問;server:和user安全級別類似,所有用戶必須通過身份驗證才能訪問服務器的資源,如果遞交失敗,退到user級別;domain:要求網絡上存在一臺Windows域控制器,Samba把用戶名能密碼傳給指定的域控制器進行驗證
? encrypt passwords = yes?????? #是否加密密碼,no表示以明文傳輸
? smb passwd file = /etc/samba/smbpasswd??? #指定存放Samba用戶密碼文件
?? socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = 192.10.30.3/24 192.10.10.3/24??? #指定Samba使用的網絡接口,可使用接口名或者IP地址?
?? dns proxy = no?
?? idmap uid = 16777216-33554431
?? idmap gid = 16777216-33554431
?? template shell = /bin/false
?? winbind use default domain = no
[homes]?? #目錄共享字段
?? comment = Home Directories
?? browseable = no??? #表示所有Samba用戶目錄不被看到,只有登錄用戶才能看到自己的宿主目錄
?? writable = yes???? #設置用戶對自己的宿主目錄有寫權限 [printers]?? #打印機共享字段
?? comment = All Printers
?? path = /var/spool/samba
?? browseable = no
?? guest ok = no
?? writable = no
?? printable = yes
[public]????? #以public為共享名共享
?? comment = Public directories??? #描述共享信息
?? path = /home/public???????????? #指定共享目錄位置
?? public = yes??????????????????? #對所有Samba用戶可見 writable = yes????????????????? #允許用戶對該目錄進行寫入操作 [public2]
?? path =/usr/public2
?? only guest = yes??????? #表示所有用戶在使用該共享目錄進的用戶身份都是guest,即linux系統用戶nobody
?? writable = yes???????? browseable =?no?????? #用戶都不能瀏覽到,類似于public,但可以在運行處輸入\\IP\public2訪問到?
?? printable = no :wq 保存以上配置文件 [root@localhost /]#testparm??? #查看Samba有效的設置情況 [root@localhost /]#service smb restart #重新啟動Samba服務 或使用service smb reload [root@localhost /]#smbpasswd -a user1??#建立Samba用戶 #smbpasswd -a??? 向?/etc/samba/smbpasswd中添加用戶 #smbpasswd -x??? 從/etc/samba/smbpasswd中刪除用戶 #smbpasswd -d??? 禁用某個Samba用戶 #smbpasswd -e??? 啟用某個Samba用戶 #smbpasswd 命令所操作的帳戶必須是Linux系統中已有的用戶 [root@localhost /]#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/sambpasswd?? #將所有的linux用戶帳戶一次性添加到smbpasswd文件中 [root@localhost /]#smbpasswd user2?? #為了使新加入的用戶帳戶可用,還得設置Samba密碼,區分所有用戶還沒有加入到smbpasswd文件時命令的寫法 ? 從Windows客戶端訪問:通過網上鄰居直接找到Samba服務器進行訪問或者在運行中輸入UNC路徑 [root@localhost /]#smbclient -L 127.1?? #查看本機提供的共享資源 [root@localhost /]#smbstatus??????????? #顯示Samba服務器連接狀態;顯示客戶端IP/主機名/登錄用戶/及鎖定的文件等 [root@localhost /]#smbclient //192.10.30.10/aa -U aa? #訪問Windows主機上的資源,注意格式(IP后面不能有空格) [root@localhost /]#smbmount //19210.30.10/aa /mnt???? #將Windows主機上的共享目錄直接掛載到Linux主機上 [root@localhost /]#umount /mnt/?????? #卸載Samba文件系統 (三)使用Swat管理samba服務器 [root@localhost /]#chkconfig swat on???????? #啟動Swat [root@localhost /]#vi /etc/xinetd.d/swat???? #修改允許訪問Swat服務的客戶主機IP地址,可根據管理需求進行更改;在此我注釋掉#only_from =127.0.0.1,即允許任意IP訪問 [root@localhost /]#service xinetd restart??? #重啟xinetd服務? 在30段客戶端瀏覽器中輸入http://192.10.30.3:901/,Swat服務默認工作端口為901 在彈出的對話框中以root登錄可全局控制? ? ^^接下來就以Web界面的方式管理Samba了,自己好好再研究下吧
轉載于:https://blog.51cto.com/firefly222/246685
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Samba将Linux集成到Windows网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到捡手表和钱是什么征兆
- 下一篇: SQL WITH NOCHECK 和 C