一、ubuntu下samba配置
步驟1:安裝samba服務
apt-get install samba smbfs (以下指令均爲root登陸下命令)
步驟2:添加samba服務用戶
useradd username//添加linux用戶,用戶名爲username(可自定義)
passwd username//爲username用戶設置登陸密碼
smbpasswd -a username//添加該用戶到samba服務中,並設置username的samba登錄密碼
//刪除用戶 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共享目錄只允許當前user1,user2...用戶進入
public=no //no表示除了上述用戶,其它用戶在進入samba服務器後看不見x4這個目錄,如果爲yes,雖然能看見x4這個目錄,但除了已規定用戶能進入這個目錄,其它人進不了。
writable=yes //允許user1在x4目錄中進行讀和寫操作,反之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,這樣就可以了