天天看点

samba的一些配置。

做的linuxsir的samba实验,不过我认为他的关于匿名访问根本不通。所以自己做了下,想了些办法。配置如下:

首先,于光盘中提取这四个文件。

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大全,你全部看完就会了。

继续阅读