任务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)在客户端进行测试