ver 0.1
作者:fengyong (fengyong)
日期:2007-05-15
请尊重他人劳动成果,复制时请保留原作者信息(http://www.yiyou.org)
前言
公司内部大约电脑80台,其中两台邮件服务器(FreeBSD),两台windows 2003 AD 兼文件服务器,我们主要需求:1、帐号集中管理。2、文件共享。由于windows 的文件服务器功能很差,主要是权限管理方面(可能是我菜)。经常有用户无意删除别人的文件,当你在服务器设置了权限后,用户还可以在客户端修改文件的权限。
由于自己一直对linux 感兴趣,所以对linux 应用方面比较了解,对于SAMBA 早已闻其大名,由于时间关系,一直没有机会去偿试。
需求
1、提供文件共享功能
2、能像AD 那样集中管理帐户。
3、能提供磁盘限额
所需软件:
1、Samba 3.x
2、Debian 4.0
注:不管你使用什么unix/linux系统,按这种方法都可以实现以上功能。
一、安装设置SAMBA
1、安装系统
安装系统时注意,尽量将/home 目录放在一个分区上,因为要为该分区进行磁盘限额,并有足够大的空间为用户提供存储。
mail:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 2.3G 491M 1.7G 23% / tmpfs 90M 0 90M 0% /lib/init/rw udev 10M 56K 10M 1% /dev tmpfs 90M 0 90M 0% /dev/shm /dev/sda6 5.3G 139M 4.9G 3% /home
2、安装软件
安装SAMBA 及 QUOTA 工具
mail:~# apt-get install samba quota
3、配置samba
mail:~# cd /etc/samba/ mail:/etc/samba# mv smb.conf smb.conf.bak mail:/etc/samba#vim smb.conf
下面解释smb.conf 的配置文件(注意,当你将下面的文件复制到UNIX 时,最好把中文去除)
#全局选项
[global]
#设置字符的格式,cp950 为繁体字符,cp963 为简体
dos charset = cp950
unix charset = utf8
display charset = utf8
#设置工作组,及你的机器名。
workgroup = ELEMENT
netbios name = ELEMENTSERVER
#服务器设置
server string = This is Element File server %v
log file = /var/log/samba/%m.log #%m 为登录系统的机器名
max log size = 500 #日志大小,单位为KB
name resolve order = lmhosts bcast host #NETBIOS 查找的顺序,
time server = Yes #打开时间服务器
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #TCP 选项
#以下为域服务器选项
logon script = startup.bat #当用户登录域时执行的脚本
logon drive = K: #映射到用户本地的盘符
logon path = #设置漫游文件位置,当没有这个选项时,将在用户目录下自动生成profile 文件夹,当你在= 后面保持空白时,将用户配置文件设置为本机。
os level = 200 #域的级别,越高权限越大
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes #打开WINS 的支持
admin users = root #加入域的用户
#在UNIX 里,当你将一台机要与另一台机进行密码验证时,必须将机器增加一个帐户,比如: clinet01 ,必须增加client01$ 这个帐户。当你要将一台机器加入域时,下面的命令可以省去添加机器信任的麻烦。
add machine script = /usr/sbin/useradd -d /dev/null -s /bin/false -g machines %u
#windows 登录目录设置
[netlogon]
comment = Network logon Service
path = /home/samba/netlogon
write list = root
guest ok = Yes
#用户家目录设置
[homes]
comment = Home directories
valid users = %S
read only = No
create mask = 0664
browseable = No
#临时文件,用于为用户进行文件交换
[temp]
comment = the user groups work directory
path = /home/temp
valid users = @users
read only = No
guest ok = Yes
创建登录脚本
mail:/etc/samba# mkdir -p /home/samba/netlogon/ mail:/etc/samba# vim /home/samba/netlogon/startup.bat
脚本内容
net time \\elementserver /set /yes net use M: \\elementserver\temp
转换脚本内容为DOS 格式
mail:/etc/samba# apt-get install tofrodos mail:/etc/samba# unix2dos /home/samba/netlogon/startup.bat
创建所临时文件夹
mail:/etc/samba# mkdir /home/temp mail:/etc/samba# chgrp users /home/temp/ mail:/etc/samba# chmod 1770 /home/temp/
重启SAMBA
mail:/etc/samba# /etc/init.d/samba restart Stopping Samba daemons: nmbd smbd. Starting Samba daemons: nmbd smbd.
添加组及用户
mail:/etc/samba# groupadd machines
mail:/etc/samba# groupadd users
添加一个系统用户
mail:/etc/samba# useradd -m -s /bin/false -g users user01
将用户添加为samba 用户
mail:/etc/samba# smbpasswd -a user01
New SMB password:
Retype new SMB password:
Added user user01.
添加root 到samba 帐户中
mail:/etc/samba# smbpasswd -a root New SMB password: Retype new SMB password: Added user root.
二、设置磁盘限额
1、打开磁盘限额(添加红色的内容)
mail:~# vim /etc/fstab # /etc/fstab: static file system information. # #proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults,errors=remount-ro 0 1 /dev/sda6 /home ext3 defaults,usrquota,grpquota 0 2 /dev/sda5 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
创建配置文件
mail:/home# touch /home/aquota.user mail:/home# touch /home/aquota.group
重启系统
mail:/home# reboot
配置组磁盘限额
mail:~# edquota -g users
下面配置30M 空间作为测试
soft 是指软限制,当你超过这个限制时,系统警告你,但你还可以继续使用
hard 指硬限制,超过限制将不能使用。
前面一组soft/hard 指空间限制,后面一组指文件数
Disk quotas for group users (gid 100): Filesystem blocks soft hard inodes soft hard /dev/sda6 20 27000 30000 5 0 0
三、将windows 客户机加入域
1、设置WINS,在WINS 服务器中,填入服务器IP地址,以便找到服务器
2、在网域中填入工作组的名字,输入ROOT 的用户名及密码加入域
3、登录服务器
配置文件
参考文档
http://linux.vbird.org/linux_server/0370samba.php