如果安装时用rpm安装,那么启动samba不用service smb start,用servicenmbd start,service smbd start也可以的
查看是否安装: rpm -qa | grep samba
samba-common-3.0.10-1.4e服务器和客户机都需要的公共文件夹
samba-3.0.10-1.4e samba服务器的所有文件
samba-client-3.0.10-1.4e samba客户机的所有文件
system-config-samba-1.2.21-1 redhat公司为图形界面编辑的文件
2.配置文件:/etc/samba/smb.conf
[global]
user 验证用户名和密码 (推荐)
[homes]
3.用户
adduser i.am (建立一个samba用户需要对应的系统用户)
smbpasswd -a i.am (添加samba用户i.am,并设密码)
cat /etc/samba/smbpasswd (查看samba用户)
小提示:
smbpasswd -a 添加 user
-x 删除
-e 启用
-d 禁用
smbpasswd + username =给这个用户改密码
4.建立一个public(公共)目录
1)mkdir/home/public 建立一个公共目录
chown nobody.nobody /home/public 改变属主和属组
vi /etc/samba/smb.conf 编辑主配置文件
[public]
path =/home/public 位置
public=YES 对于所有的samba用户可见
only guest =YES 表示所有用户使用该目录时都是guest身份
writable=YES 对于用户可写
小提示:
valid users = username (只允许某个用户登陆到本共享)
5.smb的检测
testparm
service smbstart/stop/restart/status 启动 停止 重启 状态
6.samba客户端的安装使用
rpm -ql samba-client | grep bin 显示与客户端相关的文件
smbclient -L ip (匿名登陆smaba服务器)
smbclient // ip /i.am -U i.am (使用i.am登陆到i.am 的目录)
smbstatus (显示当前主机中的samba服务器的连接状态信息)包括每个sambaclient的ip 主机名登陆用户名 锁定的文件 等信息
7.smbmount monut
1, smbmount --help 挂载帮助
smbmount // ip /public /mnt 将samba服务器的public 目录挂载到本地的/mnt下
mount | tail -1 查看挂载过来的文件夹 (最后一行)
umount /mnt/ 卸载/mnt 里面挂来的东西
2, mount
mount -t smbfs -ousername=i.am // ip /public /mnt
-t 指定挂载的类型 -o 指定要使用的用户名
mount | grep smb
显示该文件系统的挂载记录
无smbmount命令
8.实现windows主机访问samba服务器
开始->运行->\\192.168.0.1\
然后输入用户名及密码即可
9.Linux下访问SMB
可以以浏览器中输入smb://192.168.0.1/输入用户名密码即可。
作业:
三个部门(财务、技术、领导),建用户为caiwu01、caiwu02、network01、network02、leader01、leader02.
要求:
1.首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。
2.建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。
3.建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录
4.建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。
5.建立一个公共的只读文件夹public,所有人只读这个文件夹的内容。
操作步骤:
1. 建3个组:
#groupadd caiwu
#groupadd network
#groupadd leader
2. 添加用户到相应的组中:如
#useradd caiwu01 -g caiwu
3. smbpasswd-a caiwu01的命令为6个帐户分别添加到samba用户中(必须的)
4. 建文件夹
Mkdir /home/samba
Mkdir/home/samba/public
Mkdir/home/samba/caiwu
Mkdir/home/samba/leader
Mkdir/home/samba/exchange
为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777
Chmod –R 777 /home/samba
5. smb.conf的配置文件
[global]
workgroup= bmit #我的网络工作组
server string =Frank's Samba File Server #我的服务器名描述
security = user #使用用户验证机制
encryptpasswords = yes
smbpasswd file = /etc/samba/smbpasswd
#使用加密密码机制,在win95和winnt使用的是明文
其他的基本上可以按照默认的来。
[homes]
comment = HomeDirectories
browseable = no
writable = yes
valid users = %S
createmode = 0664
directorymode = 0775
#homes段满足第1条件
[caiwu]
comment = caiwu
path =/home/samba/caiwu
public = no
valid users =@caiwu,@lingdao,network02
write list =caiwu01
printable = no
#caiwu段满足我们的第2要求
[leader]
comment = leader
path =/home/samba/leader
public = no
browseable = no
valid users = @leader,network02
printable = no
#leader段能满足我们的第3要求
[exchange]
comment = ExchangeFile Directory
path = /home/samba/exchange
public = yes
writable = yes
#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行
chmod -R 1777/home/samba/exchange
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求
[public]
comment = ReadOnly Public
path =/home/samba/public
public = yes
read only = yes
#这个public段能满足我们的第5要求。
到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务哦
#/etc/rc.d/init.d/smbrestart
或#serverce smb restart
注意:
查看配置:#testparm
命令查看用户下的权限:
#smbclient -L 服务器ip–N,如#smbclient –L 192.168.0.247 –U caiwu01
smbclient//服务器ip/caiwu -U caiwu01
#以caiwu01用户的名义登录caiwu目录
smbmount//服务器ip/caiwu /mnt/caiwu -o username=caiwu01
# 把服务器的财务目录映射到本地的 /mnt/caiwu 目录。