Samba实验

任务1:在Linux中访问Windows共享资源

1.任务描述:在Windows系统中有一个共享文件夹,共享名为11,其IP地址为192.168.1.2,要求在Linux中将Windows共享文件夹中的1.txt文件下载到本地。完成此任务可以使用SMB客户端方式,也可以使用mount命令挂载共享资源的方式。

2.操作步骤:

使用SMB客户端命令方式操作如下:

1)查看Windows服务器的共享资源:smbclient -L //192.168.1.2 -U administrator

2)连接共享服务器:smbclient //192.168.1.2/11 -U administrator

3)查看共享资源:ls

4)下载文件:get 1.txt

5)退出smb客户端:exit

使用mount命令挂载共享资源操作如下:

mkdir /winshare

mount -t cifs -o username=administrator,password=2016whxlg //192.168.1.2/11 /winshare/

ls /winshare/

umount /winshare/

任务2:在Windows中匿名访问Linux资源

1.任务描述:要求将Linux中的/myshare文件夹共享,共享名为share,所有人都可以访问此文件夹(可读不可写)。

2.操作步骤:

1)检查是否安装了Samba软件包:rpm –qa | grep samba

2)若没有安装,则安装samba软件包:yum –y install samba

确认成功安装:

3)建立myshare文件夹及文件:

mkdir /myshare

echo how are you > /myshare/1.txt

4)修改samba配置文件:

vim /etc/samba/smb.conf

security = share

[share]

comment = this is linux share

path = /myshare

guest ok = yes

browseable = yes

5)启动smb服务:service smb start

6)在windows中测试

任务3:在Windows中实名访问Linux资源

1.任务描述:需要在Linux服务器上建立两个共享文件夹userdir及managedir,所有人都可以访问并向userdir共享资源中写入自己的文档;员工可以访问managedir共享资源,但只有经理用户可读可写。设员工账户为user+n,n为员工编号,所有员工都在group组中,经理账户为manager。

2.操作步骤:

1)检查是否安装了Samba软件包,若没有安装,则安装samba软件包:yum install samba

2)建立文件夹:

mkdir /userdir

mkdir /managedir

3)创建用户和组(以user1、user2及manager账户为例):

groupadd group

useradd manager

useradd user1 –G group

useradd user2 –G group

4)设置本地文件夹权限:

由于所有人对userdir文件夹可读可写,但只允许删除自己的文件,不能删除别人的文件,所以在权限中加入特殊权限t

chmod o+wt /userdir/

由于所有人可以访问managedir文件夹,但只允许manager写入,所以为该文件夹设置ACL权限,添加manager账户对此文件夹的读写权限。

setfacl –m u:manager:rwx /managedir/

getfacl –c /managedir

5)修改配置文件:vim /etc/samba/smb.conf

首先设置userdir的共享权限,所以人均可读写userdir文件夹。(注意此处设置的只是共享权限,要想实现任务要求,还要结合本地安全权限才可以)

[userdir]

comment = this is user’s share

path = /userdir

guest ok = yes

browseable = yes

writeable = yes

设置managedir的共享权限,@代表组,合法用户对managedir文件夹拥有读权限,根据任务要求,只有manager账户拥有写权限。

[managedir]

comment = this is manager’s share

path = /managedir

valid users = @group,manager

write list = manager

6)创建samba用户:

smbpasswd –a user1

smbpasswd –a user2

smbpasswd –a manager

7)启动smb服务:service smb start

8)在客户端进行测试