SAMBA服務實例

火星人 @ 2014-03-09 , reply:0
←手機掃碼閱讀

Samba 是開放源代碼的GPL軟體,可以說又是自由軟體界的又一個重大貢獻.Samba的出現徹底解決了UNIX和Windows之間的資源共享與訪問,它以簡潔,實用,靈活配置,功能強大的特點受到越來越多的廣泛關注.也是因為這個原因現在幾乎所有類UNIX都可以使用Samba服務. 實例: 比如一個公司有五個部門,分別是linuxsir,sir01,sir02,sir03,sir04.我們想為這家公司設計一個比較安全的共享文件模型.每個用戶都有自己的網路磁碟,sir01到sir04還有共用的網路硬碟;所有用戶(包括匿名用戶)有一個共享資料庫,此庫為了安全是只讀的;所有的用戶(包括匿名用戶)要有一個臨時文件終轉的文件夾... ....
1.1共享許可權設計實現的功能;
1)linuxsir部門具有管理所有SMB空間的許可權;
2)sir01到sir04擁有自己的空間,並且除了自身及linuxsir有許可權以外,對其它用戶具有絕對隱私性;
3)linuxsir01到linuxsir04擁有一個共同的讀寫許可權的空間;
4) 所有用戶(包括匿名用戶)有一個有讀許可權的空間,用於資料庫,不要求寫入數據.
5)sir01到sir04還有一個共同的空間,對sir01到sir04的用戶來說是隱私的,不能讓其它用戶來訪問.
6) 還要有一個空間,讓所有用戶可以寫入,能刪除等功能,在許可權上無限制 ,用於公司所有用戶的臨時文檔終轉等;
1.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 用於所有用戶(包括匿名用戶)的可讀可寫;

1.3 添加用戶用戶組,設置相應目錄家目錄的許可權; 1.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

1.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

1.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的密碼;
1.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

1.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

本文出自 「苦咖啡」 博客,請務必保留此出處http://alsww.blog.51cto.com/2001924/451437





[火星人 via ] SAMBA服務實例已經有261次圍觀

http://www.coctec.com/docs/linux/show-post-49834.html