Samba服务器筹建完全指南
Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协定做连结的自由软件。目前的版本(v3)不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
本文主要介绍samba服务器在企业内部的利用,以实际运行中的例子作为参考。
(操作系统:CentOS 6.0 32bit)
1、文件系统结构规划:
[root@backup1 share]# tree -a
.
`-- samba
`-- admin
|-- 营业部 drwxrwxr-x admin admin
| |-- 员工1 drwxrws--- user1 admin
| |-- 员工2 drwxrwsr-x user2 admin
| `-- 员工3 drwxrwsr-x user3 admin
|-- 其他 drwxrwxr-x admin admin
| |-- 完全共享 drwxrwsrwt admin admin 该目录属性为3777
| `-- 资料共享 drwxrwxr-x admin admin
| |-- 书籍 drwxrwxr-x admin admin
| |-- 各种文档 drwxrwxr-x admin admin
| `-- 软件下载 drwxrwxr-x admin admin
|-- 开发部 drwxrwxr-x admin admin
| |-- 员工4 drwxrwsr-x user4 admin
| |-- 员工5 drwxrwsr-x user5 admin
| |-- 员工6 drwxrwsr-x user6 admin
| |-- 员工7 drwxrwsr-x user7 admin
| |-- 员工8 drwxrwsr-x user8 admin
| |-- 员工9 drwxrwsr-x user9 admin
| `-- 员工10 drwxrwsr-x user10 admin
|-- 管理部 drwxrwsr-x admin admin
|-- |--财务相关 drwxrws--- finance admin
|-- |--人事相关 drwxrws--- finance admin
|
`-- 董事会
`-- 董事长 drwxrwx--- admin admin
注:以下admin/ceo/user1设为管理员用户
2、文件及目录说明
1)该文件系统的入口为/home/share/samba/admin目录,所以共享的目录都保存于该目录之下
2)admin目录下设“营业部”、“开发部”、“其他”、"管理部"、"董事会"等部门。各部门之间的功能如下:
营业部:用于存放营业部用户的文件内容,目前用户相互之间不影响,除管理员之外,不接受任何用户访问。
开发部:主要存放开发部用户的数据资料,相互之间不影响,除管理员之外,不接受任何用户访问。
董事会:主要存放股东的资料,除管理员之外,不接受任何用户访问。
管理部:用于存放出纳、会计、人事等相关资料,除管理员之外,不接受任何用户访问。
其他:内含完全共享文件夹(用于临时备份用,为我们所有用户具有读写权限,但建立的文件只有该用户及admin具有删除修改权限)和资料共享文件夹(只读共享,除管理员之外,其余用户为只读访问)。
3、目录权限、用户权限及相关说明
用户权限:admin具有最高的权限,ceo,user1具有可以管理除完全共享中的部分内容之外的全部权限。
其他用户对本文件夹及其在“完全共享”中建立的文件夹具有所有权限,对“资料共享”文件夹具有查看权限。
完全共享文件夹:主要给用户用于临时备份用的文件夹,可以具有所建文件夹的全部权限,并只有该用户和admin才有修改权限。
资料共享文件夹:普通用户具有查看内容权限,管理员用户具有修改内容的权限。
管理部:普通用户无访问权限,管理员用户及用户所属主具有所有权限。
4、目录的建立
注:假设所有设定都是在root权限下进行.
1) 建立相关目录结构
mkdir -p /home/share/samba/admin/营业部/员工1
cd /home/share/samba/admin/营业部/
mkdir 员工2 员工3
mkdir -p /home/share/samba/admin/开发部/员工4
cd ../开发部
mkdir 员工8 员工6 员工10 员工9 员工7 员工5
mkdir -p /home/share/samba/admin/管理部/财务相关
cd ../管理部
mkdir 人事相关
mkdir -p /home/share/samba/admin/董事会/董事长
mkdir -p /home/share/samba/admin/其他/完全共享
cd ../其他
mkdir -p 资料共享/书籍
cd 资料共享
mkdir 软件下载 各种文档
5、创建用户和用户组
1)创建用户组 admin、business、develop、finance
groupadd admin;groupadd business;groupadd develop;groupadd finance
2)创建各自的用户
useradd -g admin -G business,develop,finance -d /home/share/samba/admin -s /sbin/nologin admin
useradd -g admin -G business,develop,finance -d /home/share/samba/admin/董事会/董事长 -s /sbin/nologin ceo
useradd -g admin -G business,develop,finance -d /home/share/samba/admin/营业部/员工1 -s /sbin/nologin user1
useradd -g business -G develop -d /home/share/samba/admin/营业部/员工2 -s /sbin/nologin user2
useradd -g business -G develop -d /home/share/samba/admin/营业部/员工3 -s /sbin/nologin user3
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工4 -s /sbin/nologin user4
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工6 -s /sbin/nologin user6
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工8 -s /sbin/nologin user8
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工10 -s /sbin/nologin user10
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工5 -s /sbin/nologin user5
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工7 -s /sbin/nologin user7
useradd -g develop -G business -d /home/share/samba/admin/开发部/员工9 -s /sbin/nologin user9
useradd -g finance -G business,develop -d /home/share/samba/admin/管理部 -s /sbin/nologin finance
6、设置目录相关权限
1)设置admin文件夹权限为@admin为具有所有权限,其他为只读。
chown admin:admin -R /home/share/samba/admin/
2)设置营业部的权限
cd /home/share/samba/admin/营业部/
chown user1.admin -R 员工1/
chown user2.admin -R 员工2/
chown user3.admin -R 员工3/
chmod 2775 -R *
chmod 2770 -R 员工1/
3)设置开发部的权限
cd /home/share/samba/admin/开发部
chown user4.admin -R 员工4/
chown user8.admin -R 员工8/
chown user5.admin -R 员工5/
chown user10.admin -R 员工10/
chown user7.admin -R 员工7/
chown user9.admin -R 员工9/
chown user6.admin -R 员工6/
chmod 2775 -R *
4)设置董事会的权限
cd /home/share/samba/admin/董事会
chown ceo.admin -R 董事长/
chmod 2770 -R 董事长/
5)设置管理部的权限
cd /home/share/samba/admin/管理部
chown finance.admin -R 财务相关/
chown finance.admin -R 人事相关/
chmod 2770 -R 财务相关/
chmod 2770 -R 人事相关/
6)共享目录的权限设定
cd /home/share/samba/admin/其他/
chown admin.admin -R *
chmod 3777 -R 完全共享
chmod 755 -R 资料共享/
7、建立samba配置文件smb.conf
====================Samba 配置文件====================
[global]
workgroup=WORKGROUP
netbios name=安徽开源软件
server string = Anhui OSS Linux Samba Server
security=user
[admin]
comment=管理所有文件夹
path=/home/share/samba/admin/
create mask= 0664
directory mask= 0775
writeable = yes
valid users = user1,@admin
browseable = no
[资料共享]
path=/home/share/samba/admin/其他/资料共享/
writeable = yes
browseable = yes
guest ok = no
[管理部]
path=/home/share/samba/admin/管理部
writeable=yes
browseable=yes
directory mask =0770
create mask=0660
guest ok=no
valid users =@admin,@finance
[完全共享]
path=/home/share/samba/admin/其他/完全共享
writeable = yes
browseable = yes
# guest ok = yes
create mask=0664
directory mask = 0775
[员工1]
path=/home/share/samba/admin/营业部/员工1
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user1,@admin
browseable = yes
comment = 员工1的文件夹
[员工3]
path=/home/share/samba/admin/营业部/员工3
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user3,@admin
browseable = yes
comment = 员工3的文件夹
[员工2]
path=/home/share/samba/admin/营业部/员工2
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user2,@admin
browseable = yes
comment=员工2的文件夹
[员工4]
path=/home/share/samba/admin/开发部/员工4
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user4,@admin
browseable = yes
comment=员工4的文件夹
[员工10]
path=/home/share/samba/admin/开发部/员工10
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user10,@admin
browseable = yes
comment=员工10的文件夹
[员工5]
path=/home/share/samba/admin/开发部/员工5
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user5,@admin
browseable = yes
comment=员工5的文件夹
[员工7]
path=/home/share/samba/admin/开发部/员工7
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user7,@admin
browseable = yes
comment=员工7的文件夹
[员工6]
path=/home/share/samba/admin/开发部/员工6
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user6,@admin
browseable = yes
comment=员工6的文件夹
[员工8]
path=/home/share/samba/admin/开发部/员工8
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user8,@admin
browseable = yes
comment=员工8的文件夹
[员工9]
path=/home/share/samba/admin/开发部/员工9
writeable = yes
directory mask = 0775
create mask = 0664
valid users = user9,@admin
browseable = yes
comment=员工9的文件夹
[董事长]
path=/home/share/samba/admin/董事会/董事长
writeable = yes
directory mask = 0775
create mask = 0664
valid users = ceo,@admin
browseable = yes
comment=董事长的文件夹
[公司网站]
path=/var/www/html
writeable = yes
directory mask = 0775
create mask = 0664
valid users = @admin,@apache
browseable = yes
comment=公司网站的文件夹
====================Samba 配置文件====================
8、建立samba登录密码,该密码文件保存于/etc/samba/smbpasswd中。
格式:smbpasswd -a 用户名(必须为linux中存在的用户)
smbpasswd -a admin;smbpasswd -a ceo;smbpasswd -a user1;smbpasswd -a user4;smbpasswd -a user8;smbpasswd -a user2;smbpasswd -a user3;smbpasswd -a user6;smbpasswd -a user5;smbpasswd -a user7;smbpasswd -a user9;smbpasswd -a user10;smbpasswd -a finance
9、开放防火墙,将tcp端口139,445和UDP端口137,138通过
iptables -I INPUT -p tcp -m multiport --dport 139,445 -j ACCEPT
iptables -I INPUT -p udp --dport 137:138 -j ACCEPT
10、客户端访问Samba服务器
1)通过windows客户端访问
在地址栏中输入\\server_ip 或 \\server_ip\共享文件夹名
2)通过ubuntu访问:
nautilus smb://server_ip/ 或 nautilus smb://server_ip/共享文件夹名
11、磁盘限额设定
1)首先查找是否有限额程序安装,执行rpm -qa|grep quota,未安装的话,自行安装。
首先设置需要限额使用的盘符(必须为独立的盘符)
vi /etc/fstab
/dev/VolGroup00/LogVol01 /home ext3 defaults,usrquota,grpquota 1 2
(保存后重启)
2)重启完成之后,执行如下命令
quotacheck -cmug /home/
在/home下产生以2个文件,分别为:aquota.group aquota.user
3)执行quotaon -auvg ,将用户和组的限额全部打开
4)进行限额设定:
edquota -u user8 (设定值:3-3.5GB)
edquota -u user3 (设定值:4-4.5GB)
edquota -u user6 (设定值:3-3.5GB)
edquota -u user10 (设定值:3-3.5GB)
edquota -u user2 (设定值:4-4.5GB)
edquota -u user3 (设定值:4-4.5GB)
edquota -u user4(设定值:5-6GB)
edquota -u user5(设定值:3-3.5GB)
edquota -u user9(设定值:3-3.5GB)
edquota -u user7(设定值:3-3.5GB)
edquota -u finance(设定值:3-3.5GB)
edquota -u ceo(设定值:10-15GB)
edquota -u user1(设定值:15GB-20GB)
(依次增加:......)
到此为止,Samba的操作已经完成,您也赶紧试试吧!
来源:安徽开源软件有限公司
地址:http://www.anhuioss.com/cn/