samba服務器創立及附上自己和別人的實例及一些無法登陸的問題


一、ubuntusamba配置

步驟1:安裝samba服務

apt-get install samba smbfs (以下指令均爲root登陸下命令)

步驟2:添加samba服務用戶

useradd username//添加linux用戶,用戶名爲username(可自定義)

passwd username//username用戶設置登陸密碼

smbpasswd -a username//添加該用戶到samba服務中,並設置usernamesamba登錄密碼

//刪除用戶 userdel -r username

步驟3.smb.conf設置

#cd /etc/samb //進入設置目錄

#mv smb.confsmb.conf.bak //做好備份,直接將系統默認配置文件改名

#gedit smb.conf //建立和配置smb.conf文件

[global]//全局配置

workgrop=x1 //X1爲你當前局域網中的工作組名,在硬件部是mshome(此處不區分大小寫)

server string=x2 //x2爲你linux主機描述性文字,比如:samba server。可默認,不作更改

security=user //samba的安全等級,user代表登陸samba服務器需要輸入用戶名和密碼

步驟4:上述修改完成後,在smb.conf最後添加共享文檔信息

[x3] //方框號中的x3這個名字可以隨便取,只是在win中顯示的共享文件夾名

path=/home/x4 //設置共享文件路徑,x4爲你要共享的文件夾名,在共享前還要建立這個文件夾,並設好權限以便訪問,下面會說明。

valid users=user1,user2,... //這個x4共享目錄只允許當前user1user2...用戶進入

public=no     //no表示除了上述用戶,其它用戶在進入samba服務器後看不見x4這個目錄,如果爲yes,雖然能看見x4這個目錄,但除了已規定用戶能進入這個目錄,其它人進不了。

writable=yes   //允許user1x4目錄中進行讀和寫操作,反之no

建議添加配置如下

create mode = 0777

directory mode = 0777

//存盤退出

#testparm //檢查語法錯誤,文檔設置信息

步驟5:建立共享目錄

#mkdir /home/x4//一般在root的目錄home下建立的文件,用戶權限不夠,會造成無法訪問,建議在其他目錄下建立x4

#chown -R user1:user1 /home/x4 //因爲是root建立的目錄,其它用戶只有讀的權限,所還得把權限改一下。當然也可以簡單的用#chmod 777 /home/x4。還有個問題就是共享裏目錄的文件如果有些能訪問有些不能訪問,那肯定也是權限的問題,進入/home/x4,直接#chmod 777 *來解決。

步驟6:重啓samba服務

#/etc/init.d/samba restart

二、samba連接問題

1.連接samba服務器無法找到網絡路徑

出現上述問題,在samba服務器下有以下幾點原因

1.權限  security (smb.conf)註釋掉;文件夾本身權限

2.防火牆  windows防火牆以及ubuntu防火牆

3.賬戶設置 添加ubuntu用戶,valid users

還有以下幾個問題,如宿主機不在workgroup中等小問題。



複雜一點的用戶共享模型(適合10人左右的小型企業);


比如一個公司有五個部門,分別是linuxsir,sir01,sir02,sir03,sir04。我們想爲這家公司設計一個比較安全的共享文件
模型。每個用戶都有自己的網絡磁盤,sir01到sir04還有共用的網絡硬盤;所有用戶(包括匿名用戶)有一個共享資料庫,此庫爲了安全是隻讀的;所有
的用戶(包括匿名用戶)要有一個臨時文件終轉的文件夾... ....

1 共享權限設計實現的功能;

1)linuxsir部門具有管理所有SMB空間的權限;
2)sir01到sir04擁有自己的空間,並且除了自身及linuxsir有權限以外,對其它用戶具有絕對隱私性;
3)linuxsir01到linuxsir04擁有一個共同的讀寫權限的空間;
4) 所有用戶(包括匿名用戶)有一個有讀權限的空間,用於資料庫,所以不要求寫入數據。
5)sir01到sir04還有一個共同的空間,對sir01到sir04的用戶來說是隱私的,不能讓其它用戶來訪問。
6) 還要有一個空間,讓所有用戶可以寫入,能刪除等功能,在權限上無限制 ,用於公司所有用戶的臨時文檔終轉等;

2 在服務器上創建相應的目錄;

[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# cd /opt/linuxsir
[root@localhost linuxsir]# mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw
[root@localhost linuxsir]# ls
sir01 sir0104rw sir02 sir03 sir04 sirallrw sirshare
注:功用如下:
/opt/linuxsir 這是管理員目錄,負責管理其下所有目錄;
/opt/linuxsir/sir01 是sir01的家目錄,用於私用,除了用戶本身和linuxsir以外其它用戶都是不可讀不可寫;
/opt/linuxsir/sir02 是sir02的家目錄,用於私用,除了用戶本身和linuxsir以外其它用戶都是不可讀不可寫;
/opt/linuxsir/sir03 是sir03的家目錄,用於私用,除了用戶本身和linuxsir以外其它用戶都是不可讀不可寫;
/opt/linuxsir/sir04 是sir04的家目錄,用於私用,除了用戶本身和linuxsir以外其它用戶都是不可讀不可寫;
/opt/linuxsir/sirshare 所用用戶(除了linuxsir有權限寫入外)只讀目錄
/opt/linuxsir/sir0104rw 是用於sir01到sir04用戶可讀可寫共用目錄,但匿名用戶不能讀寫;
/opt/linuxsir/sirallrw 用於所有用戶(包括匿名用戶)的可讀可寫;

3 添加用戶用戶組,設置相應目錄家目錄的權限;


3.1 添加用戶組;

[root@localhost ~]# /usr/sbin/groupadd linuxsir
[root@localhost ~]# /usr/sbin/groupadd sir01
[root@localhost ~]# /usr/sbin/groupadd sir02
[root@localhost ~]# /usr/sbin/groupadd sir03
[root@localhost ~]# /usr/sbin/groupadd sir04
[root@localhost ~]# /usr/sbin/groupadd sir0104

3.2 添加用戶;

[root@cuc03 ~]# adduser -g sir01 -G sir0104 -d /opt/linuxsir/sir01 -s /sbin/nologin sir01
[root@cuc03 ~]# adduser -g sir02 -G sir0104 -d /opt/linuxsir/sir02 -s /sbin/nologin sir02
[root@cuc03 ~]# adduser -g sir03 -G sir0104 -d /opt/linuxsir/sir03 -s /sbin/nologin sir03
[root@cuc03 ~]# adduser -g sir04 -G sir0104 -d /opt/linuxsir/sir04 -s /sbin/nologin sir04
[root@cuc03
~]# adduser -g linuxsir -d /opt/linuxsir -G
linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /opt/linuxsir -s
/sbin/nologin linuxsir
爲什麼這樣添加用戶?請參考:
《Linux 文件和目錄的屬性》
《Linux 用戶管理工具介紹》
當然我們還得學會查看用戶信息的工具用法,比如 用finger和id來查看用戶信息,主要是看用戶是否添加正確;比如;請參考
《Linux 用戶(User)查詢篇》
[root@localhost ~]# id linuxsir
[root@localhost ~]# finger linuxsir

3.3 添加samba用戶,並設置密碼;

我們用的方法是先添加用戶,但添加的這些用戶都是虛擬用戶,因爲這些用戶是不能通過SHELL登錄系統的;另外值得注意的是系統用戶密碼和
Samba用戶的密碼是不同的。如果您設置了系統用戶能登入SHELL,可以設置用戶的Samba密碼和系統用戶通過SHELL登錄的密碼不同。
我們通過smbpasswd 來添加Samba用戶,並設置密碼。原理是通過讀取/etc/passwd文件中存在的用戶名。
[root@localhost sir01]# smbpasswd -a linuxsir
New SMB password: 注:在這裏添加Samba用戶linuxsir的密碼;
Retype new SMB password: 注:再輸入一次;
用同樣的方法來添加 sir01、sir02、sir03、sir04的密碼;

3.4 配置相關目錄的權限和歸屬;

[root@cuc03 ~]# chmod 755 /opt/linux
[root@cuc03 ~]# chown linuxsir:linuxsir /opt/linuxsir
[root@cuc03 ~]# cd /opt/linuxsir
[root@cuc03 ~]# chmod 2770 sir0*
[root@cuc03 ~]# chown sir01.linuxsir sir01
[root@cuc03 ~]# chown sir02.linuxsir sir02
[root@cuc03 ~]# chown sir03.linuxsir sir03
[root@cuc03 ~]# chown sir04.linuxsir sir04
[root@cuc03 ~]# chown linuxsir.sir0104 sir0104rw
[root@cuc03 ~]# chown linuxsir.linuxsir sirshare
[root@cuc03 ~]# chmod 755 sirshare
[root@cuc03 ~]# chown linuxsir:linuxsir sirallrw
[root@cuc03 ~]# chmod 3777 sirallrw

4 修改Samba配置文件 smb.conf;

配置文件如下,修改/etc/samba/smb.conf後,不要忘記重啓smbd和nmbd服務器;
[global]
workgroup = LINUXSIR
netbios name = LinuxSir
server string = Linux Samba Test Server
security = share
[linuxsir]
        comment = linuxsiradmin
        path = /opt/linuxsir/
        create mask = 0664
#create mask是用戶創建文件時的權限掩碼;對用戶來可讀可寫,對用戶組可讀可寫,對其它用戶可讀;
        directory mask = 0775
#directory mask 是用來設置用戶創建目錄時的權限掩碼,意思是對於用戶和用戶組可讀可寫,對其它用戶可讀可執行;
        writeable = yes
        valid users = linuxsir
        browseable = yes
[sirshare]
        path = /opt/linuxsir/sirshare
        writeable = yes
        browseable = yes
        guest ok = yes
[sirallrw]
        path = /opt/linuxsir/sirallrw
        writeable = yes
        browseable = yes
        guest ok = yes
[sir0104rw]
        comment = sir0104rw
        path = /opt/linuxsir/sir0104rw
        create mask = 0664
        directory mask = 0775
        writeable = yes
        valid users = linuxsir,@sir0104
#@sir0104是用戶組;
        browseable = yes
[sir01]
        comment = sir01
        path = /opt/linuxsir/sir01
        create mask = 0664
        directory mask = 0775
        writeable = yes
        valid users = sir01,@linuxsir
        browseable = yes
[sir02]
        comment = sir02
        path = /opt/linuxsir/sir02
        create mask = 0664
        directory mask = 0775
        writeable = yes
        valid users = sir02,@linuxsir
        browseable = yes
[sir03]
        comment = sir03
        path = /opt/linuxsir/sir03
        create mask = 0664
        directory mask = 0775
        writeable = yes
        valid users = sir03,@linuxsir
        browseable = yes
[sir04]
        comment = sir04
        path = /opt/linuxsir/sir04
        create mask = 0664
        directory mask = 0775
        writeable = yes
        valid users = sir04,@linuxsir
        browseable = yes

5 關於客戶端訪問;


5.1 Windows 訪問;

我們打開Windows的IE瀏覽器,用IP地址的訪問方式就能訪問了,格式爲 \\192.168.1.3 類似的。

右鍵計算機,點擊映射網絡文件夾也可以。

 如果以上的步驟還是不能實現linuxsir的權限,ok,我們還有絕招,修改passwd文件,將linuxsir後面的兩個數字置爲0,這樣就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章