Samba可以实现Linux和Windows之间的文件共享,主要包括服务端软件Samba、客户端软件Samba-client、用于提供服务端和客户端程序的公共组件Samba-common。在CentOS中大部分软件包已经默认安装好了。Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能。其中,smbd负责为客户端提供服务器中共享资源(目录和文件等)的访问;nmbd负责提供基于NetBIOS协议的主机名称解析,以便为Windows网络中的主机进行查询服务。示例:ABC是一家网站设计公司,公司下面有设计部、开发部、运维部等多个部门,公司决定部署一台Samba服务器,满足各个部门间快速共享数据的需求。设计部共享目录:/ABC/design开发部共享目录:/ABC/develop运维部共享目录:/ABC/ops公共共享目录:/ABC/share每个目录设置两个用户,部门主管具有读写的权限,其它人仅有读的权限,以运维部为例:主管的用户名为:opsadmin(密码和用户名一致),其它人:ops1(密码与用户名一致)。公共共享目录:administrator(密码和用户名一致)具有读写权限,其它所有人仅有读的权限。1 关闭防火墙和Selinux:[root@localhost ~]# service iptables stop[root@localhost ~]# vim /etc/selinux/configSELINUX=disabled[root@localhost ~]# setenforce 0
2 配置Samba服务器:安装程序组件[root@localhost ~]# rpm -qa | grep ‘samba’samba-common-3.6.23活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看-33.el6.i686samba-client-3.6.23-33.el6.i686samba-winbind-3.6.23-33.el6.i686samba4-libs-4.2.10-6.el6_7.i686samba-winbind-clients-3.6.23-33.el6.i686[root@localhost ~]# yum -y install samba
建立共享目录和测试文件[root@localhost ~]# mkdir -pv /ABC/{design,develop,ops,share}[root@localhost ABC]# echo “This is design” >> /ABC/design/de.txt[root@localhost ABC]# echo “This is develop” >> /ABC/develop/deve.txt[root@localhost ABC]# echo “This is ops” >> /ABC/ops/ops.txt[root@localhost ABC]# echo “This is share” >> /ABC/share/share.txt[root@localhost ABC]# tree /ABC//ABC/├── design│ └── de.txt├── develop│ └── deve.txt├── ops│ └── ops.txt└── share └── share.txt
4 directories, 4 files
建立账户:Samba服务器使用独立的共享账号数据库文件,其中的账号必须有与它同名的系统用户相对应,以便主开发云主机域名机对共享访问的读写权限进行控制;但共享用户的密码是额外设置的,可以和系统用户的密码不一样。[root@localhost ~]# useradd -s /sbin/nologin opsadmin #先增加系统用户[root@localhost ~]# pdbedit -a -u opsadmin #再添加共享用户[root@localhost ~]# useradd -s /sbin/nologin ops1[root@localhost ~]# pdbedit -a -u ops1[r开发云主机域名oot@localhost ~]# useradd -s /sbin/nologin administrator[root@localhost ~]# pdbedit -a -u administrator[root@localhost ~]# pdbedit -L #列出所有用户opsadmin:501:administrator:503:ops1:502:[root@localhost ~]# pdbedit -x -u vina #删除某个用户[root@localhost ~]# pdbedit -vL ops1 #显示用户详细信息Unix username: ops1NT username: Account Flags: [U ]User SID: S-1-5-21-2138872188-2142312678-3225965792-1001Primary Group SID: S-1-5-21-2138872188-2142312678-3225965792-513Full Name: Home Directory: localhostops1HomeDir Drive: Logon Script: Profile Path: localhostops1profileDomain: LOCALHOSTAccount desc: Workstations: Munged dial: Logon time: 0Logoff time: neverKickoff time: neverPassword last set: Tue, 30 May 2017 12:04:49 CSTPassword can change: Tue, 30 May 2017 12:04:49 CSTPassword must change: neverLast bad password : 0Bad password count : 0Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
备注:修改密码需要用到如下命令:smbpasswd username
修改配置文件[root@localhost ABC]# vim /etc/samba/smb.conf[global]security = user[share]path = /ABC/sharepublic = yesbrowseable = yesread only = yeswrite list = administrator
[ops]path = /ABC/opsbrowseable = yespublic = nowrite list = opsadminvali开发云主机域名d users = ops1,opsadmin[root@localhost ABC]# testparm #检查配置文件[root@localhost ABC]# chmod -R 777 /ABC/{design,develop,ops,share}
开启服务[root@localhost ABC]# service smb start[root@localhost ABC]# service nmb start修改配置文件后,需要重新载入配置文件[root@localhost ABC]# service smb reload
附:Samba配置文件常用参数详解:1)security = user | share:share:不需要提供用户名和密码;user:共享目录只能被授权的用户访问,并且验证账号和密码的正确性;2)path = /ABC/ops:共享目录的路径;3)browseable = no | yes:该目录是否可以被浏览,no意味隐藏目录;4)valid users = ops1,opsadmin:允许访问该共享的用户;5)invalid users = **,**:禁止访问该共享的用户;6)write list = ops1:允许写入该共享的用户;7)public = no | yes:是否允许匿名访问,同guest ok8) directory mask = 0755:上传目录的默认权限;9) create mask = 0644:上传文件的默认权限;
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Linux之Samba文件共享》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...