LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4357|回复: 16

Samba实际应用手记

[复制链接]
发表于 2005-1-22 23:37:50 | 显示全部楼层 |阅读模式
为公司做个文件服务器的手记:
_____________________________________________________________________________
公司环境:
若干个部门,人力,行政,市场,拓展等等
要求:
公司每个员工(使用公共帐号)都有对公司文件服务器只读的基本权限
每个部门经理或者相关负责人都有独立在文件服务器上自己部门所在目录有完全访问的权限,而对其他部门的工作目录只有只读的权限,有一个公共目录,任何人都有写和删除自己文件的权限,普通员工上传的文件任何人都可以删除,不保证其安全性,对于部门经理级或相关负责人上传的文件除了超级用户外,任何人都不能删除。
_____________________________________________________________________________
samba配置如下
1.smb.conf配置如下:

  1. [global]
  2.    workgroup = Workgroup
  3.    server string = %h server (Samba %v)
  4. ;   wins support = no
  5. ;   wins server = w.x.y.z
  6.    dns proxy = no
  7. ;   name resolve order = lmhosts host wins bcast

  8.    log file = /var/log/samba/log.%m
  9.    max log size = 1000
  10. ;   syslog only = no
  11.    syslog = 0
  12.    panic action = /usr/share/samba/panic-action %d

  13. ;   security = user

  14.    encrypt passwords = true

  15.    passdb backend = tdbsam guest

  16.    obey pam restrictions = yes

  17. ;   guest account = nobody
  18.    invalid users = root

  19. ;   unix password sync = no

  20.    passwd program = /usr/bin/passwd %u
  21.    passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

  22. ;   pam password change = no



  23. ;   load printers = yes

  24. ;   printing = bsd
  25. ;   printcap name = /etc/printcap

  26. ;   printing = cups
  27. ;   printcap name = cups

  28. ;   printer admin = @ntadmin

  29. ;   preserve case = yes
  30. ;   short preserve case = yes

  31. ;   include = /home/samba/etc/smb.conf.%m

  32.    socket options = TCP_NODELAY

  33. ;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

  34. ;   domain master = auto

  35. ;   idmap uid = 10000-20000
  36. ;   idmap gid = 10000-20000
  37. ;   template shell = /bin/bash

  38. ;[homes]
  39. ;   comment = Home Directories
  40. ;   browseable = no

  41. ;   writable = no

  42. ;   create mask = 0700

  43. ;   directory mask = 0700

  44. ;[netlogon]
  45. ;   comment = Network Logon Service
  46. ;   path = /home/samba/netlogon
  47. ;   guest ok = yes
  48. ;   writable = no
  49. ;   share modes = no

  50. [printers]
  51.    comment = All Printers
  52.    browseable = no
  53.    path = /tmp
  54.    printable = yes
  55.    public = no
  56.    writable = no
  57.    create mode = 0700

  58. [print$]
  59.    comment = Printer Drivers
  60.    path = /var/lib/samba/printers
  61.    browseable = yes
  62.    read only = yes
  63.    guest ok = no
  64. ;   write list = root, @ntadmin

  65. ;[cdrom]
  66. ;   comment = Samba server's CD-ROM
  67. ;   writable = no
  68. ;   locking = no
  69. ;   path = /cdrom
  70. ;   public = yes

  71. ;   preexec = /bin/mount /cdrom
  72. ;   postexec = /bin/umount /cdrom

  73. [Share]
  74.    comment = Samba Files server
  75.    path = /home/samba/
  76.    guest ok = yes
  77.    writable = yes
  78.    share modes = no
复制代码


2.添加用户和组:

a.添加超级管理用户
useradd sipingal         #超级用户
编辑/etc/passwd文件中
sipingal开始的行中第二个冒号好的数字改为0,类似下面的格式
sipingal:x:0:100::/home/sipingal:
smbpasswd -a sipingal

b.添加一般员工的公用帐号
useradd share
smbpasswd -a share

c.添加个部门经理帐号
useradd renli
useradd xingzheng
useradd shichang
useradd tuozhan
smbpasswd renli
smbpasswd xingzheng
smbpasswd shichang
smbpasswd tuozhan

d.添加samba组
groupadd samba

e.并将相关人员帐号加入组中
编辑/etc/group文件,在samba开头的行中加入相关帐号,格式如下
samba:x:119:sipingal,renli,xingzheng,shichang,tuozhan

3.建立目录和设置相关权限,完成配置
在/home下建立samba目录(以下所有目录均属于samba组)
chown sipingal samba/  #赋于samba所有
chgrp samba samba/    #使samba目录属组为samba
在samba下建立1_renli,2_xingzheng等相关目录
chown 1_renli rensh
chgrp samba 1_renli
chown 2_xingzheng
chgrp samba 2_xingzheng
其余类同并将所有目录设置权限为755
chmod -R 755 /home/samba
建立公共目录/home/samba/share
chown sipingal /home/samba/share
chgrp sipingal /home/samba/share
chmod 1777 /home/samba/share

到此一切顺利完成。

此运行环境为Debian Testing 3.1。
发表于 2005-1-23 07:55:29 | 显示全部楼层
太简单了吧,连密码都不要?!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-23 11:54:25 | 显示全部楼层
Post by flycraft
太简单了吧,连密码都不要?!

兄弟,仔细看看吧,每个samba用户都有密码,只是在系统中没有密码,也就是限制了他在系统中登陆,增加安全性。
回复 支持 反对

使用道具 举报

发表于 2005-1-26 11:47:17 | 显示全部楼层
e.并将相关人员帐号加入组中
编辑/etc/group文件,在samba开头的行中加入相关帐号,格式如下
samba:x:119:sipingal,renli,xingzheng,shichang,tuozhan

编辑/etc/group文件这个文件名是不是要新建一个!
回复 支持 反对

使用道具 举报

发表于 2005-1-26 12:07:56 | 显示全部楼层
按你的方法操作:
在做到
e.并将相关人员帐号加入组中
编辑/etc/group文件,在samba开头的行中加入相关帐号,格式如下
samba:x:119:sipingal,renli,xingzheng,shichang,tuozhan
打这个文件,里没有有samba这个用户名

面用
debian:/home# useradd samba
提示,用户名已存在,请问是什么问题!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-26 14:57:50 | 显示全部楼层
Post by ZZQ8214
按你的方法操作:
在做到
e.并将相关人员帐号加入组中
编辑/etc/group文件,在samba开头的行中加入相关帐号,格式如下
samba:x:119:sipingal,renli,xingzheng,shichang,tuozhan
打这个文件,里没有有samba这个用户名

面用
debian:/home# useradd samba
提示,用户名已存在,请问是什么问题!


这个是组名,不是用户
groupadd samba
回复 支持 反对

使用道具 举报

发表于 2005-1-26 15:39:36 | 显示全部楼层
好DD!
回复 支持 反对

使用道具 举报

发表于 2005-2-7 22:44:26 | 显示全部楼层
请问你的samba是如何实现中文文件名支持的?谢谢
回复 支持 反对

使用道具 举报

发表于 2005-2-7 23:30:45 | 显示全部楼层
添加一个全局参数
unix charset=cp936即可

祝你好运!
回复 支持 反对

使用道具 举报

发表于 2005-2-11 11:22:20 | 显示全部楼层
Post by txkss
添加一个全局参数
unix charset=cp936即可

祝你好运!


cp936 是 GB2312 , 能否实现 GBK ?
回复 支持 反对

使用道具 举报

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

本版积分规则

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