samba服务实际上就是windos的共享服务
这种访问很不可靠,机器都关机了你还看得见
也可以直接敲地址
这种路径叫unc路径
\+ip地址或者域名 共享名不一定和文件夹名一样
这个共享名和文件夹名就不一样了
这个访问方法时基于smb协议,服务消息快协议,最早ibm发布,后来成了windows的标准共享协议
linux,unix比较普遍的文件共享方式是nfs,那linux和windows相互访问共享资源就比较麻烦了
91年大学生开发了samba软件,就是让linux系统也支持smp协议
客户端主流的还是windows机器比较多,大部分windos是不支持nfs的,
samba就是可以让linux也可以实现smp共享的功能
smb是不开源的,要想开发一样的东西,就得逆向工程,那别人的程序来反编译,说白了就是破解,源代码拿不到就拿二进制汇编来破解,破解了smb协议,开发出了samba
这个人有破解喜好,所以把linux搞得也很难过
(linux的开发团队是开源社区的,分布在不同的国家,平时不在一起,也就是共同提交自己的代码,
那么代码需要集中放在一个服务器上存放,全世界来连接提交自己的代码,商业公司就提供了一个免费的软件版本功能给内核免费服务,由于linux内核太有名,商业的因为是闭源的,这个人又不爽了,想要破解,拓展这个软件功能,被这家公司管理版本的发现了,就不把内核放在自己那里使用了,
后来linus没有办法,一直找不到合适的软件,就开发了git(第二个伟大产品,必须掌握
能够实现身份认证这点比NFS号,NFS依靠ip地址区别,但是ip地址能够冒充,NFS没有较强的安全控制手段
而samba跟windows共享是一个道理,用户访问的时候,可以弹出一个对话框输入用户名密码,只有经过验证的人才能访问资源,这样显而易见是更加安全的
UNC 路径 U通用 N命名 C规范
ip地址可以是samba服务器的IP,还可以是netbios名
netbios名就是计算机名,准确的说是 计算机名+服务标识符,最长16个字符
linux的计算机名和windows的计算机名有什么区别
linux主机名默认没有网络功能
windows的netbios名能通过名字解析过程解析成ip,可以通过很多功能来实现,lmhosts wins dns /etc/hosts(
sam就是sample例子,默认是不可用的,要使用需要复制并改名,解析的是netbiosid
那现在网络中并没有wins,dns,hosts文件,都没有配置,为什么ping的通,就是通过广播,就需要必须要在一个网络中,
而linux的主机名,ping不走广播,只认/etc/hosts
smb协议的后续版本
文件系统级别的,不是ftp一样是个应用层软件,是内核级的
windows网络工作方式有两种
一种是隶属于域,是个严谨的,当把一个主机加入到某个域以后,这个域里所有的主机都要接受控制了
一种是工作组,wo’r’kgroup(别 的计算机也写一个这个就说明在一个组里,大家都是同级的,分散式管理
DC域控制器,每台电脑不创建账号了,所有的账号都放在一台服务器上,这样要想在每台主机上都想登录的话,就直接拿域服务器上的账号直接登录就可以了,每个电脑管理都是域控制器上指定的安全策略来管理的,比如可以在域服务器上指定安全策略,指定好后,可以自动地在你电脑上安装软件
samba主要功能还是在于共享文件夹
samba 服务器包
samba-client samba客户端包
还原一下机器
图形关了就不占用yum了
可以实现标准windows的这样的程序,可以用windows的协议来共享
安装软件
包重要的文件列表,服务
主要服务是smb,
nmb取决于用不用它的服务,名字解析
要用netbios名做名字解析就把这个服务启动 起来
配置文件并没有放在samba服务器包里,配置文件是在/etc/samba/smb.conf
现在启动起来就已经可以当samba服务器使用了
要想访问windows的资源只需要samba-client
客户端主要工具
-L查看远程服务器的共享文件夹列表
在windows创建个账号
在windows查看本机有什么共享用net share
删除共享 net share
用命令创建共享,
把D盘的test 文件夹共享出来,
linux链接就可以看到了
下载用get
传不上去说明windows权限的问题
加入更改权限,就等于有写权限了
就可以了
挂载以个文件夹
上面是客户端,linux如何当samba的服务器端,永久挂载需要写到文件夹里
这样做就是密码暴露了
密码账号不放在这里,换一种方式,用户名密码放在文件里
credentials,证书,凭证
如何ilinux服务器中搭建Samba共享,放来windows能够访问
使用到了139,445两个端口,要配置防火墙,别忘了把这两个端口加进去
现在就可以访问
需要建立Samba专用的账号跟tp虚拟账号类似
但是samba账号有区别,要是samba账号必须先成为linux账号
准确地说是把一个linux账号变成一个samba账号
下面的命令可以查看现在所有的samba账号
创建三个账号给samba服务用,需要设置密码否则登录不了
要把这个linux账号变成samba账号就需要改变工具,htppasswd类似(httpd账号)
smbpasswd
设置一个新口令
samba账号具体存放在哪里
这个文件属于tbd数据库格式,看不了
隐约能看到
也能删除用户
samba
默认是把smb1的家目录共享了
但是现在想换smb2缺换不来了
d等个几秒再访问
想要在linux里访问samba共享
这个带$的如果是通过windows的直接访问
在字符界面net share可以看到很多共享的资源而图形界面就看不到
带dollar 就是可以隐藏共享
加了dollar符号,平时刷新就看不见
但是知道名字就可以直接看
但是linux照样看得见
现在只是家目录共享,并不是共享自己希望的资源
想要共享工具文件夹,就需要修改配置文件
example有很多注释的文字信息
系统的日志文件,基本上都是干货
centos7 把注释都放在example里了
看一下范例
rhce的考证就需要记住,要想共享samba账号的家目录,这个selinux的标bool值一定要打开,不打开访问不了
考试的时候selinux是打开的,就需要把这项注释去掉
在selinux 要把一个文件夹共享出来。要改标签
-Z才能看到标签
安全验证,其他都过时了,只有user
服务器的字符串描述
netbios名,比较重要
要用这个就需要启动nmb服务
没有重启服务所以ping不通
重启以后还不生效
说明要用到nmb服务
windows命令nbtstat可以查看netbios列表
有很多机器链接本机
想要知道某台主机的netbios名
这个表示本机samba服务可以通过哪个接口来访问,
下面就是可以限定哪个网段的可以访问(系统默认不限制)
重启服务生效
192地址就可以
从127访问也是可以的
但是配置没写127,自己还是可以访问自己的
一般来讲在samba配置文件#开头是纯注释
;开头是个指令,只不过被注释了
%m代表netbios名
netbios名需要启用名词解析,现在访问的时候是用的IP地址,所以现在最好不要用netbios名,用计算机的ip地址比较好
改成%I比较好
再次访问看看
看看是否有日志生成
会否记录传什么文件
大小为0 说明虽然启用了,但是没有记录东西
所以缺少了一项,记录日志的级别
改成2级别
已经记录了
查看里面内容
范例还有日志大小,不加以限定这个日志文件可能越来越大,默认是以kb为单位的
**这一项就是默认家目录共享的设置,全部删除了家目录就共享不了 **
browseable 可预览 =NO (代表别人是看不到的
read only 只读
下午主要讲如何把自己创建的文件夹共享出来
sample文件里有范例