QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1293|回复: 14

[请教]一个棘手的SAMBA问题!

[复制链接]
发表于 2005-6-20 14:15:46 | 显示全部楼层 |阅读模式
我有个朋友搞了个SAMBA做文件服务器!因为和WINDOWS连接,所以使用security=share的情况,目前他的需求是:用户可以不输入密码即可访问该机器的资源(这个已经满足),但是用户也可以上传东西到这个目录(应该叫复制,不是上传!),但是用户上传的东西无法被用户自己删除,只能由ROOT等高权利用户来删除

我认为这个有些自相矛盾!因为:1用户也可以上传东西到这个目录
2用户上传的东西无法被用户自己删除
这些都必须让用户有写的权限,所以矛盾!你说呢?
除非和VSFTPD里面一样,上传后OWNER改变成ROOT所有,这样还可以说

可以的话,怎么实现???
 楼主| 发表于 2005-6-20 17:35:16 | 显示全部楼层
亲爱的斑竹们,您在哪里?能发表一下高见?
回复

使用道具 举报

发表于 2005-6-21 07:09:20 | 显示全部楼层
目录的权限如何, ls -al 一个看看, 有没有加上强制位或是冒险位?
回复

使用道具 举报

 楼主| 发表于 2005-6-21 08:16:08 | 显示全部楼层
[quote:984534fb4d="linky_fan"]目录的权限如何, ls -al 一个看看, 有没有加上强制位或是冒险位?[/quote]

我其实是这样设定权限的:
原来的共享目录:
/usr/public         root:wheel       777
smb.conf中设定:
security=share
path=/usr/public
browseable=yes
writeable=yes
public=yes
guest=yes
force create mode=644
force directory mode=755
假设里面有个root所有的权限是755的readme.txt
但是上述情况下,
1.你仍然可以剪切掉readme.txt到其他地方(网络上剪切掉)
2.就算网络上的用户可以复制到这个共享目录,另一个网络用户也可以删除刚才那个用户复制的东西,因为security=share!
斑竹再侃侃?
回复

使用道具 举报

发表于 2005-6-21 09:43:04 | 显示全部楼层
/usr/public root:wheel 777

既然目录权限都是777了, 就算里面有一个文件是755的, 普通用户是无法修改的,因为没有对文件w的权利,  但是的确是可以删除的, 因为目录有w的权利, that's all . 就像你所说的那样

1.你仍然可以剪切掉readme.txt到其他地方(网络上剪切掉)
2.就算网络上的用户可以复制到这个共享目录,另一个网络用户也可以删除刚才那个用户复制的东西,因为security=share!
斑竹再侃侃?
回复

使用道具 举报

 楼主| 发表于 2005-6-22 08:03:07 | 显示全部楼层
[quote:22a3a88173="linky_fan"]
/usr/public root:wheel 777

既然目录权限都是777了, 就算里面有一个文件是755的, 普通用户是无法修改的,因为没有对文件w的权利,  但是的确是可以删除的, 因为目录有w的权利, that's all . 就像你所说的那样

1.你仍然可以剪切掉readme.txt到其他地方(网络上剪切掉)
2.就算网络上的用户可以复制到这个共享目录,另一个网络用户也可以删除刚才那个用户复制的东西,因为security=share!
斑竹再侃侃?
[/quote]

那么如果目录权限是755, 里面有一个文件是755的, 普通用户是无法修改的,因为没有对文件w的权利,  但这样也是不可以删除的, 因为目录没有w的权利,这样的话,security=share的情况下,用户也无法复制东西到这个目录的吧???
反正能复制就能删除这个文件,你说呢?
所以我1楼的情况无法实现?
回复

使用道具 举报

发表于 2005-6-22 13:11:37 | 显示全部楼层
那么如果目录权限是755, 里面有一个文件是755的, 普通用户是无法修改的,因为没有对文件w的权利, 但这样也是不可以删除的, 因为目录没有w的权利,这样的话,security=share的情况下,用户也无法复制东西到这个目录的吧???

对的, 但是有一种情况例外, 看一下你的/tmp的目录属性. 在最后一位是一个t, 代表该目录里的文件只能由文件的所有者删除, 其他人不行. 现在你知道该怎么做了吧?
回复

使用道具 举报

 楼主| 发表于 2005-6-23 08:01:38 | 显示全部楼层
[quote:727e2209b0="linky_fan"]
那么如果目录权限是755, 里面有一个文件是755的, 普通用户是无法修改的,因为没有对文件w的权利, 但这样也是不可以删除的, 因为目录没有w的权利,这样的话,security=share的情况下,用户也无法复制东西到这个目录的吧???

对的, 但是有一种情况例外, 看一下你的/tmp的目录属性. 在最后一位是一个t, 代表该目录里的文件只能由文件的所有者删除, 其他人不行. 现在你知道该怎么做了吧? [/quote]

你说的没有错,但是你的这种情况只在不同用户进入一个777的目录才有效吧!
这种你说的情况用chmod 1777 /目录名 就对了,是吧?(这个我试过,对我的情况无效,还有啥高见,或者说说你的想法)

我的情况是:用户不输入密码就可以进入这个共享的文件夹啦!就是说security=share的情况
例如:

原来的共享目录:
/usr/public root:wheel 1777
smb.conf中设定:
security=share
path=/usr/public
browseable=yes
writeable=yes
public=yes
guest=yes
#force create mode=644
#force directory mode=755
假设里面有个root所有的权限是755的readme.txt

一个client:win9X,他直接可以进入这个1777权限的目录,他复制了一个东西到里面
另一个client:win2k,也直接进入了这个1777权限的目录,他却可以直接删除这个东西啊!
回复

使用道具 举报

发表于 2005-6-23 15:59:17 | 显示全部楼层
换成user吧, 给samba添加一堆空密码的用户好了.
回复

使用道具 举报

 楼主| 发表于 2005-6-23 16:54:06 | 显示全部楼层
[quote:7018374557="linky_fan"]换成user吧, 给samba添加一堆空密码的用户好了.[/quote]

这个是不可能的啊!
因为我的情况是:用户不输入密码就可以进入这个共享的文件夹啦!就是说security=share的情况
关键是有些OS是WIN9X!
没辙了,斑竹老兄?
回复

使用道具 举报

发表于 2005-6-24 15:55:38 | 显示全部楼层
:neutral:  :neutral:
回复

使用道具 举报

发表于 2005-6-24 16:07:55 | 显示全部楼层
[quote:59fbe6b78f="岚轩"][quote:59fbe6b78f="linky_fan"]换成user吧, 给samba添加一堆空密码的用户好了.[/quote]

这个是不可能的啊!
因为我的情况是:用户不输入密码就可以进入这个共享的文件夹啦!就是说security=share的情况
关键是有些OS是WIN9X!
没辙了,斑竹老兄?[/quote]
为什么不可能?
试过?
劝你还是试试。
回复

使用道具 举报

 楼主| 发表于 2005-6-25 13:04:31 | 显示全部楼层
[quote:e798b58019="linky_fan"]:neutral:  :neutral:[/quote]

斑竹,到底OK否?
我也很想试啊!
我这样做了:
[root@lh3k samba]#useradd guest -g user -s /sbin/nologin
[root@lh3k samba]# passwd guest
Changing password for user guest.
New UNIX password:
BAD PASSWORD: it's WAY too short
Retype new UNIX password:
No password supplied
No password supplied
No password supplied
passwd: Authentication token manipulation error
现在提示是:空密码是无法更新的啊,怎么处理啊?

虽然我知道/etc/shadow里面有个
guest:$1$Gi3imtAd$owkQ2s21xxhMIIUtQocj7/:12959:0:99999:7:::
但是我还是不知道密码是不是空的了啊,或者怎么来创建一个空密码的帐号呢??

最后终于建立了一个空密码的smb帐号,还是无效啊!
smbpasswd -a guest
回车
回车
即空密码帐号guest加入了smb,但是security=user后WIN9X就无法访问啦,提示要输入密码,但是回车后无效啊!
所以根本就没有效果,大家来说说?
回复

使用道具 举报

发表于 2005-6-29 13:44:43 | 显示全部楼层
“标准的 samba + 相同的远程用户”是不可能实现的;

除非找/做个 samba 的 plugin,让它能够检测到“文件已经复制完毕”(关闭文件句柄?SMB协议有这种操作没?),然后以 root 身份执行 chmod 操作。
回复

使用道具 举报

 楼主| 发表于 2005-6-30 07:48:34 | 显示全部楼层
9494,支持斑竹啊,因为SAMBA里面没有和VSFTPD等里面类似的上传后更改所有者的功能啦~看来要复制东西只有自己搞啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 18:48 , Processed in 0.050314 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表