• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

文件共享服务-Samba

NAS之CIFS
CIFS: Common Internet File System  Windows和Unix系统之间共享文件的一种协议
========================================================

一、Samba服务器 (存储端)
借助于Linux平台上的Samba软件来实现CIFS共享
软件包: samba,samba-common
配置文件: /etc/samba/smb.conf
监听端口: 445/tcp  137,138,139/tcp

案例1:
1. 安装软件
[root@jeson ~]# rpm -qa |grep samba
samba-common-3.0.33-3.37.el6
samba-3.0.33-3.37.el6

2. 建立共享所需要目录
[root@jeson ~]# mkdir -p /share/{smb1,smb2}
[root@jeson ~]# chmod 777 /share/smb1 /share/smb2
[root@jeson ~]# touch /share/smb1/file1
[root@jeson ~]# touch /share/smb2/file2

3. 通过CIFS共享
[root@jeson ~]# vim /etc/samba/smb.conf
#======================= Global Settings ================
[global]
security = user|share|domain|ads|server //定义安全级别

#======================= Share Definitions ===============
[smb1]
        path = /share/smb1

[smb2]
        path = /share/smb2
        comment = music
        valid users = alice jack robin
        writable = yes

4. 建立Samba用户
[root@jeson ~]# useradd alice //建立系统用户
[root@jeson ~]# smbpasswd -a alice //设置samba密码

5. 启动Samba服务
[root@jeson ~]# service smb restart
[root@jeson ~]# chkconfig smb on

二、客户端连接测试
Windows端 
1. \\192.168.2.168     
2. 映射网络驱动器

Linux端: 
# yum -y install samba-client 
# smbclient -L 192.168.2.168 -U alice   //查看服务器共享
# smbclient -L 192.168.5.240 –user=alice%1 //查看服务器共享
# mkdir /mnt/smb1
# mkdir /mnt/smb2
# mount -t cifs //192.168.2.168/smb1 /mnt/smb1 -o username=alice%1
# mount -t cifs //192.168.2.168/smb2 /mnt/smb2 -o username=alice%1
# df
文件系统               1K-块        已用     可用 已用% 挂载点
//192.168.2.168/smb1  19840924   9285328   9531456  50% /mnt/smb1
//192.168.2.168/smb2  19840924   9285328   9531456  50% /mnt/smb2

[root@jeson ~]# ls /mnt/smb1
file1
[root@jeson ~]# touch /mnt/smb1/file2
touch: 无法触碰 “/mnt/smb1/file2”: 权限不够
[root@jeson ~]# 
[root@jeson ~]# ls /mnt/smb2
file2
[root@jeson ~]# touch /mnt/smb2/file4

自动挂载/etc/fstab
//192.168.2.168/smb2   /mnt/smb2   cifs   defaults,username=alice%1  0 0

三、Samba扩展配置
1. 取消用户HOME共享
[root@jeson ~]# vim /etc/samba/smb.conf
;[homes]
;       comment = Home Directories
;       browseable = no
;       writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S

2. 存储端实现访问控制
基于用户的访问控制 user-based
基于主机的访问控制 host-based

案例1:samba实现公司文件服务器 (也可看成是为多个Project准备NAS存储)
a. 建立所需的组和用户
[root@jeson ~]# groupadd hr
[root@jeson ~]# groupadd it
[root@jeson ~]# useradd -G hr hr01
[root@jeson ~]# useradd -G hr hr02
[root@jeson ~]# useradd -G it it01
[root@jeson ~]# useradd -G it it02
[root@jeson ~]# smbpasswd -a hr01
[root@jeson ~]# smbpasswd -a hr02
[root@jeson ~]# smbpasswd -a it01
[root@jeson ~]# smbpasswd -a it02

b. 目录、权限
[root@jeson ~]# mkdir /home/hr
[root@jeson ~]# mkdir /home/it
[root@jeson ~]# mkdir /home/public
[root@jeson ~]# chmod 1770 /home/hr //3770:  set gid,  sticky
[root@jeson ~]# chmod 1770 /home/it
[root@jeson ~]# chgrp hr /home/hr
[root@jeson ~]# chgrp it /home/it
[root@jeson ~]# ll -d /home/hr /home/it
drwxrwx–T 2 root hr 4096 11-12 10:45 /home/hr
drwxrwx–T 2 root it 4096 11-12 10:46 /home/it

c. samba共享
基于用户的访问控制:
[root@jeson ~]# vim /etc/samba/smb.conf
[public]
        path = /home/public
        guest ok = yes
[hr]
        path = /home/hr 
        valid users = +hr 
        writable = yes 
[it]
        path = /home/it
        valid users = @it
        write list = it01
[root@jeson ~]# service smb restart

基于主机的访问控制:
==针对整个服务器
[global]
hosts allow = 192.168.2. 192.168.3.

==针对某个共享目录
[hr]
        path = /home/hr
        valid users = +hr 
        writable = yes 
create mask = 0775 //上传的文件默认权限为0775
        hosts allow = 192.168.3.
[it]
        path = /home/it
        valid users = @it 
        write list = it01
        hosts allow = 192.168.2.

3. 使用磁盘限额限制用户对服务器存储的使用
a. 目录设置sgid(确保目录下新建的文件自动继承目录属组)
[root@jeson ~]# ll -d /home/hr /home/it
drwxrws–T 2 root hr 4096 11-12 10:45 /home/hr
drwxrws–T 2 root it 4096 11-12 10:46 /home/it

b. 使用edquota -g hr
限制it部门只能使用5G,创建文件数1000个
限制hr部门只能使用3G,创建文件数1000个

c. 从windows或Linux端挂载并测试

4. 从Linux主机挂载windows共享
# mount  //windows_ip/共享名  挂载点  -o username=administrator%123

文件共享服务-Samba

Pingbacks已打开。

引用地址

暂无评论

发表评论