Samba服务是实现Windows和Linux操作系统网络共享,首先我们需要在Linux操作系统中安装,所以在学习linux运维的时候一定要重视samba服务,下面我们一起来学习吧!

Samba服务 桑巴Smb是基于cs架构

作用:用于跨平台进行文件共享

优点:兼容性好,较为安全(具备身份验证)

缺点:仅限内网环境使用

应用:一般在办公环境下使用

rz 也是一种可以在Windows和Linux操作系统之间进行文件共享的命令,只不过传输文件较小。

一、实现单用户共享文件

步骤:

1、安装

# yum -y install samba

2、配置(爱配不配)(默认可用,不需要配置)

# vim /etc/samba/smb.conf

3、启动

第一次启动# systemctl start smb

修改配置文件后重启服务# systemctl restart smb

3.5、添加用户

useradd USERNAME

smbpasswd -a USERNAME

4.1、windows访问

win+R打开运行窗口,输入两个反斜线加上samba服务器的地址。输入你的用户名和密码即可

4.2、挂载(Linux系统之间)

# mount -t cifs -o username=USERNAME,password=PASSWORD //ServerIP/ShareDIR /LocalDIR

5、测试

在Windows系统下删除远程连接:

net use * /delete

扩展:

如需实现开机自动挂载,需要修改/etc/fstab并添加:

//ServerIP/ShareDIR/MountDIRcifsusername=USERNAME,password=PASSWORD00

二、实现多用户共享文件

1、配置相关的配置文件

# yum /etc/samba/smb.conf

配置文件内容:

[nidaye] #文件共享;访问用户看到的目录名称

comment = abcdef #共享目录描述,可以随意填写

path = /nimei #共享目录(本机实际目录名称)路径,需要绝对路径

write list = a b c d #可写入的用户名单,多个用户使用空格隔开

read only = yes/no #是否只读

writeable = yes/no #是否可写

valid users = A B C D #可访问的用户,多个用户使用空格隔开

browseable = yes/no #(浏览,阅读)是否可显

directory mask = 0775 #创建目录默认权限

create mask = 0664 #创建文件默认权限

guest ok = yes/no #是否(不)需要二次验证(yes为不需要)

public = yes/no #是否(不)需要二次验证(yes为不需要)

2、smbclient可以查看USERNAME的所共享的目录或文件

smbclient -U USERNAME -L 服务端IP地址

--user --list

三、创建Samba服务的第二种方法

1、下载安装

2、修改配置文件

vim /etc/samba/smb.conf

[ren]

path = /ren

public = yes

read only = no

3、重启Samba服务

systemctl restart smb

4、创建普通用户及Samba用户

useradd ryz

pdbedit -a -u ryz

-a -create 创建Samba用户

-u -user=USER 使用已有的用户名

5、给共享文件的其他人增加读写权限

chmod -R a+w /ren

6、在Windows系统查看共享文件

按下win+R进入运行界面,输入:\\192.168.11.3

7、映射网络驱动器

在windows系统中进入Samba共享文件夹后,右击文件夹,选择“映射网络驱动器”,确定;这样的话,就可以在“我的电脑”下的“网络位置”找到该共享目录,以后访问的话就不用在运行界面输入相关命令了。

遇到的问题:

1、挂载时遇到以下问题导致挂载不上

mount: //192.168.11.3/ryz 写保护,将以只读方式挂载

mount: 无法以只读方式挂载 //192.168.11.3/ryz

2、解决办法:

# mount -o remount,rw /

可以参考mount相关知识:

mount 命令 [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点

-l 查询系统中已经挂载的设备,-l 会显示卷标

-a 依据配置文件/etc/fstab的内容,自动挂载

-t 系统文件,加入系统类型指定挂载类型,可以ext3,ext4, iso9660等系统文件

-L 卷标名:挂载指定分区,而不是设备文件名挂载

-o 特殊选择:可以指定挂载额外选项

atime/noatime 更新访问时间/不更新访问时间。访问分区时,是否更新文件的访问时间,默认更新

async/sync 异步/同步 默认异步

auto/noauto 自动/手动 mount -a命令执行时,是否会自动安装/etc/fstab 文件内容挂载,默认自动

defaults 定义默认值,相当于rw、suid、dev、exec、auto、nouser、async这七个选择

exec/noexec 执行/不执行,设定师傅允许文件系统中执行可执行文件,默认是exec允许

remount 重新挂载已经挂载的文件系统,一般用于修改特殊权限

rw/ro 读写/只读,文件系统挂载时,是否有读写的权限,默认rw

suid/nosuid 具有/不具有SUID权限,设定文件系统是否具有SUID权限,默认具有

user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认不允许,只有root可以挂载分区

usrquata 写入代表文件系统支持用户磁盘配额,默认不支持

grpquata 写入代表文件系统支持组磁盘配额,默认不允许

eg: mount -o remount,noexec /home 让 /home目录下不能执行可执行文件

拓展:两种防火墙的关闭方式

1、关闭firewalld防火墙

systemctl status firewalld 查看状态

systemctl stop firewalld 临时关闭

systemctl disable firewalld 永久关闭

2、关闭selinux防火墙

getenforce 查询防火墙的状态:

enforcing(强制杀死) permissive(警告) disabled(关闭防火墙)

setenforce 0 临时关闭

配置文件:

/etc/selinux/config

SELINUX=disabled #永久关闭

reboot 重启系统生效

Samba服务是实现Windows和Linux操作系统网络共享,首先我们需要在Linux操作系统中安装