cifs文件系统{samba文件共享服务}

简介:

一.samba介绍

1.提供cifs协议实现共享文件,主要用于windows与linux的网络文件系统

 

 

 

 

 

 

 

 

 

 

二.搭建环境安装服务

1.配置yum仓库

2.关闭防火墙

systemctl stop firewalld

3.安装软件,设置开机自动启动

yum install samba samba-common samba-client -y     

systemctl start smb   开启samba服务

systemctl enable smb   设置开机自动启动

 

(samba-common  samba的支持文件);(samba-client  客户端应用程序);(samba  服务器的应用程序)

 

三.添加smb用户

1.smb用户必须是本地用户

smbpasswd -a student     (添加student用户)

New SMB password: 输入smb当前用户密码

Retype new SMB password: 确认密码

 

pdbedit -L 查看smb用户信息

pdbedit -x smb用户          删除smb用户

 

2.查看selinux的状态,如果是enforencing,修改samba服务的sebool值,并且打开家目录的访问权限。

getenforce      查看selinux的状态

setsebool -P enable_samba_home_dirs  on(selinux是enforce的状态下)

 

3.以student用户的身份(客户端)去访问samba服务共享出来的student用户的家目录。

smbclient //172.25.254.124/student -U student    访问student用户的家目录

Enter student's password:         输入该用户的密码

 

四.设定共享目录

1.基本配置

编辑配置文件 vim /etc/samba/smb.conf

workgroup mkdir= westos   工作组的名称

 

[DATA]  共享目录的名称

comment = local directory    对共享目录的描述

path= /westos    共享目录的路径  

 

查看创建的共享目录 smbclient -L //172.25.254.124 -U student  

 

2.当共享目录为用户自己建立的目录时,需要修改新建目录的安全上下文(否则无法在共享目录中看到文件)

mkdir /westos    创立共享目录

touch /westos/linuxfile{1..3}   建立文件

ls -lZd /westos/     查看目录的安全上下文

semanage fcontext -a -t samba_share_t '目录名称(/.*)?'   (/.*)?表示匹配目录及目录以下所有文件

restorecon -RvvF 目录名称       刷新目录里内容的安全上下文

 

3.当共享目录为系统级目录,为了不影响修改安全上下文对别的服务的影响,修改selinux中的sebool值(否则无法看到文件)

编辑配置文件 vim /etc/samba/smb.conf

 

[CONFIG]  共享目录的名称

comment = config directory    对共享目录的描述

path= /mnt    共享目录的路径  

 

以student身份查看共享的系统目录 smbclient //172.25.254.124/CONFIG -U student

ls   无法查看到文件

 

getsebool  -a | grep samba       过滤出samba服务的sebool值

setsebool  -P samba_export_all_ro on#只读共享

setsebool  -P samba_export_all_rw on#读写共享

 

4.再次以student用户的身份去访问samba服务共享的文件

smbclient //172.25.254.124/CONFIG -U student

ls   可以看到目录下文件

 

五.samba的配置参数

1.匿名用户访问

编辑配置文件 vim /etc/samba/smb.conf

guest ok = yes

map to guest = bad user

 

2.访问控制

hosts deny = ip  只拒绝该主机访问

hosts allow = ip 只允许该主机访问

valid users = 用户 当前共享有效的用户

valid users = @student 当前共享的有效用户为student组

valid users = +student 当前共享的有效用户为student组

 

3.读写控制

服务端:

所有用户均可写

chmod o+w /mnt    给其他用户/mnt目录写权限

setsebool -P samba_export_all_rw on     改变selinux中sebool值,打开读写权限

vim /etc/samba/smb.connf

writable = yes                          打开配置文件中的写权限

客户端:

mount -o username=student,password=redhat //172.25.254.124/CONFIG /mnt/  以student身份将172.25.254.124共享的CONFIG挂载到/mnt上

测试读写权限

 

4.设定指定用户可写

编辑配置文件  vim /etc/samba/smb.conf

write list = student   可写用户

用student用户挂载目录,可以进行写操作;用lu用户挂载目录,没有权限进行写操作

 

weite list = +student  可写用户组

write list = @student  可写用户组(两种方式都表示组用户可写)

 

六.smb多用户挂载

1.在客户端安装cifs-utils软件

2.创建访问时所需要的用户名和密码

vim /root/westos  (创建身份认证文件)

username=student      

password=redhat     (格式)

 

chmod 600 /root/westos 只有root拥有读写权限

 

3.多用户挂载

mount -o credentials=/root/westos,multiuser,sec=ntlmssp //172.25.254.124/CONFIG /mnt/

credentials=/root/westos   指定挂载时用到的用户身份认证文件

multiuser     支持多用户认证

sec=ntlmssp   认证方式为smb认证

 

4.测试

su - kiosk

ls /mnt

ls: cannot access /mnt: Permission denied#因为没有做smb的认证所以无法访问smb共享

(没有作smb的认证所以无法访问smb共享)

cifscreds add -u student 172.25.254.124     为用户tom认证

Password:    smb用户student的密码

ls /mnt  可以看到/mnt目录下的文件

 

cifscreds clear -u student 172.25.254.124 清除认证后,用户lu无法访问

cifscreds add -u student 172.25.254.124 student认证后tom可以访问


本文转自 lulu2017 51CTO博客,原文链接:http://blog.51cto.com/13132425/1958182


相关文章
|
3月前
|
Unix Linux 文件存储
文件传输、文件挂载MOUNT:NFS、CIFS、ADB、SAMBA
文件传输、文件挂载MOUNT:NFS、CIFS、ADB、SAMBA
70 0
|
10天前
|
网络协议 Linux
基于 NFS 的文件共享实现
基于 NFS 的文件共享实现
|
存储 网络协议 Linux
使用Samba实现文件共享
SMB服务消息块协议,指在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单.到了1991年,当时还在读大学的Tridgwell为了解决Linux系统与Windows系统的文件共享问题,基于SMB协议,开发出了SMBServer服务程序,后来由于名称冲突,改名为Samba,而如今Samba服务已经成为了,Linux系统与Windows系统之间数据传输的最佳选择.
260 0
|
Unix 网络安全
配置NFS文件共享服务
NFS 网络文件系统,是一种使用于分布式文件系统的协议,功能是通过网络让不同的机器,不同的操作系统能够彼此分享各自的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
312 0
|
存储 网络协议 Linux
Linux网络服务之NFS(文件共享服务)
1 NFS简介 NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
670 1
|
Linux 开发工具 数据库
Linux使用Samba实现文件共享
Linux使用Samba实现文件共享Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择。 [root@study ~]# yum install samba -y  #安装samba服务 [root@study ~]# cat -n /etc/samba/smb.
1319 0
|
开发工具
NFS共享文件系统的介绍与配置
一、NFS服务简介   NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
2524 0
|
Linux 开发工具 数据安全/隐私保护