一、查看Samba软件包安装
# rpm –qa | grep samba
二、安装Samba
挂载光盘
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom/Packages
# ls sab*
#rpm –ivh samba-c<tab>
#rpm -ivh samba-cl<tab>
#rpm –ivh samba-3<tab>
启动smb服务:# service smb start
Samba两个进程:smbd和nmdb
查看进程: # ps –ld | grep smb
查看smb.conf位置
# rpm –ql samba-common | grep smb.conf
查看smb.conf文件内容
# grep –v “^#” /etc/samba/smb.conf (查看不带#号的配置信息)
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak (在更改配置文件时先备份,以防修改出错)
## grep –v “^#” /etc/samba/smb.conf.bak > /etc/samba/smb.conf (使smb.conf配置文件中仅包含不带#的信息,便于阅读)
三、防火墙配置
A关闭防火墙
B对防火墙进行设置: setup
C.清除防火墙列表 iptables –F
三种方法任选一种
四、Selinux配置
(此项设置不当则会出现只能看见目录,但无权访问的现象)
A.关闭Selinux
# vim /etc/selinux/config (在配置文件中,做如下修改)
SELINUX=”disabled”
B.更改Selinux对samba的限制
# setsebool –P samba_enable_home_dirs on
设置后,查看配置情况
# getsebool –a | grep samba
如设置成功,则显示: samba_enable_home_dirs→on
五、用户及组配置
A、添加组
# groupadd 组名
添加组成员:
方法一:usermod –G 组名 用户名
方法二:gpasswd
语法:gpasswd[-a user][-d user][-A user,...][-M user,...][-r][-R]groupname
参数:
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
B、用户必须是系统用户
(useradd 语法格式:useradd –u –G组名 –d 文件夹 用户名)
方法一:
# useradd 用户名
#passwd
方法二:
gpasswd
B、设置用户的samba论证密码
# smbpasswd –a 用户
-a 表示添加 ,若不加a 表示更改samba密码
六、文件夹权限设置
在samba共享中,要设置两个权限。
一是:samba是否授予写权限,此项需在smb.conf中进行设置。
二是:用户在Linux中是否对共享目录有写权限。
# chown 用户 目录 设置用户对目录的所用权
# chgrp 组名 目录名 更改目录所属的组
# chmod XXX 目录、
说明: rwx rwx rwx 依次为所有者权限、所在组权限、其他人权限
七、编辑smb.conf文件
全局:
Workgroup=指定工作组名或域名
Security=(user 、share、server、domain)
User:默认值,指由linux samba服务器验证。最常的选项
Share:无需验证
Server:第三方主机验证
Domain:第三方主机验证,必须是域控制器
Host allow 、host deny 强调:在linux中允许优先
如:host allow=192.168.1.
Host deny=192.168.1.10 则192.168.1.10可以访问
共享文件夹:(添加在smb.conf文件末尾,方便管理)
[共享名]
Path =共享目录
Valid users =用户列表 (users中的s 不能少,否则该项设置无效,所有的用户都可访问)
Writable=yes 读写权限设置
实例:
[software]
Path=/home/software
Valid users=tom jack
Writable=yes
八、测试smb.conf配置文件语法是否正确
# testparm
九、重启smb服务
# service smb restart
十、客户端测试
A、windows 客户端
打开“网上邻居”→在地址栏中输入samba服务器的地址(如:192.168.1.200)
如需查看链接情况:CMD→net use
如需断开链接(重新测试时需断开链接,执行命令前需关闭原来链接窗口):
cmd→net use * /delete /y (/y表示不需要询问此操作,直接执行)
B、在linux客户端测试
# smbclient //192.168.1.200/software –U tom%abc
说明: //192.168.1.200是samba服务器的IP
Software是共享目录
Tom是用户名
Abc是用户的samba验证密码