查看Samba Tips的源代码
←
Samba Tips
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 权限管理 == samba 的权限管理基础还是基于 Linux/Unix 的用户组和文件夹的权限控制 其中 samba 的用户一定是 Linux/Unix 系统用户的子集,即添加 samba 用户必须首先添加 Linux/Unix 的用户,samba 的用户名和密码须和 Linux/Unix 一致 samba 支持多种存取用户数据的机制:Plaintext, smbpasswd, ldapsam_compat (Samba-2.2 LDAP Compatibility), tdbsam, ldapsam 比较常用的是 smbpasswd, tdbsam 和 ldapsam。这个在 /etc/samba/smb.conf 中进行配置: <pre> passdb backend = smbpasswd (缺省) passdb backend = tdbsam (默认存储于/var/lib/samba/passdb.tdb) passdb backend = ldapsam:ldaps://ldap.jackslab.org </pre> 不指定 passdb backend 的情形下使用 smbpasswd 机制,相应的文件存储于 /etc/samba/smbpasswd 这个是一个文本文件,当然每个用户的密码已经成为加密字符串。在 Linux/Unix 中添加相应的用户后,可用如下命令生成 /etc/samba/smbpasswd: cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd 当采用 tdbsam 机制时,可用 pdbedit 添加、删除、修改 samba 用户;亦可用如下命令查看用户数据文件: tdbdump /var/lib/samba/passdb.tdb 添加 guest 和 root 用户: pdbedit -a guest pdbedit -a root 提示输入密码时,应与系统用户的密码一致 == 匿名访问 == 即实现不用输入用户名和密码的匿名访问 先保证 /etc/passwd 中有 nobody 的用户,能不能登录无所谓 I. 修改 smb.conf security =share # 使用共享模式,而不是 Linux 系统用户认证的模式 (user) guest account = nobody # guest ok 时,用来登录的系统用户名,当指定 valid users 时,这个将被覆盖 [data] comment = Shared Data path = /data guest ok = yes # 连接到这个服务不需要口令, 权限设置为 guest account 的权限 write list=nobody # 允许 nobody 在 data 里具有 samba 的写权限,当然 Linux 的文件夹要赋予 nobody 相应的权限才行 II. 设置文件夹的权限 # ls -l / | grep data drwxr-xr-x 24 root root 640 Nov 1 14:52 data # nobody 只读 建一个 upload 文件夹,集中搜集写入的文件 # ls -l /data |grep upload drwxrwxrwx 2 root root 88 Nov 1 18:40 upload 这样匿名用户无须输入用户名和密码,直接可以浏览 /data,且可以通过 /data/upload 上载数据 == 匿名用户模式下,root 登录管理 == pdbedit -a root # 添加 samba root 用户,密码与系统一致 smb.conf 中,加一个 admin 服务,目录同样指向 /data <pre> [admin] comment = Admin entry path = /data write list=root # samba 允许 root 的写请求可以 route 到 Linux 文件系统 valid users=root # 默认 root 用户访问 </pre> 建一个 /etc/samba/smbusers,内容如下: <pre> #### # User mapping file #### # File Format # ----------- # Unix_ID = Windows_ID # # Examples: # root = Administrator # janes = "Jane Smith" # jimbo = Jim Bones # # Note: If the name contains a space it must be double quoted. # In the example above the name 'jimbo' will be mapped to Windows # user names 'Jim' and 'Bones' because the space was not quoted. ####################################################################### root = Administrator </pre> 并在 smb.conf 中指定这个用户名映射: username map = /etc/samba/smbusers 这样在 Windows 从 admin 这个服务进入时就会默认以 root 登录,/data 的所有权限 root 都有 更多玩法可以 man smb.conf 获得更详细的信息 <br><br><br><br>
返回到
Samba Tips
。
个人工具
3.141.47.163
该IP地址的讨论
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面