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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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可以访问


本文出自 “13122425” 博客,请务必保留此出处http://13132425.blog.51cto.com/13122425/1958182

以上是关于cifs文件系统{samba文件共享服务}的主要内容,如果未能解决你的问题,请参考以下文章

运维学习之cifs(Samba)文件系统服务

cifs协议与samba服务

cifs协议与samba服务

samba

Linux的samba文件服务

samba