Next Previous Contents

5. 安全和访问控制

5.1 符号链接

follow symlinks 是否使用符号链接 wide links 允许遵循共享目录树之外的链接

admin users = melissa 有着administrative 权限的用户可以读、写或修改任何包含在用户已明确给予 administrative 权限的资源里的任何信息

5.2 自动运行

preexec=<命令或脚本路径名>

postexec=<命令或脚本路径名>

root preexec=<命令或脚本路径名>

root postexec=<命令或脚本路径名>

例如对于CDROM共享:

root preexec=/user/sbin/mount -o ro /dev/cd0 /mnt/cdrom

root postexec=/user/sbin/umount /mnt/cdrom

5.3 访问控制选项

hosts allow 和 hosts deny

通过 hosts allowhosts deny 参数指定的主机名和/或IP地址进行的基于主机的访问控制 可以满足最简单的认证需要。多个参数以空格隔开, 表示方法可以为完整的IP地址或网段.

例如: hosts allow = 192.168. except 192.168.0.10

认证级别

security = share, user, server, domain

share---不需要提供用户名和密码

user----需要提供用户名和密码,而且身份验证由 samba server 负责

server--需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证

domain--需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证

password level = <位数>;

username level = <位数>;

设定用户名密码的最长位数

valid users 和 invalid users

设定只有此名单内的用户才能/不能访问共享资源(拒绝优先)(用户名/@组名) 如果用户名以 @或&字符作前缀,则说明相应的用户名代表一个用户组,如果以+字符作为前缀,则用UNIX组文件对该用户名进行检查

force group 和 force user

指定存取资源时须以此设定的群组使用者/使用者进入才能存取(用户名/@组名)

guest ok

是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

guest account

设定访问 samba server 的来宾帐户(即访问时不用输入用户名和密码的帐户),若设为pcguest的话则为默认为"nobody"用户

read only

是yes/否no以只读方式共享当与writable发生冲突时也writable为准

read list

设定此名单内的成员为只读(用户名/@组名)

writeable

是yes/否no不以只读方式共享当与read only发生冲突时,无视read only

write list

若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)

force security mode, force create mode, force directory mode, force directory security mode 和 security mask

当用户在NT上更改远程文件的权限时,Samba就把它们映射为UNIX标准权限,并把它们与security mask选项的值进行比较,如果该选项没有把被更改权限所对应的那一位设为1,就忽略这一位的更改(标准UNIX权限有12位)。如果把该选项的某一位设为0,那么用户就不能更改这一位所对应的权限了。

如果你没有明确地这个选项,那么它的值就和create mask 选项的值相同。如果想允许用户修改文件的所有权限(三个权限组),就把它设为0777就可以了。

security mask 和 create mask

建立文件时所给的权限, 如果security mask没设,则按照create mask 模式.

例如:

security mask = 0777

create mask = 0660

directory security mask 和 directory mask

建立目录时所给的权限

例如:

directory mask = 0771

veto files

隐藏/限定指定文件

选项将文件说明与斜线字符(/)区别开,并支持标准通配符,星号(*)以及问号(?)。如果不允许共享EXE文件,COM文件,或者DLL文 件,可以将一个veto文件属性设置如下:

veto files = /*.exe/*.com/*.dll/

hide files

在客户端进行访问的时候是不显示隐藏文件;

hide dot files

指明是不是像unix那样隐藏以"."号开头的文件。

delete veto files

当用户删除有veto files的目录时, 是否允许删除veto files以及目录.

delete readonly = no # 是否允许dos用户删除只读文件

# 是否允许dos用户删除只读文件

dont descend

指定 Samba 不应该进入共享中的目录。它可以方便地防止 Samba 进入一个包含递归符号链接的目录,或者限制对如 /proc 和 /dev 等无关目录的访问。请务必测试 dont descend= 设置来确保它们能使用.

例如,您可能需要将 "dont descend= /dev" 换为 "dont descend= ./dev"。

locking

#由于文件只能同时被打开一次,当文件打开时,samba会自动让其他访问守候,为了文件不被破坏


Next Previous Contents