閱讀133 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Samba客戶端配置

首先先記錄下在linux客戶端怎麼用命令訪問windows或者linux的共享文件夾

  • 第一步 smbclient -L //192.168.100.5 -U public(smbclient是命令 -L是列出服務器有哪些共享文件 -U後麵跟著的是用戶名)

  • 第二步 輸入密碼後會看到服務器共享的文件夾,然後用命令 smbclient //192.168.100.5/資源共享 -U public進入服務器,輸入密碼後會看到如下(我登陸的是windows的共享文件)

    Password: 
    Domain=[DC] OS=[Windows Server 2003 3790 Service Pack 2] Server=[Windows Server 2003 5.2]
    smb: \>
    
  • 第三步 使用help可以查看命令使用方法,常用的有ls cd get put exit等

  • 第四步 WIN7訪問要 \www.google.com\nobody 或者 \www.google.com\guest 這樣

  • 第五步 WIN7如果還不能訪問,修改注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    LmCompatibilityLevel 的值等於 1

  • 第六步 windows上訪問修改刪除不會及時刷新HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
    NoSimpleNetIDList 的值等於 1


Samba服務器配置部分

  • 第一步:

進入 /etc/samba 目錄,備份下smb.conf,然後刪除這個文件,自己重新建立一個,輸入如下內容

[global]
workgroup = WORKGROUP
netbios name = www.test.com # 這裏重點中的重點,這個名字最好和機器名一樣,遠程訪問的時候就用這個名字
server string = C2 is samba server
security = share

load printers = no            #不加載打印機
disable spoolss = yes         #隱藏打印機
cups options = raw            #打印機類型

unix charset = utf8
dos charset =GBK
display charset = utf8
client lanman auth = yes
client plaintext auth = yes

hosts deny = 192.168.0.55 #阻止這個IP訪問SMB


[public]
path = /var/public
writeable = yes
browseable = yes
guest ok = yes

簡單解釋下上麵的內容 [global]全局配置,必須有。前3行都是顯示說什麼的,security 如果是share就是不用帳號密碼,如果是user就是要驗證的。

[public]這個是在客戶端顯示出來共享的目錄,path 就是共享的路徑了,guest ok 為yes就是不要身份驗證。

  • 第二步:

在 /var/目錄建立個文件夾叫 public 用來做共享文件夾用

[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /var/public

OK,然後重啟SMB服務器 service smb restart 和 service nmb start 一個簡單不用驗證的共享服務器就搞定了。

  • 第三步: 做一個需要帳號密碼的共享服務器
  1. 先用命令 useradd public -s /sbin/nologin(係統建立一個叫public的帳號且不能登陸係統)

  2. 然後再用命令smbpasswd -a public(用這個命令來添加一個SMB的帳戶叫public)

  3. chown public:public /var/public (讓public帳戶可以有權限使用/var/public這個目錄)

  4. 然後修改 /etc/samba/smb.conf 中:

[global]
workgroup = WORKGROUP                    // 用來指定你的機器上網絡上所述的NT域名
netbios name = www.google.com             //主機名,用來訪問用的地址,重要
server string = google is samba server      
guest account = public                    //如果希望建立一個賬號,再次填入用戶名,同時在 /etc/passwd 中加入這個賬號,否則使用默認的'nobody'作為賬號
security = user

// 這是samba服務器的安全等級。默認為user等級。samba 一共有4種安全等級。
// 1. share級,共享安全級,用戶不需要輸入賬號和密碼就可以登陸
// 2. user級, 用戶安全級,用戶需要賬號和密碼才能登陸
// 3. server級, 服務器安全級, 檢查密碼的工作可以指定另一台samba服務器完成
// 4. domain域安全級, 需要指定一台XP等服務器驗證用戶密碼


unix charset = utf8
dos charset = GBK
display charset = utf8
client lanman auth = yes
client plaintext auth = yes

[public]
path = /var/public
writeable = yes
browseable = yes
guest ok = no                    //用戶需要密碼,yes為不需要密碼(需要配合上麵的 security等級) 
comment = public
valid users = public              //可訪問的用戶
public = no                      //匿名用戶看不到
create mask = 0777 

主要就是把security改成user guest ok改成no

  1. 最後 service smb restartservice nmb start 這樣就做了個帶命令訪問的共享文件服務器了

  2. 如果開了防火牆打開

[root@s ~]# iptables -A INPUT -p tcp --dport 139 -j ACCEPT
[root@s ~]# iptables -A INPUT -p tcp --dport 445 -j ACCEPT
[root@s ~]# iptables -A INPUT -p udp --dport 137 -j ACCEPT
[root@s ~]# iptables -A INPUT -p udp --dport 138 -j ACCEPT
[root@s ~]# iptables -A INPUT -i lo -j ACCEPT

`

最後更新:2017-08-21 10:32:45

  上一篇:go  Denyhosts shell script
  下一篇:go  J2Cache開源中國兩級緩存實踐