《samba服务搭建》RHEL6Samba服务不仅可以实现linux和win之间的文件共享,也可以实现linux和linux之间的共享,samba的用户只限服务端本地用户使用。
本文的环境是selinux开启的情况下配置
Samba服务配置:
首选安装samba软件包:
[flash=500,400]http://s1.knowsky.com/20150728/oiql35sueld31.png[/flash]
创建一个打算共享的目录:修改目录的权限
[flash=500,400]http://s1.knowsky.com/20150728/eav2kledhus31.png[/flash]
在目录中创建几个文件以示区别:
[flash=500,400]http://s1.knowsky.com/20150728/l3jklm3oawv31.png[/flash]
安装修改目录安全上下文的软件包:
[flash=500,400]http://s1.knowsky.com/20150728/g3lrmgdqt0y31.png[/flash]
修改目录的安全上下文:
也可以使用chcon –t samba_share_t /hello 稳定性没永久生效的好
[flash=500,400]http://s1.knowsky.com/20150728/xcp5obitncp31.png[/flash]
查看下修改后的目录安全上下文:
[flash=500,400]http://s1.knowsky.com/20150728/dmnlsifanye32.png[/flash]
配置samba服务端:
参数我们一个一个举例看:
[flash=500,400]http://s1.knowsky.com/20150728/kwanfqlmler32.png[/flash]
重启服务:
[flash=500,400]http://s1.knowsky.com/20150728/bgajccgvztq32.png[/flash]
匿名用户测试下:(匿名用户是不可以使用samba服务的)
[flash=500,400]http://s1.knowsky.com/20150728/j5enf01f3f332.png[/flash]
但是匿名用户可以查看到samba服务端共享出的目录:
[flash=500,400]http://s1.knowsky.com/20150728/1ht2fwoghgm32.png[/flash]
添加2个samba用户:
[flash=500,400]http://s1.knowsky.com/20150728/p3nmxu22adg32.png[/flash]
使用本地用户登陆:(只要添加了samba用户,不写目录的有效用户,系统默认都可以登录)
[flash=500,400]http://s1.knowsky.com/20150728/kr4a42gacy332.png[/flash]
我们目录虽然给了写的权限,发现依旧不可以上传,目录权限和samba配置文件权限取交集。
[flash=500,400]http://s1.knowsky.com/20150728/g5wzjb5ayrn32.png[/flash]
Win客户端的测试:(只要我们登陆samba服务就必须要用户名和密码,杜绝了匿名用户的访问;linux客户端好歹还能看到共享的目录,win你只要登录就要密码,连看都没权限,更严格)
[flash=500,400]http://s1.knowsky.com/20150728/ulsrgfywqdb32.png[/flash]
使用samba用户登陆:(配置文件默认samba用户家目录是打开的)
[flash=500,400]http://s1.knowsky.com/20150728/rthxq0pmpjp32.png[/flash]
试着打开westos共享目录:(完全没问题)
[flash=500,400]http://s1.knowsky.com/20150728/gs4qnafuxnd33.png[/flash]
我们创建个文件看看ok不?(提示没权限)
[flash=500,400]http://s1.knowsky.com/20150728/s1hvdeuwpa533.png[/flash]
看看能不能大家lee用户的家目录:(也不行,这是因为我们的selinxu布尔值并未打开家目录,所以只能看不能访问)
[flash=500,400]http://s1.knowsky.com/20150728/zevnxwhojdd33.png[/flash]
Win系统它的缓存建立的很到位,只要我们访问过samba服务,在一定的时间内,你再次访问,不需要用户名,密码可以直接进去。使用一下方法断开连接
[flash=500,400]http://s1.knowsky.com/20150728/mzjr3p0vezp33.png[/flash]
我们再次配置samba服务:加public共工的,这个目录谁都可以看到
[flash=500,400]http://s1.knowsky.com/20150728/ay2tarkzfy233.png[/flash]
客户端测试:(匿名用户可以登陆)linux客户端可以,win不行,你一登陆就提示要用户名,密码,不写不让登。
[flash=500,400]http://s1.knowsky.com/20150728/u0e5pwcrynq33.png[/flash]
普通用户也试试:
[flash=500,400]http://s1.knowsky.com/20150728/uthv5dpfcgu33.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/gqyge0wzfbp33.png[/flash]
配置samba服务:writeable =yes 所有用户都具有写的权限,包括匿名用户。
[flash=500,400]http://s1.knowsky.com/20150728/225dua4azdw33.png[/flash]
匿名用户:
[flash=500,400]http://s1.knowsky.com/20150728/qzqsl55vvmn33.png[/flash]
不仅可以登陆还可以上传文件
[flash=500,400]http://s1.knowsky.com/20150728/houw1j3ofmk33.png[/flash]
测试下本地用户:上传没问题
[flash=500,400]http://s1.knowsky.com/20150728/ugbz3g3cpwa33.png[/flash]
Win客户端测试:
[flash=500,400]http://s1.knowsky.com/20150728/lpnukwpqyl233.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/2f4qm53puwf33.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/ley1wf1bx5e33.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/lkplzh3a5l234.png[/flash]
有写的权限就意味了我们可以删除,创建目录,上传文件:
[flash=500,400]http://s1.knowsky.com/20150728/tnv2xcstnoj34.png[/flash]
配置samba服务:write list = 指定某个用户具有写的权限,其他人都没有:
[flash=500,400]http://s1.knowsky.com/20150728/excgfqwe4nh34.png[/flash]
客户端测试:redhat用户
[flash=500,400]http://s1.knowsky.com/20150728/uomy4bdrinj34.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/40ent5e3w5x34.png[/flash]
使用lee用户:
[flash=500,400]http://s1.knowsky.com/20150728/ye525bbrprk34.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/rpp1bamultu34.png[/flash]
不ok,没权限
配置samba服务:@redhat redhat这个组可以写,其他人不能写
[flash=500,400]http://s1.knowsky.com/20150728/qtsytv5pim434.png[/flash]
把lee用户添加到redhat这个组:
[flash=500,400]http://s1.knowsky.com/20150728/qe5thesiwym34.png[/flash]
客户端测试:lee用户又可以写了
[flash=500,400]http://s1.knowsky.com/20150728/z0slzbqtixa34.png[/flash]
配置samba服务:隐藏westos目录
[flash=500,400]http://s1.knowsky.com/20150728/xn4rznluhqo34.png[/flash]
测试:完全看不到westos目录
Win客户端也测试:samba本地用户也一样看不到
[flash=500,400]http://s1.knowsky.com/20150728/lrgy4lfv0j234.png[/flash]
等于yes是呢?
[flash=500,400]http://s1.knowsky.com/20150728/tmgladqaqut34.png[/flash]
配置samba服务:对这个目录的有效用户
[flash=500,400]http://s1.knowsky.com/20150728/dzuz3kgw4o135.png[/flash]
测试:发现不可以访问
[flash=500,400]http://s1.knowsky.com/20150728/3c5bodt5z5035.png[/flash]
拿win测:发现你进入这个目录还是要密码用户名的、
[flash=500,400]http://s1.knowsky.com/20150728/ktu0pu5rex135.png[/flash]
给samba服务添加个管理员:
[flash=500,400]http://s1.knowsky.com/20150728/tq2l44vgyom35.png[/flash]
[flash=500,400]http://s1.knowsky.com/20150728/conwze4bzl135.png[/flash]
管理员以为这什么?这是之前我们上传的文件,所有者,所属组,几乎都为登陆用户的身份,但是当lee用户作为管理员之后,他所做的动作都将变为root身份。
[flash=500,400]http://s1.knowsky.com/20150728/m0jvqmubf3435.png[/flash]
还有很多其他的参数:
passWord server = # 其他的NT 服务器,或samba服务器但security=server或domain 的ntbios 名字
hosts allow = 192.168.0. #指定那些主机可以访问
hosta deny = 192.168.8. #指定那些主机不可以访问
interfaces = 192.168.0.100/255.255.255.0 #设置samba将对哪些网络接口进行服务。
log file = /var/log/samba/%m.log #日志文件
max log size = 0 #日志文件的大小
log level = 0 # 日志级别 0 表示没有,3 一般比较合理
syslog = 2 # syslog的日志级(0,err)(1,warning)(2,notice)(3,ifno)(4或以上,debug)
syslog only = yes #只使用系统日志,关闭samba日志