Linux Engineer学习------Samba

实验环境:

修改两台虚拟机防火墙默认区域为trusted:

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

1、samba

1.1简述

Samba共享服务,跨平台的共享(Windows与Linux)

– 用途:为客户机提供共享使用的文件夹

– 协议:SMB(TCP 139)、CIFS(TCP 445)

? 所需软件包:samba

? 系统服务:smb

? Samba用户 —— 专用来访问共享文件夹的用户

– 采用独立设置的密码

– 但需要提前建立同名的系统用户(可以不设密码)

? 使用 pdbedit 管理工具

– 添加用户:pdbedit -a 用户名

– 查询用户:pdbedit -L [用户名]

– 删除用户:pdbedit -x 用户名

? 配置文件路径 /etc/samba/smb.conf

[自定共享名]

path = 文件夹绝对路径

public = no|yes //默认no

browseable = yes|no //默认yes

read only = yes|no //默认yes

write list = 用户1 .. .. //默认无

valid users = 用户1 .. .. //默认任何用户

hosts allow = 客户机地址 .. ..

hosts deny = 客户机地址 .. ..

装包、配置(修改主配置文件)、起服务


 1.2具体操作

实验1:通过samba发布共享目录,并满足以下条件

共享名称和共享目录为/common;工作组为STAFF;

允许172.25.0.0网段访问;用户harry能够读取共享中的内容

在服务端Server0上的操作:

1.安装samba软件,服务端软件

2.建立Samba账户

[[email protected] ~]# useradd -s /sbin/nologin harry

[[email protected] ~]# pdbedit -a harry    #添加设置Samba帐号

输入密码123

[[email protected] ~]# pdbedit -L             #查看所有Samba账户

3.修改 /etc/samba/smb.conf(vim命令模式,/workgroup 全文查找)

[[email protected] ~]# mkdir /common           #创建共享目录

[[email protected] ~]# echo 123 > /common/a.txt   #创建测试文件

[[email protected] ~]# vim /etc/samba/smb.conf

.......

workgroup = STAFF     #设置工作组

.......

[common]              #设置共享名

path = /common   #设置共享的实际路径

hosts allow = 172.25.0.0/24 #允许这个网段的访问

4.启动smb服务,设置为开机自起

[[email protected] ~]# systemctl restart smb

[[email protected] ~]# systemctl enable smb

在客户端Desktop0上的操作

1.安装软件包:samba-client

2.列出共享资源

– smbclient -L 服务器地址

[[email protected] ~]# smbclient -L 172.25.0.11

Enter root's password:  直接回车

可以看到服务端共享出来的文件目录

3.连接到共享文件夹

– smbclient -U  用户名   //服务器地址/共享目录名

[[email protected] ~]# smbclient -U harry //172.25.0.11/common

Enter harry's password: 输入密码123

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \>ls

NT_STATUS_ACCESS_DENIED listing \*   #权限不够访问被拒

客户端访问服务端资源

1.服务端,服务的访问控制

2.服务端,防火墙

3.服务端,SELinux策略

4.服务端,本地权限

SELinux策略,布尔值(开启或关闭)

虚拟机Server0:开启SELinux功能的开关

? getsebool 查看 SELinux 开关

[[email protected] ~]# getsebool -a | grep samba

samba_export_all_ro --> off

samba_export_all_rw --> off

? setsebool 控制 SELinux 开关

– 需要加 -P 选项才能实现永久设置

[[email protected] ~]# setsebool samba_export_all_ro on   #开启可读权限

[[email protected] ~]# getsebool -a | grep samba

客户端Desktop方便的访问

[[email protected] ~]# mkdir  /mnt/nsd01

[[email protected] ~]# ls  /mnt/nsd01

安装一个可以支持挂载Samba的软件cifs-utils

[[email protected] ~]# yum -y install cifs-utils

mount -o username=harry,password=123  //172.25.0.11/common   /mnt/nsd01/  #手动挂载

df -h

完成开机自动挂载

_netdev:在开机启动时,先启动完网络服务,在挂载该设备

[[email protected] ~]# vim /etc/fstab

//172.25.0.11/common   /mnt/nsd01    cifs username=harry,password=123,_netdev   0   0

[[email protected] ~]# mount -a

[[email protected] ~]# df -h

[[email protected] ~]# touch /mnt/samba/d.txt

touch: 无法创建"/mnt/samba/d.txt": 权限不够

实验2:完成读写的Samba共享

服务端Server0

1.安装samba软件,服务端软件

2.建立Samba账户

[[email protected] ~]# useradd -s /sbin/nologin chihiro

[[email protected] ~]# useradd -s /sbin/nologin kenji

[[email protected] ~]# pdbedit -a chihiro

[[email protected] ~]# pdbedit -a kenji

3.修改配置文件/etc/samba/smb.conf

[[email protected] ~]# mkdir /devops

[[email protected] ~]# touch /devops/b.txt

[[email protected] ~]# vim /etc/samba/smb.conf

[devops]

path = /devops

write list = chihiro     #允许chihiro可以写

4.重起smb服务

5.修改SELinux开关

[[email protected] ~]# getsebool -a | grep samba

[[email protected]er0 ~]# setsebool samba_export_all_rw on

[[email protected] ~]# getsebool -a | grep samba

6.赋予chihiro本地权限

[[email protected] ~]# setfacl -m u:chihiro:rwx /devops/

[[email protected] ~]# getfacl /devops/

客户端Desktop完成开机自动挂载

[[email protected] ~]# mkdir /mnt/nsd02

[[email protected] ~]# vim /etc/fstab

//172.25.0.11/devops   /mnt/nsd02   cifs username=chihiro,password=123,_netdev   0   0

[[email protected] ~]# mount -a

[[email protected] ~]# df -h

[[email protected] ~]# touch /mnt/samba/d.txt  #成功

multiuser机制(多用户的Samba挂载)

– multiuser,提供对客户端多个用户身份的区分支持

– sec=ntlmssp,提供NT局域网管理安全支持

客户端Desktop完成开机自动挂载

[[email protected]ktop0 /]# vim /etc/fstab       (man mount.cifs)

//172.25.0.11/devops  /mnt/nsd02 cifs username=kenji,password=123,_netdev,multiuser,sec=ntlmssp 0 0

[[email protected] /]# umount /mnt/nsd02

[[email protected] /]# mount -a

[[email protected] /]# df -h

[[email protected] /]# su - student

[[email protected] ~]$ touch /mnt/nsd02/10.txt     #不成功  权限不够

[[email protected] ~]$ cifscreds add -u chihiro 172.25.0.11 #以chihiro的身份连接

[[email protected] ~]$ touch /mnt/nsd02/10.txt     #成功

[[email protected] ~]$ ls  /mnt/nsd02

[[email protected] ~]$ exit

Sticky Bit

? 附加在其他人的 x 位上

– 其他人的权限标识会变为 t

– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入

权限(禁止操作别人的文档)

[[email protected] ~]# mkdir /public

[[email protected] ~]# chmod u=rwx,g=rwx,o=rwx /public

[[email protected] ~]# ls -ld /public

[[email protected] ~]# chmod o+t /public

[[email protected] ~]# ls -ld /public

服务端:netstat -antp | grep smb

mount error 13 :permission deny  用户名密码不一致

原文地址:http://blog.51cto.com/13452945/2060965

时间: 2024-10-21 20:38:49

Linux Engineer学习------Samba的相关文章

Linux Engineer学习------NFS

实验环境:修改两台虚拟机防火墙默认区域为trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted 1.NFS共享服务(Linux与Linux) 1.1普通NFS服务 ? Network File System,网络文件系统 – 用途:为客户机提供共享使用的文件夹 – 协议:NFS(TCP/

Linux Engineer学习------Mariadb入门

1.MariaDB数据库 database:数据库 什么是数据库 DB,数据库:一批数据的集合,主流的数据库多用来存放关系型表格数据 1.1虚拟机Server:安装MariaDB数据库 [[email protected] ~]# yum -y install mariadb-server MariaDB数据库 ,端口:3306 1.2启动数据库服务 [[email protected] ~]# systemctl restart mariadb [[email protected] ~]# s

Linux Engineer学习------WEB/Postfix

实验环境:修改两台虚拟机防火墙默认区域为trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted 1.web 案例1搭建基本的Web服务 ? 基于 B/S (Browser/Server)架构的网页服务 – 服务端提供网页 – 浏览器下载并显示网页 ? Hyper Text Markup

Linux Engineer学习------ISCSI

实验环境:修改两台虚拟机防火墙默认区域为trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted [[email protected] ~]# firewall-cmd --set-default-zone=trusted 1.parted 划分分区的指令:parted (专门做大空间划分 2T) GPT: 突破了4个主分区限制,可以有很多主分区 1.1交互式分区 [[email protected] ~]# p

linux架构学习第二十九天之samba文件共享服务

内容: 1.samba的作用以及由来 2.samba的特性 3.samba的工作过程 4.samba的安装以及配置 5.samba的搭建测试 一.samba的作用以及由来 SAMBA历史溯源(摘自百度百科): 在早期网络世界当中,档案数据在不同主机之间的传输大多是使用 FTP 这个好用的服务器软件来进行传送.不过,使用FTP 传输档案却有个小小的问题,那就您无法直接修改主机上面的档案数据!也就是说您想要更改Linux 主机上的某个档案时,必需要由 Server 端将该档案下载到 Client端后

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

学习Samba加域之大话西游02

当前,几乎所有的公司,组织都会采用 Active Directory为它们的 Windows 桌面和服务器提供身份验证服务.在<Linux 身份验证策略>中,我们讲过让Linux 计算机也采用 Active Directory,这样做得好处显而易见,那就是集中管身份验证. 1.     一些基础概念如Samba和Winbind,PAM, NSS可以参考<Linux 身份验证策略>. 2.     怎么配置 Samba,参考 学习Samba基础命令详解之大话西游01. 3.    

学习Samba基础命令详解之大话西游01

服务名:smb 配置目录:/etc/sabma/ 主配置文件:/etc/sabma/smb.conf #============================== Global Settings ============================= 17行workgroup 语法 workgtoup = <工作组群>; 预设 workgroup = MYGROUP 说明 设定 Samba Server 的工作组 例 workgroup = workgroup 和WIN2000S设为一个

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多