做的linuxsir的samba實驗,不過我認為他的關于匿名通路根本不通。是以自己做了下,想了些辦法。配置如下:
首先,于CD光牒中提取這四個檔案。
rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
這個rpm是用來支援samba swat的。
/etc/init.d/smb start
一:建立目錄
mkdir linuxsir
mkdir sir01 sir02 sir03 sir04 sirshare sir0104rw sirallrw
/opt/linuxsir 這是管理者目錄,負責管理其下所有目錄;
/opt/linuxsir/sir01 是sir01的家目錄,用于私用,除了使用者本身和
linuxsir以外其它使用者都是不可讀不可寫;
/opt/linuxsir/sir02 是sir02的家目錄,用于私用,除了使用者本身和
/opt/linuxsir/sir03 是sir03的家目錄,用于私用,除了使用者本身和
/opt/linuxsir/sir04 是sir04的家目錄,用于私用,除了使用者本身和
/opt/linuxsir/sirshare 所用使用者(除了linuxsir有權限寫入外)隻讀目錄
/opt/linuxsir/sir0104rw 是用于sir01到sir04使用者可讀可寫共用目錄,但
匿名使用者不能讀寫;
/opt/linuxsir/sirallrw 用于所有使用者(包括匿名使用者)的可讀可寫;
/usr/sbin/groupadd linuxsir
/usr/sbin/groupadd sir01
/usr/sbin/groupadd sir02
/usr/sbin/groupadd sir03
/usr/sbin/groupadd sir04
/usr/sbin/groupadd sir0104
[root@cuc03 ~]# adduser -g sir01 -G sir0104 -d /linuxsir/sir01 -s
/sbin/nologin sir01
使用者sir01 添加到sir01組和 sir0104 組,且指定目錄,并且禁止本地登入
。
[root@cuc03 ~]# adduser -g sir02 -G sir0104 -d /linuxsir/sir02 -s
/sbin/nologin sir02
[root@cuc03 ~]# useradd -g sir03 -G sir0104 -d /linuxsir/sir03 -s
/sbin/nologin sir03
[root@cuc03 ~]# adduser -g sir04 -G sir0104 -d /linuxsir/sir04 -s
/sbin/nologin sir04
[root@cuc03 ~]# adduser -g linuxsir -G
linuxsir,sir01,sir02,sir03,sir04,sir0104 -d /linuxsir -s /sbin/nologin
linuxsir
more /etc/passwd
smbpasswd -a sir01
smbpasswd -a sir02
smbpasswd -a sir03
smbpasswd -a sir04
smbpasswd -a linuxsir
[root@cl samba]# ls -ld linuxsir/
drwxr-xr-x 9 root root 4096 07-07 11:22 linuxsir/
[root@cuc03 ~]# chmod 755 /opt/linuxsir 保證此檔案夾使用者所有者
權限為7,其使用者權限為rx ,用以确定其它使用者有進入此目錄的權限。
[root@cl samba]# chmod 755 linuxsir/
[root@cuc03 ~]# chown linuxsir:linuxsir /opt/linuxsir 更改檔案假用
戶所有者。
[root@cl samba]# chown linuxsir:linuxsir linuxsir/
drwxr-xr-x 9 linuxsir linuxsir 4096 07-07 11:22 linuxsir/
[root@cl linuxsir]# ls -l
drwxr-xr-x 2 root root 4096 07-07 11:22 sir01
drwxr-xr-x 2 root root 4096 07-07 11:22 sir0104rw
drwxr-xr-x 2 root root 4096 07-07 11:22 sir02
drwxr-xr-x 2 root root 4096 07-07 11:22 sir03
drwxr-xr-x 2 root root 4096 07-07 11:22 sir04
drwxr-xr-x 2 root root 4096 07-07 11:22 sirallrw
drwxr-xr-x 2 root root 4096 07-07 11:22 sirshare
[root@cuc03 ~]# cd /opt/linuxsir
[root@cuc03 ~]# chmod 2770 sir0*
[root@cl linuxsir]# chmod 2770 sir0* 等價于chomod g+s sir0*
該權限隻對目錄有效. 目錄被設定該位後, 任何使用者在此目錄下建立的文
件都具有和該目錄所屬的組相同的組.
drwxrws--- 2 root root 4096 07-07 11:22 sir01 組權限加了一個W是
因為7的緣故。
drwxrws--- 2 root root 4096 07-07 11:22 sir0104rw
drwxrws--- 2 root root 4096 07-07 11:22 sir02
drwxrws--- 2 root root 4096 07-07 11:22 sir03
drwxrws--- 2 root root 4096 07-07 11:22 sir04
chown sir01.linuxsir sir01
chown sir02.linuxsir sir02
chown sir03.linuxsir sir03
chown sir04.linuxsir sir04
chown linuxsir.sir0104 sir0104rw
drwxrws--- 2 sir01 linuxsir 4096 07-07 11:22 sir01 使用者sir01, 用
戶組linuxsir具有全部權限。注:linuxsir使用者組中含使用者linuxsir.
drwxrws--- 2 linuxsir sir0104 4096 07-07 11:22 sir0104rw 使用者linuxsir
,使用者組sir0104 具有全部權限。注:sir0104組含sir01--sir04使用者。
drwxrws--- 2 sir02 linuxsir 4096 07-07 11:22 sir02 使用者sir02, 使用者
組linuxsir具有全部權限。注:linuxsir使用者組中含使用者linuxsir.
drwxrws--- 2 sir03 linuxsir 4096 07-07 11:22 sir03 使用者sir03, 使用者
drwxrws--- 2 sir04 linuxsir 4096 07-07 11:22 sir04 使用者sir04, 使用者
drwxr-xr-x 2 root root 4096 07-07 11:22 sirallrw
drwxr-xr-x 2 root root 4096 07-07 11:22 sirshare
[root@cuc03 ~]# chown linuxsir.linuxsir sirshare
[root@cuc03 ~]# chmod 755 sirshare sirshare檔案夾隻
有 使用者linuxsir具有全部權限,并是檔案夾擁有者,其他使用者隻有讀權限
------------------------------------
[root@cl linuxsir]# chown linuxsir.linuxsir sirshare
[root@cl linuxsir]# chmod 755 sirshare
drwxrws--- 2 sir01 linuxsir 4096 07-07 11:22 sir01
drwxrws--- 2 linuxsir sir0104 4096 07-07 11:22 sir0104rw
drwxrws--- 2 sir02 linuxsir 4096 07-07 11:22 sir02
drwxrws--- 2 sir03 linuxsir 4096 07-07 11:22 sir03
drwxrws--- 2 sir04 linuxsir 4096 07-07 11:22 sir04
drwxr-xr-x 2 linuxsir linuxsir 4096 07-07 11:22 sirshare
---------------------
[root@cuc03 ~]# chown linuxsir:linuxsir sirallrw
[root@cuc03 ~]# chmod 3777 sirallrw 這個三應改是代表着
2+1,即組id和防删除位。
[root@cl linuxsir]# chown linuxsir:linuxsir sirallrw
[root@cl linuxsir]# chmod 3777 sirallrw
drwxrwsrwt 2 linuxsir linuxsir 4096 07-07 11:22 sirallrw
[linuxsir]
comment = linuxsiradmin
path = /linuxsir
create mask = 0664
directory mask = 0775
browseable = yes
writable = yes
valid users = linuxsir
/* /opt/linuxsir 這是管理者目錄,負責管理其下所有目錄;
[sirshare]
comment = sirshare
path = /linuxsir/sirshare
guest ok = yes
[sirallrw]
comment = sirallrw
path = /linuxsir/sirallrw
[sir0104rw]
comment = sir0104rw
path = /linuxsir/sir0104rw
valid users = linuxsir,sir01,sir02,sir03,sir04,@sir0104rw
[sir01]
comment = sir01
path = /linuxsir/sir01
valid users = sir01,@sir0104rw
[sir02]
comment = sir02
path = /linuxsir/sir02
valid users = sir02,@sir0104rw
[sir03]
comment = sir03
path = /linuxsir/sir03
valid users = sir03,@sir0104rw
[sir04]
comment = sir04
path = /linuxsir/sir04
valid users = sir04,@sir0104rw
此次安裝遇到的一系列問題。
http://ino1.go.3322.org/samba
這篇文章以注于以詳細的了解samba,也可以看我的轉載。
我沒那麼多閑功夫全看,隻參考了一部分。如下:
四、 Samba 的安全級
Samba 有四種安全級,由參數 security 定義,該參數隻能出現在 [global]
中,是一個全局參數.
這四種安全級是 share,user,server,domain ,其中後三種屬于安全模式(
Security Mode ),這裡重點讨論 share 和 user 安全級.
1) security = share
當客戶機連接配接到一個 share 安全級的伺服器時,它在連接配接共享之前,不需
要首先提供正确的帳号和密碼就可以登入到伺服器(雖然 Windows
95/98/NT 等客戶機在連接配接share 級伺服器時會發出一個登入請求,該請
求隻包含帳号).相反的,客戶機隻有在連接配接特定的共享時才需提供密碼.
注意: 伺服器總是使用有效的 Linux 帳号來提供服務,即使是工作在
share 安全級.
因為客戶機并不向 share 級的伺服器提供帳号,是以伺服器使用下面的技
術來确定使用什麼帳号提供服務:
1> 如果該共享包含 " guest only =yes " 參數,則使用 " guest account=
" 參數指定的 guest 帳号,忽略下面的步驟.
2> 如果連接配接請求同時提供一個帳号,那麼該帳号被認為是潛在的帳号.
3> 如果客戶機在此之前發出過登入請求,那麼該請求包含的帳号也被視
為潛在的帳号.
4> 客戶機請求連接配接的共享名被視為潛在帳号.
5> 客戶機的 NetBIOS 名被視為潛在帳号.
6> " user = " 清單中的帳号被視為潛在帳号.
如果 " guest only " 參數為假,則檢查所有的潛在帳号,使用第一個和密碼
比對的帳号.如果 guest only " 參數為真,或者該共享允許使用 " guest
account " ,則使用之,否則拒絕連接配接.可見, share 伺服器決定帳号的過程
是很複雜的.
2) security = user
這是 Samba 預設使用的安全級.使用 user 安全級時,伺服器要求客戶機
首先以正确的帳号和密碼登入(可以對帳号進行映射). " user = " 和
"guest only " 等可能改變使用者身份的參數隻有在使用者成功登入之後才起
作用.
注意: 客戶機請求連接配接的共享名隻有在登入之後才傳遞給伺服器,是以沒
有通過身份驗證的使用者無法通路任何共享(包括 guest 共享).可以使用
"map to guest " 選項将未知使用者映射為 guest 使用者,以允許通路 guest
共享.
3) security = server
在 server 安全級下, Samba 使用遠端 SMB 伺服器(如 Windows NT 服務
器)進行身份驗證,如果失敗則自動切換到 user 安全級.對于客戶機來說,
server 安全級和 user 安全級沒有什麼不同.
4) security = domain
要是用本模式,必須使用 smbpasswd 程式将 Samba 伺服器加到一個
Windows NT 域中,并且使用"加密密碼(Encrypted Passwords)".在本安全
級下, Samba 借助 Windows NT 主要伺服器( Windows NT Primary )或
者是後備域控制器(Backup Domain Controller) 進行身份驗證,采取
Windows NT 伺服器相同的行為.
*********************************************************
******************
share 和 user 安全級的比較
share 安全級面向資源,使用者每連接配接一個非 guest 共享都需要提供一個密
碼.如果主要提供 guest 共享,就應該使用 share 安全級.
user 安全級面向使用者,使用者登入後,就無需再為單獨的共享提供密碼,比較
友善.如果使用者再 PC 上的帳号和在 Linux 上的帳号相同,那麼使用 user
安全級是非常合适的.
=========================
我不認為采用user模式可以做到在登入IP後不需要使用者名和密碼直接
登入,
即使通過在XP中開通guest使用者,在samba中添加guest的方法來做,也
是不可取的。
win會提示你
不允許一個使用者使用一個以上使用者名與一個伺服器或共享資源的多重連
接,中斷與此伺服器或共享資源的所有連結,然後再試一次。
我認為這句話已經說的十分之清楚了。
你先用guest通路,然後通路别的同樣需要使用者名和密碼的檔案夾時被
win阻止了。
是以,如果想要做到通路IP不需要輸入密碼,在通路檔案夾時才需要
,隻有采取share模式。然後通過Smb。conf模式來進行權限控制。
這樣做的唯一小小缺憾是,你通路特定檔案夾時無法輸入使用者名,但是
密碼是正确的,該是誰的密碼就是誰的密碼。。
PS:sirallrw要加所有使用者,而非使用者組。目前看來就這樣。
在此小小鄙視一下某些人。。比如:
A:這個XXX問題怎麼弄?
B:去看配置檔案,你認真看完就會了。
B: 去看read me,你認真看完就會了。
B:去看log,你認真看完就會了。
B:去看XX大全,你全部看完就會了。