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

一.samba介绍linux

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

 

 

 

 

 

 

 

 

 

 

二.搭建环境安装服务vim

1.配置yum仓库windows

2.关闭防火墙安全

systemctl stop firewalld服务器

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

yum install samba samba-common samba-client -y     ide

systemctl start smb   开启samba服务测试

systemctl enable smb   设置开机自动启动spa

 

(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能够访问

相关文章
相关标签/搜索