免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7376 | 回复: 9
打印 上一主题 下一主题

[samba] 关于security = share的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-22 17:21 |只看该作者 |倒序浏览
当把security = share这样设置时,登陆samba是不需要用户名和密码的,但不知道能不能用指定的用户名和密码登陆呢?就是能不能登陆到指定用户名的主目录呢?

论坛徽章:
0
2 [报告]
发表于 2009-04-22 18:12 |只看该作者
原帖由 qingkong9416 于 2009-4-22 17:21 发表
当把security = share这样设置时,登陆samba是不需要用户名和密码的,但不知道能不能用指定的用户名和密码登陆呢?就是能不能登陆到指定用户名的主目录呢?


如果要指定用户,用security = user ,为什么要用share呢?

论坛徽章:
0
3 [报告]
发表于 2009-04-23 09:00 |只看该作者
我是想即可以匿名访问,也可以以用户名和密码的方式登录自己的主目录

论坛徽章:
0
4 [报告]
发表于 2009-04-23 10:19 |只看该作者
原帖由 qingkong9416 于 2009-4-23 09:00 发表
我是想即可以匿名访问,也可以以用户名和密码的方式登录自己的主目录



如果是在win的话,登陆一次,密码保存了,下次就不用输入密码了。

论坛徽章:
0
5 [报告]
发表于 2009-04-23 10:55 |只看该作者
net use \\samba服务器IP地址\IPC$ /delete 可以删除上一次建立的连接

我的意思是,让有的人只能以匿名的方式访问服务器,只能访问公共文件夹,而有的人可以以用户名和密码的方式访问服务器,即可以访问公共文件夹,也可以访问自己的主目录。

呵呵~~,不知道能不能实现这样的功能

[ 本帖最后由 qingkong9416 于 2009-4-23 11:45 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-04-23 12:06 |只看该作者
原帖由 qingkong9416 于 2009-4-23 10:55 发表
net use \\samba服务器IP地址\IPC$ /delete 可以删除上一次建立的连接

我的意思是,让有的人只能以匿名的方式访问服务器,只能访问公共文件夹,而有的人可以以用户名和密码的方式访问服务器,即可以访问公共 ...

http://bbs2.chinaunix.net/thread-1098863-1-1.html

论坛徽章:
0
7 [报告]
发表于 2009-04-23 12:23 |只看该作者
去看看,不明白再回来问

论坛徽章:
0
8 [报告]
发表于 2009-04-24 16:32 |只看该作者
原帖由 qingkong9416 于 2009-4-23 12:23 发表
去看看,不明白再回来问



研究有结果了吗?

论坛徽章:
0
9 [报告]
发表于 2009-04-24 17:04 |只看该作者

i770880 的帖子,不错

可以这样实现lz的需要

   security = user
时,加一句

  map to guest = bad user  

1,没有帐户的人,通过\\ip 登陆公共帐户。


2, 有帐户的人,通过\\ip\用户名    登陆自己的目录。再点击向上可以进入公共目录。

       但这样,win有个不好的地方就是,如果输入密码错误了,您就登陆不了,除非您重启电脑,或者执行  net use * /delete 关掉前一次连接。

论坛徽章:
0
10 [报告]
发表于 2009-05-05 08:44 |只看该作者

匿名用户与普通用户并发登录samba服务器

需要实现功能

    * 一个文件服务器通过\\ip或者\\name访问,不输入密码即能查看到根下的目录;

    * 要匿名找文件的直接点进去各个目录里面拷贝文件,不能删除;

    *单个目录由单个帐号在多台计算机上进行内容维护,即可以删除修改新建之类,这些帐号由密码保护。

    *有多台电脑使用同一个帐号要往共享目录里面写东西,这几个电脑的操作员都不希望自己知道这个密码。

测试实现过程

首先考虑使用 security = share 这种方式,经测试,此方式可以较好实现匿名访问只读,但是涉及到写操作就出现无法与授权用户区分的问题。具体如下:

        writeable (S)
           Inverted synonym for read only.

        read only (S)
           An inverted synonym is writeable.

           If this parameter is yes, then users of a service may not create or modify files  in  the  service
           directory.

           Note  that  a  printable  service (printable = yes) will ALWAYS allow writing to the directory (user
           privileges permitting), but only via spooling operations.

           Default: read only = yes

        write list (S)
           This  is a list of users that are given read-write access to a service. If the connecting user is in
           this list then they will be given write access, no matter what the read only option is set  to.  The
           list can include group names using the @group syntax.

           Note  that  if  a  user  is  in  both the read list and the write list then they will be given write
           access.

           By design, this parameter will not work with the security = share in Samba 3.0.

           Default: write list =

           Example: write list = admin, root, @staff

“By design, this parameter will not work with the security = share in Samba 3.0.” 意味着 security = share 这种方式的 write list 参数不可用,即 security = share 无法满足需求。

只能使用 security = user 进行尝试。

匿名用户与普通用户并发登录samba服务器--ZT公社古公的samba力作

6楼实现的原理是先匿名访问文件共享服务器,需要获取目录写权限时,首先访问一下需要权限的某个目录如HOME,登陆了之后Windows系统就缓存了用户名和密码,这样再访问需要写的目录时就自动有用户名和密码进行了验证(系统并无任何提示),这样就从HOME目录登陆过程中继承了用户登录信息进而获得了权限。

从chinaunix帖子中可以总结出如下解决方法:

   1.      使用 map to guest = bad user 来实现匿名访问文件服务器根目录列表,以避免访问服务器即需要输入用户和密码的问题;
   2.      共享资源使用普通最小配置 guest ok = yes 及 write list 参数即可,需要注意目录权限及属主问题;
   3.      配合Windows系统NET USE命令进行共享资源映射到盘符,使写权限的计算机不知道密码也可以正常操作该共享目录;


具体配置过程

[root@mail samba]# mkdir /data
[root@mail samba]# mkdir /data/lab
[root@mail samba]# adduser lab
[root@mail samba]# chown lab.lab /data/lab/
[root@mail samba]# smbpasswd -a lab
New SMB password:
Retype new SMB password:
Added user lab.

smb.conf配置文件

   security = user
   map to guest = Bad User

[lab]
   comment = Lab Share
   path = /data/lab
   guest ok = yes
   write list  = lab

需要向里面写数据的三台机器使用命令一次设置映射网络驱动器,只要不主动断开这个映射,以后一直都可以使用,/PERSISTENT:YES 参数表示记忆密码映射状态为永久。

命令如下:

net use x: \\file_server\lab  password /user:lab /PERSISTENT:YES

如有必要可能需要删除现有连接参数及密码:

net use * /delete

该共享的管理员可以将映射命令做成BAT文件,存在U盘上或者是直接发给需要设置写权限的计算机上运行。

如果此目录的管理员需要在某个机器上临时写几个文件进去,只需要浏览进HOME,登录后再访问lab共享,就可以写文件了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP