Window对Linux文件内容进行操作,利用Linux samba服务,将Linux的文件设成共享文件,Window就可以以共享文件的方式来访问Linux文件。
Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件。Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件。
一、在进行设置之前,先介绍一下要用到的一些命令
1、Linux命令
(1)普通用户(命令输入提示符非“#”),进入root账户:su – root //需要输入root密码
(2)增加本地用户:useradd <用户名> //创建一个新用户,并将这个用户放到系统路径下,一般/home/…
(3)删除本地用户:userdel -r <用户名> //不可删除正在使用的用户,否则系统会重启…
(4)显示某文件下所有的文件夹和文件: ls <需要显示的文件路径>
(5)创建新的文件夹:mkdir //在某个路径下创建文件夹
(6)删除空文件夹:rmdir
(7)查询到某个文件夹:cd //cd 后面为空,直接访问到根目录
(8)创建某个文件:touch /路径/文件名
(9)编辑某个文件:gedit /路径/文件名 //gedit打开的是文本文档,可以用鼠标控制,个人比较喜欢,也可以使用vi/vim打开文件
2、Samba命令
(1)查看所有smb用户:pdbedit -L
(2)增加smb用户:smbpasswd -a <用户名>
(3)删除smb用户:smbpasswd -x <用户名>
(3)启动Samba服务器:systemctl start smb
(4)重启Samba服务器:systemctl restart smb
(5)关闭Samba服务器:systemctl stop smb
(6)改变文件夹属性:chown 用户.用户
二、开始设置共享文件夹
1、Linux端
(1)登陆root账户
(2)查看是否已有Samba环境
以上是我的系统中Samba的配置情况,一般只要有这几个安装包存在就可以:
其他的都是一些依赖包,如果没有是否影响接下来的设置,本人没有验证。
建议,可以先删除现有的安装包,具体参考(或者自行百度):https://blog.csdn.net/makang110/article/details/73770762
(3)安装Samba服务器
# yum install -y samba samba-client //samba-client在本地挂在共享文件夹的时候需要使用
(4)安装好后,可以再次查看安装情况(一般没问题)。并设置一下Samba启动以及自动开机启动服务
#systemctl start smb
#systemctl enable smb
Tips:需求案例:需要分配一个主文件夹Share,user1对其拥有全部权利,在Share文件夹下有一个文件夹use,user2对其拥有全部权限,现在需要user1能够访问use文件夹,而user2只能查看修改更新use,而不可以查看Share主文件夹中除use以外的文件夹以及文件。
(5)增加新用户(也可以使用现有的用户)
#useradd user1 /home/ //在home路径下增加新用户user1
#useradd user2 /home/
(6)把新增的用户加入Samba用户数据库中
#smbpasswd -a user1
#New SMB password:
#Retype new SMBpassword:
#Added user user1.
#smbpasswd -a user2
#New SMB password:
#Retype new SMBpassword:
#Added user user2.
(7)创建文件路径
#mkdir /home/public/Share
#mkdir /home/public/Share/use
(8)更改文件的属性
#chown user1.user1 /home/public/Share
#chown user2.user2 /home/public/Share/use
(9)配置Samba主文件 smb.conf
#gedit /etc/samba/smb.conf
首先,找到[global],这里设置全局变量,找到相对应的语句,进行修改(没有就添加)即可:
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
然后,找到[homes],这地方主要是分享自己的用户文件夹,也就是刚刚创建的user1、user2,这样会存在不安全,建议直接把这一块全部删掉(如果没有特殊需求)。
最后,在最后,创建[Share]共享主文件夹:
[Share]
comment = This is a directory of Share.
path = /home/public/Share
public = no
admin users =user1
valid users = user1 //这里是用户user1,也可以是用户组@user1(用户组=一个管理员+若干个普通用户,管理员具有全部权限,普通用户具有部分权限。用户组的创建自行百度)
writable = yes
create mask = 0750 //这是文件操作权限,自行百度
directory mask = 0750
[use]
comment = This is a directory of use.
path = /home/public/Share/use
public = no
admin users =user2
valid users = user2,user1
writable = yes
create mask = 0750
directory mask = 0750
(10)设置好后,直接保存,关掉文本界面。重启Samba系统
#systemctl restart smb
2、Windows端
Linux端设置好后,就可以设置Windows端。实现文件共享的前提是,两个系统在同一个网络下才可以,即ip地址的前三位相同。
(1)上述ip是Linux系统网络的ip地址,查看方式如下:
抹掉的第一段就是ip地址。
同样Windows下,Win+R,输入cmd命令,进入命令行界面,输入:ipconfig (与Linux不一样,注意!!!),查看ip地址即可。
(2)直接Win+R,弹出命令行窗口,输入:\\172.21.166.123,访问共享文件。
可以看到由这个ip共享出来的全部文件夹,点击文件夹,需要输入账号密码,即前面加入Samba用户时创建的用户密码,Share文件夹只能user1访问,而use文件夹,两个用户均可访问。
(3)映射系统盘
为了方便,可以将共享的文件夹映射到Windows系统盘,右击我的电脑——>映射网络驱动器
在出来的界面中输入有权访问的共享文件的位置即可,例如:\\172.21.166.123\Share