组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
Samba服务器可实现如下功能: A、WINS和DNS服务; B、网络浏览服务; C、Linux和Windows域之间的认证和授权; D、UNICODE字符集和域名映射; E、满足CIFS协议的UNIX共享等。Samba服务配置主要是指/etc/samba/smb.conf文件的配置。一般情况下,公司或企业主要分三种情况,即:1、公共匿名类共享目录的配置(即匿名账户访问共同的目录或者文件); A、配置文件: [root@samba ~]# vi /etc/samba/smb.conf 在文件中添加或者修改相关代码: workgroup = WORKGROUP //定义工作组,也就是windows中的工作组概念 server string = Lmz Samba Server Version %v //定义Samba服务器的简要说明 netbios name = LmzSamba log file = /var/log/samba/log.%m //定义Samba用户的日志文件,%m代表客户端主机名 //Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件 security = share //共享级别,用户不需要账号和密码即可访问 [public] //设置针对的是共享目录个别的设置,只对当前的共享资源起作用 comment = Public Stuff //对共享目录的说明文件,自己可以定义说明信息 path = /share //用来指定共享的目录,必选项 public = yes //所有人可查看,等效于guest ok = yes B、建立共享目录: [root@samba /]# mkdir share [root@samba /]# cd share 为/share目录给匿名用户授权为nobody权限: [root@samba /]# chown -R nobody:nobody share/ C、重启smb服务: [root@samba /]# /etc/init.d/smb restart Shutting down SMB services: [ OK ] Starting SMB services: [ OK ] [root@samba /]# /etc/init.d/nmb restart Shutting down NMB services: [FAILED] Starting NMB services: [ OK ] D、测试smb.conf配置是否正确: [root@samba /]# testparm E、访问Samba服务器的共享文件: [root@samba /]# smbclient //127.0.0.1/public 显示结果: WARNING: The security=share option is deprecated Enter root's password: 由于是匿名用户,没有设置密码,所以在此直接回车即可: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-167.el6_5] Server not using user level security and no password supplied. smb: \> 在此输入 ls 命令,回车显示共享目录下的内容: 在此输入 q 命令,退出访问。 F、在windows下访问时共享----->开始---->运行---->输入\\samba服务器IP,回国即可访问共享资源2、按照权限对目录进行分组(即除公共共享目录外,各组访问各组的文件或目录,以技术部门TS为例);
A、添加TS部组和系统用户,并赋给用户密码: [root@samba ~]# groupadd ts [root@samba ~]# useradd -g ts zhangsan //-g 指定用户所属组 [root@samba ~]# useradd -g ts lisi 设置lisi的密码: [root@samba ~]# passwd lisi 显示结果: Changing password for user lisi. New password: 在此输入密码:123456,回车: BAD PASSWORD: it is too short BAD PASSWORD: is too simple Retype new password: 再次输入密码:123456,回车: passwd: all authentication tokens updated successfully. 设置zhangsan的密码: [root@samba ~]# passwd zhangsan 显示结果: Changing password for user zhangsan. New password: 在此输入密码:123456,回车: BAD PASSWORD: it is too short BAD PASSWORD: is too simple Retype new password: 再次输入密码:123456,回车: passwd: all authentication tokens updated successfully. B、在根目录下建立/ts 文件夹: [root@samba ~]# cd / [root@samba /]# mkdir ts C、将建立的两个帐户(lisi、zhangsan)添加到samba的账户中: [root@samba ~]# smbpasswd -a zhangsan //-a 即add添加samba账户 New SMB password: Retype new SMB password: Added user zhangsan. [root@samba ~]# smbpasswd -a lisi New SMB password: Retype new SMB password: Added user lisi. D、修改主配置文件如下: [root@samba ~]# vi /etc/samba/smb.conf 修改security: security = user //用户级别,需要账号和密码才可访问 添加信息: [ts] comment = TS path = /ts //指定TS组的目录 valid users = @ts //该组用户访问samba服务器上的资源时,读取ts的配置文件,找到相应的目录。 E、重新加载samba服务: [root@samba ~]# service smb reload 显示结果: Reloading smb.conf file: [ OK ] F、访问方式同上,需要输入用户名和密码才可访问。3、共享目录下的不同目录进行分组。
需求:1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、FM和Share。在Share下又有以下几个文件夹:HR、FM和Tools。 2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。 3. HR管理员账号:hradmin;普通用户账号:hruser。FM管理员账号:fmadmin;普通用户账号:fmuser。 A、新建系统用户及密码,并设置SMB账户及密码: 添加系统用户: [root@samba ~]# useradd -s /sbin/nologin hradmin //-s 指定登录使用的shell,nologin禁止使用该系统账号来登录系统(linux或unix系统) //从root切换过去时,遇到下面提示:This account is currently not available.//使用/bin/bash切换过去就可以了[root@samba ~]$ su --shell=/bin/bash hruser #回车,就切换到hruser用户了。
[root@samba ~]# useradd -g hradmin -s /sbin/nologin hruser [root@samba ~]# useradd -s /sbin/nologin fmadmin [root@samba ~]# useradd -g hradmin -s /sbin/nologin fmuser [root@samba ~]# useradd -s /sbin/nologin admin 设置SMB账户及密码(同上): [root@samba ~]# smbpasswd -a hradmin New SMB password: Retype new SMB password: Added user hradmin. [root@samba ~]# smbpasswd -a hruser New SMB password: Retype new SMB password: Added user hruser. [root@samba ~]# smbpasswd -a fmadmin New SMB password: Retype new SMB password: Added user fmadmin. [root@samba ~]# smbpasswd -a fmuser New SMB password: Retype new SMB password: Added user fmuser. [root@samba ~]# smbpasswd -a admin New SMB password: Retype new SMB password: Added user admin. B、新建目录: [root@samba /]# mkdir company [root@samba /]# cd company [root@samba company]# mkdir HR FM Share [root@samba company]# cd Share [root@samba Share]# mkdir HR FM Tools C、更改目录属性: [root@samba company]# chown hradmin.hradmin HR [root@samba company]# chown fmadmin.fmadmin FM [root@samba company]# chown admin.admin Share [root@samba company]# cd Share [root@samba Share]# chown hradmin.hradmin HR [root@samba Share]# chown fmadmin.fmadmin FM [root@samba Share]# chown admin.admin Tools [root@samba Share]# chmod 1775 HR FM D、修改主配置文件如下: security = user passdb backend = tdbsam [HR] comment = This is a directory of HR. path = /company/HR/ public = no admin users = hradmin valid users = @hradmin writable = yes create mask = 0750 directory mask = 0750 [FM] comment = This is a directory of FM. path = /company/FM/ public = no admin users = fmadmin valid users = @fmadmin writable = yes create mask = 0750 directory mask = 0750 [Share] comment = This is a share directory. path = /company/Share/ public = no valid users = admin,@hradmin,@fmadmin writable = yes create mask = 0755 directory mask = 0755 E、重新启动samba服务: [root@samba Share]# /etc/init.d/smb restart [root@samba Share]# /etc/init.d/nmb restart 4、设置网络映射驱动器,可以在计算中添加一个类似盘符文件夹,这样就比较