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
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
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 重启系统生效