首页 > 代码库 > 【初学菜鸟作--samba搭建与配置】

【初学菜鸟作--samba搭建与配置】

Samba(跨平台的共享服务)使用以及配置案例:

     


实验一:

工作组为Tarena

      将目录 /usr/src 共享给所有人

      共享名设为 tools

      允许所有人访问、无需密码验证

      访问权限为只读

实验步骤:

配置服务端与客户端的ip地址,保证连通

通过yum安装samba-client服务

安装:samba-commonsamba-client完成后,进行主配置文件修改来配置共享

[root@localhost samba]# vim smb.conf

74        workgroup = Tarena工作组名

76        server string = Samba Server Version %v版本注释

102        security =share访问用户可为user(需本机用户)可为share(共用的)

222         loadprinters = yes是否显示共享虚拟打印机

290        [tools]共享名

291        comment = Tools Public对此共享的文字说明

292         path= /usr/src共享目录的实际位置

293        public = yes是否都所有人可用

294         readonly = yes       只读,与writeable相反

保存主配置文件后退出。启动并设置开机自启服务

[root@localhost samba]# testparm查看共享目录

进入win7客户机输入//192.168.1.1/tools访问

进入linux客户机访问

[root@localhost ~]# yum -y install samba-client安装客户端samba

[root@localhost ~]# smbclient -L 192.168.10.10                查看共享

[root@localhost ~]# smbclient //192.168.10.10/tools 连接到共享

Password:

Domain=[TARENA] OS=[Unix] Server=[Samba3.0.33-3.39.el5_8]

Server not using user level security and no passwordsupplied.

smb: \> pwd

Current directory is \\192.168.1.1\tools\

可不输入密码直接访问服务端共享

将共享文件挂载到客户机目录下的/data/smb

[root@localhost ~]# mkdir -p /data/smb                           创建挂载点

[root@localhost ~]# mount -t cifs//192.168.10.10/tools /data/smb/                                                                      挂载

[root@localhost ~]# grep smb /etc/fstab                    开机自动挂载

//192.168.10.10/tools  /data/smb    cifs   defaults 0  0

测试客户端对共享的权限

在服务端新建文件/usr/src/1.txt

登录到客户端挂载点/data/smb

复制文件1.txt到本地

 [root@localhostsmb]# ls挂载点目录

1  1.txt  debug file.txt  kernels  vmware-tools-distrib

[root@localhost smb]# cp 1.txt / 将共享文件1.tx.t复制到本地根下

[root@localhost smb]# ls /                      客户端/目录下文件

1         boot     home        misc  root    tftpboot

123    data      lib         mnt  sbin     tmp

1.txt  dev       lib64       net  selinux  usr

可看到文件1.txt从服务器下载到了客户端。说明客户端对共享具有读取的权限

在共享的挂载点创建文件123.txt

[root@localhost smb]# touch 123.txt

touch: 无法触碰“123.txt: 权限不够

可看出客户端对共享不具备写入权限

 

 

 

试验二Samba用户验证

      修改原有的 [tools] 匿名共享设置

      1.不再允许所有人访问,拒绝其他用户或匿名访问

      2.只允许nick读取、tom写入

3.上传文件的权限为644

      4.上传目录的权限为755

创建本地用户tomjack并为其设置samba密码(本地用户在客户端通过samba访问共享,需用户通过samba独立密码访问),通过命令pdbedit  -a [用户名]设置独立密码

 

服务端修改主配置文件:

74        workgroup = Tarena工作组名

102        security = user             默认使用安全级别

291        comment = Tools Public         对共享的描述

292         path = /usr/src                        共享目录

293        public = no                              是否对所有人可用

294         readonly = yes                        只读

295        write list = tom                       tom可写

296        directory mask = 0755新建目录权限

297        create mask = 0644                 新建文件权限

298        valid users = tom,jack             允许访问用户

保存退出重启服务后并设置用户tom/usr/src目录的读写权限

[root@localhost 1]# setfacl -m u:tom:rwx /usr/src/

1.新建用户yeyuetomjack

[root@localhost tom]# smbclient -U yeyue//192.168.1.1/tools

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba3.0.33-3.39.el5_8]

tree connect failed: NT_STATUS_ACCESS_DENIED

用户yeyue不可访问,tomjack允许访问(valid users = tom,jack生效)

2.进入客户端分别对用户tomjack测试

通过jack登录将共享挂载

[root@localhost~]#mount -o username=jack  //192.168.1.1/tools /data/jack/

[root@localhost jack]# cp 1.txt /root

[root@localhost jack]# ls /root

1.txt anaconda-ks.cfg  Desktop  file.txt install.log  install.log.syslog

证明jack拥有读取权限

[root@localhost jack]# touch 11.txt

touch: 无法触碰“11.txt: 权限不够

证明jack没有写入权限

卸载共享的挂载后通过tom登录挂载共享

[root@localhost ~]# umount /data/jack

[root@localhost ~]# mount -o username=tom//192.168.1.1/tools /data/tom

[root@localhost tom]# cp file.txt /root

[root@localhost tom]# ls /root

1.txt anaconda-ks.cfg  Desktop  file.txt install.log  install.log.syslog

证明用户tom拥有读取权限

[root@localhost tom]# touch 11.txt

[root@localhost tom]# ls

1  11.txt  1.txt debug  file.txt  kernels vmware-tools-distrib

证明了用户tom拥有对共享的写入权限

3.用户拥有上传文件644权限

[root@localhost tom]# touch file1.txt

[root@localhost tom]# ls -ld file1.txt

-rw-r--r-- 1 root root 17 06-15 16:03 file1.txt

4.用户拥有上传文件夹755权限

[root@localhost tom]# mkdir ceshi

[root@localhost tom]# ls -ld ceshi/

drwxr-xr-x 2 500 500 0 06-15 20:26 ceshi/

 

试验三Samba账户别名与访问地址控制

      1.把普通帐户nick设置别名为kaka

      2.设置只允许192.168.1.2地址访问

1.修改samba用户别名文件

[root@localhost ~]# cat /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

tom = kaka增加别名,用户tom可通过别名kaka登录

在主配置文件中增加

77   usernamemap = /etc/samba/smbusers启用别名映射文件

验证:在客户端可通过别名登录

[root@localhost tom]# smbclient -U kaka //192.168.1.1/tools

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba3.0.33-3.39.el5_8]

smb: \>

2.设置只允许192.168.1.2地址访问

在主配置文件添加

299        hosts allow = 192.168.1.2允许访问的主机

验证:

通过192.168.1.2客户机登录

[root@localhost tom]# ifconfig eth0 | head -2 | tail-1

          inetaddr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0

[root@localhost tom]# smbclient -U kaka//192.168.1.1/tools

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba3.0.33-3.39.el5_8]

smb: \>

验证结果:客户机192.168.1.1可登录访问

通过客户机192.168.1.3登录

[root@localhost tom]# ifconfig eth0 | head -2 | tail-1

          inetaddr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0

[root@localhost tom]# smbclient -U jack//192.168.1.1/tools

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]

tree connect failed: NT_STATUS_ACCESS_DENIED

验证结果:客户机192.168.1.3不可访问