分页: 1 / 2
查遍很多资料都没办法解决的samba问题(已解决)
发表于 : 2009-09-21 11:58
由 lucky_yjw
1. 能否允许公共分享的文件夹既能匿名登录且只读,又给特定用户登录后可读写?
2. 其实跟问题一是同样性质的:假设两个目录,一个为用户密码登录的文件夹,一个公共文件夹。我用参数security = share后能匿名登录公共文件夹,却不能登录用户文件夹了,即使已经输入正确的帐户密码登录。
3. ubuntu的samba预设是通过pam来进行用户身份的验证,但我还是搞不清它其中的机制。它预设默认的密码文档也是/etc/samba/smbpasswd, 而我知道samba与实际用户的密码是可以不一样的。但我用smbpasswd命令去新增一个samba用户(系统里已存在的帐户),设置不同的密码,却发现/etc/samba/smbpasswd的文档根本没用到,而功能却是正常的!我奇怪的是samba通过pam验证的密码档放在哪?
4. ubuntu中可以直接用图形界面共享文件夹(右击共享选项),能达到不修改smb.conf也能共享文件夹的目的。我想问一下这两者有什么区别和联系?我了解到图形界面的共享肯定用到了samba的某些套件,但不清楚两者之间的联系。
5. 用smbpasswd增加了一个samba用户后又不想用了,怎么删除它?我的意思不是要在系统里把对应的帐号删掉,只是让它不使用samba而已。
期待高手的解答~~~
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 12:56
由 ino1
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 15:23
由 木泥黑
代码: 全选
[global]
security = user
#server string = Linux %h
map to guest = Bad User
obey pam restrictions = Yes
passdb backend = tdbsam
guest account = www-data
invalid users = root
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
ldap ssl = no
panic action = /usr/share/samba/panic-action %d
hide unreadable = Yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
[tmp]
comment = tmp
path = /home/tmp
read only = No
create mask = 0777
directory mask = 0777
guest ok = Yes
[filebak]
comment = filebak
path = /home/filebak
read only = No
create mask = 0777
directory mask = 0777
贴我的配置给你参考,可以匿名打开tmp文件夹,但是打开filebak要用户名和密码
然后再chmod文件夹,设置好权限就ok了
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 16:03
由 lucky_yjw
木泥黑 写了:
贴我的配置给你参考,可以匿名打开tmp文件夹,但是打开filebak要用户名和密码
然后再chmod文件夹,设置好权限就ok了
我的不行啊,一旦把security = user(default值)就连进入共享主机都要你输入帐户密码了,不管你里面是否共享有公共的文件夹!
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 17:10
由 lucky_yjw
发现你这样的功能我也能做到。但如果主机内只有一个公共文件夹的时候怎么办?因为如果文件夹允许了匿名登录,在win上他就只用匿名登录了,怎么把他切换会特定用户登录啊?
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 18:45
由 ino1
lucky_yjw 写了:
发现你这样的功能我也能做到。但如果主机内只有一个公共文件夹的时候怎么办?因为如果文件夹允许了匿名登录,在win上他就只用匿名登录了,怎么把他切换会特定用户登录啊?
用命令。
------------------------------------
PS:
其实您这样的需求几乎没必要,除非您只想自己一个人后台维护共享文件夹里面的内容,共享文件夹主要提供只读共享服务。
一个变通的做法就是设置两个共享,即使服务器上只有一个目录,也是可以设置成两个共享的。用两个共享就简单解决并发登录的问题了。
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 18:48
由 szyzln
明白楼主的意思。
就好像FTP一样,即可以一开始匿名登录。如果想改变什么东西,就右键,选择“登录”。
我也找了好久,似乎没这个解决方案!
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 18:57
由 ino1
szyzln 写了:明白楼主的意思。
就好像FTP一样,即可以一开始匿名登录。如果想改变什么东西,就右键,选择“登录”。
我也找了好久,似乎没这个解决方案!
smb服务的登录可以使用命令的。windows下记住两个命令的用法就可以了:
net use
explorer
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 19:19
由 lucky_yjw
ino1 写了:
用命令。
------------------------------------
PS:
其实您这样的需求几乎没必要,除非您只想自己一个人后台维护共享文件夹里面的内容,共享文件夹主要提供只读共享服务。
一个变通的做法就是设置两个共享,即使服务器上只有一个目录,也是可以设置成两个共享的。用两个共享就简单解决并发登录的问题了。
恩,好的,谢了!
没人解答一下其余的问题吗?
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-21 19:31
由 ino1
其余问题太简单,google知道的。
3、/var/lib/samba/passdb.tdb文件,用pdbedit编辑;
4、配置文件中加include参数就可以实现;
5、man smbpasswd;smbpasswd -d user 就可以;
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-22 11:38
由 lucky_yjw
ino1 写了:其余问题太简单,google知道的。
3、/var/lib/samba/passdb.tdb文件,用pdbedit编辑;
4、配置文件中加include参数就可以实现;
5、man smbpasswd;smbpasswd -d user 就可以;
3. 执行命令出错:
ubuntu@ubuntu:/var/lib/samba$ sudo pdbedit /var/lib/samba/passdb.tdb
Username not found!
用cat输出一堆乱码.而且我也搜google过了,看来还是没能回答到要处,感觉有点像隔靴搔痒。
4. 我不是想实现什么东西,只是想搞懂其中的机制。
5. ok.
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-22 12:08
由 ino1
lucky_yjw 写了:ino1 写了:其余问题太简单,google知道的。
3、/var/lib/samba/passdb.tdb文件,用pdbedit编辑;
4、配置文件中加include参数就可以实现;
5、man smbpasswd;smbpasswd -d user 就可以;
3. 执行命令出错:
ubuntu@ubuntu:/var/lib/samba$ sudo pdbedit /var/lib/samba/passdb.tdb
Username not found!
用cat输出一堆乱码.而且我也搜google过了,看来还是没能回答到要处,感觉有点像隔靴搔痒。
4. 我不是想实现什么东西,只是想搞懂其中的机制。
5. ok.
3、您用错命令了。man或者google一下吧。只要不带参数运行命令就知道用法了。
4、在配置文件中有一个include文件,这个被include的文件可以被设置成只有管理员可改写或者所有用户可以改写。只要用户有权利改写这个文件,依靠文件管理器内置的程序修改这个文件就可以达到添加共享的目的。当我们在文件管理器中设置共享的时候,内置程序就在改写这个文件。
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-22 14:44
由 木泥黑
lucky_yjw 写了:木泥黑 写了:
贴我的配置给你参考,可以匿名打开tmp文件夹,但是打开filebak要用户名和密码
然后再chmod文件夹,设置好权限就ok了
我的不行啊,一旦把security = user(default值)就连进入共享主机都要你输入帐户密码了,不管你里面是否共享有公共的文件夹!
你用虚拟机??你这种情况我用虚拟机遇到过
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-22 14:52
由 lucky_yjw
ino1 写了:
3、您用错命令了。man或者google一下吧。只要不带参数运行命令就知道用法了。
4、在配置文件中有一个include文件,这个被include的文件可以被设置成只有管理员可改写或者所有用户可以改写。只要用户有权利改写这个文件,依靠文件管理器内置的程序修改这个文件就可以达到添加共享的目的。当我们在文件管理器中设置共享的时候,内置程序就在改写这个文件。
3. 嗷~~~,原来如此:
代码: 全选
ubuntu@ubuntu:/var/lib/samba$ sudo pdbedit -L -w
nobody:65534:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:
qt:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:B3A3496D3F61D8CDA3B865A2B4B29A37:[U ]:LCT-4AB6F1D8:
连经过加密的密码档都显示出来了,只是不知道各栏是什么意思。而且还能把添加的帐户删掉,不用原来那个smbpasswd -d命令了。
但还是好想问一句,传说中samba的密码档/etc/samba/smbpasswd就真的是没用啦?pam也只是通过现在这个passdb.tdb来进行用户身份的验证?
4. 看到了smb.conf是有一个include参数,但它默认是空的啊,也就是说默认根本没有包含任何其他的配置文件。
小弟愚笨,哈哈,还望再指教~~~
Re: 查遍很多资料都没办法解决的samba问题
发表于 : 2009-09-22 15:22
由 lucky_yjw
木泥黑 写了:
你用虚拟机??你这种情况我用虚拟机遇到过
不是虚拟机,这个问题已经解决了,多谢!其他的暂时还未找到答案。