linux中samba的应用
一. samba服务简介
作用:
smb = Server Message Block Sum
cifs = Common Internet File System Miscrosoft
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun
二.samba基本信息
1.服务启动脚本
smb.service
2.主配置目录
/etc/samba
3.主配置文件
/etc/smb.conf
4.安全上下文
samba_share_t
5.端口
139
445
6.安装包
samba
samba-common
三.samba的安装与启用
1.samba的安装
dnf install samba samba-common samba-client -y
2.samba服务启动
systemctl enable --now smb
3.samba服务启用
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
4.实验环境
172.25.254.200 westos_storage ----samba的服务器端
172.25.254.202 westoslinux
借用真实主机的网络仓库就ok,=需要注意的是,现在虚拟机装好本地仓库,下载好httpd,然后再搭建网络仓库
5.安装及启用的实验
15 dnf install samba samba-common.noarch samba-client.x86_64 -y
16 systemctl enable --now smb.service
17 firewall-cmd --permanent --add-service=samba
18 firewall-cmd --reload
22 smbclient -L //172.25.254.200
四.samba用户的建立
1.samba用户必须是被地存在的用户
2.samba用户的建立
smbpasswd -a lee ##添加用户
pdbedit -L ##查看用户列表
pdbedit -x lee ##删除用户
3.实验
24 smbpasswd -a westos //添加一个westos的用户,这个用户必须是在samba上真实存在的
25 smbpasswd -a hkk //添加失败,因为hkk在samba服务器上不存在
26 useradd -s /sbin/nologin hkk -M //添加一个用户
27 smbpasswd -a hkk //再次添加用户,添加成功
28 pdbedit -x hkk //删除用户
29 pdbedit -L //列出所有的用户
30 smbclient -L //172.25.254.200 -U westos //以westos的身份连接
32 smbclient //172.25.254.200/westos -U westos //连接该服务器的westos的文件,并列出
五.samba用户访问加目录
1.当selinux开启时
setsebool -P samba_enable_home_dirs on //允许访问家目录
2.windows下
\\172.25.254.20 ##访问
net use ##查看访问记录
net use * /del ##删除访问记录
3.在linux下
smbclient //172.25.254.20/westos -U westos
4.允许访问家目录的实验
36 cd /etc/samba/
37 ls
38 cp smb.conf.example smb.conf
39 vim /etc/samba/smb.conf //删除27行的注释
40 setsebool -P samba_enable_home_dirs on //在selinux池中添加允许
41 smbclient //172.25.254.200/westos -U westos //继续访问家目录,可以ls
六.samba服务共享目录
46 mkdir /westos_share //创建目录
47 ls -ld /westos_share/ //查看目录的权限
48 vim /etc/samba/smb.conf //编辑配置文件
314 [westos_share]
315 comment = westos_share
316 path = /westos_share
49 systemctl restart smb.service //重启服务
50 smbclient -L //172.25.254.200 -U westos //登陆,可以登陆
51 touch /westos_share/westosfile{1..5} //创建文件
52 smbclient -L //172.25.254.200/westos_share -U westos //登陆这个目录,不能ls
59 semanage fcontext -a -t samba_share_t '/westos_share(/.*)?'//更改selinux的安全上下文
60 restorecon -RvvF /westos_share/ //重新加载安全上下文
61 smbclient //172.25.254.200/westos_share -U westos //重新访问目录
七.samba的访问控制
81 vim /etc/samba/smb.conf
90 hosts allow = 127. 192.168.12. 192.168.13. //允许的ip
91 hosts deny = 172.25.254.202 //拒绝的ip
八.samba的常用配置参数
writable = yes ##可写
write list = westos ##指定用户可写
write list = +westos ##指定组可写
write list = @westos
valid users = lee ##指定访问用户
valid users = +lee|@lee ##指定访问组
browseable = yes|no ##是否隐藏共享
map to guest = bad user ##写到全局设定中
guest ok = yes ##允许匿名用户访问
admin users = lee ##指定此共享的超级用户身份呢
九.samba的读写
1.服务器
chmod 777 /westos_share ##只考虑实验的情况下,给/westos_share/满权限
vim /etc/smb.conf:
[westos_share]
comment=westos_share dir
path=/westos_share
wreitable=yes /no ##共享文件读写权限开放/
2.客户端测试
mount //172.25.254.137/westos_share /mnt -o username=lee,password=lee
touch /mnt/file ##此时可以写入
3.服务器
vim /etc/smb.conf:
[westos_share]
comment=westos_share dir
path=/westos_share
write list =用户 (+/@用户) ##writeable只对指定用户生效,(对指定用户及用户组成员生效。)
十.指定匿名用户访问
默认情况下匿名用户不可以访问samba服务
1.允许匿名访问
vim /etc/smb.conf
118 map to guest=bad user ##把匿名用户映射为guest
[westos_share]
comment=westos_share
path=/westos_share
;writeable=yes
; write list=+lee
guest ok =yes | no ##此共享允许/不允许
2.测试
smbclient //172.25.254.137/westos_share
ls
十一.autofa自动化挂载(客户端)
1.配置
71 umount /mnt
48 vim /etc/auto.master
/westos /etc/auto.share /挂载的目录的上层目录 子配置文件
49 vim /etc/auto.share //编辑子配置文件
samba -fstype=cifs,username=westos,password=westos ://172.25.254.200/westos_share //挂载点 挂载的类型 用户名 密码 挂载的资源
50 vim /etc/autofs.con //5s自动卸载
timeout = 5
58 systemctl restart autofs.service //重启
2.测试
73 cd /westos //进入挂载点,
74 ls //查看文件有无samba
75 cd samba //发现没samba,但是可以cd进去
76 ls //samba中有文件
77 df //有挂载的信息
78 cd //返回根
79 df //5s后df发现挂载的信息没了
十二.多用户认证访问
1.问题
root用户用自己的samba账号挂载了服务器的资源,自己可以使用,但是客户端的westos没有samba认证挂载也可以使用
mount //172.25.254.200/westos_share /mnt -o username=westos,password=westos
su - westos
ls /mnt //可以访问服务器的资源,出现了严重的越级错误
2.密码加密
dnf install cifs-utils -y //多用户认证插件
vim /etc/smbpass //编辑认证的账号的配置文件,直接书写账号密码,会被查询历史纪录,所以用文件加密
username=westos
password=westos
chmod 600 /etc/smbpass //除了文件的拥有者,其他人不能看
mount -o credentials=/root/smbpass //172.25.254.200/westos_share /mnt/ //用参数指定密码文件后密码文件不能被看到了
3.多用户的认证和认证方式
mount -o credentials=/root/smbpass,multiuser //172.25.254.200/westos_share /mnt/ //添加了多用户认证,未认证不能访问
ls /mnt/ //显示被拒绝
mount -o credentials=/root/smbpass,multiuser,sec=ntlmssp //172.25.254.200/westos_share /mnt/ //挂载的时候添加了认证的安全方式
cifscreds add -u westos 172.25.254.200 //添加用户,如果添加完输入密码时错误,使用cifscreds clearall,再次重复添加
cifscreds add -u westos 172.25.254.200
ls /mnt/ //这个时候可以访问服务器的资源
本文详细介绍了Samba服务在Linux系统中的应用,包括服务的基本信息如启动脚本、配置目录、端口等,以及Samba的安装、启用、用户建立、共享目录、访问控制、读写权限设置、匿名访问和多用户认证等关键步骤。通过实验环境展示了Samba的实际操作过程。
3792

被折叠的 条评论
为什么被折叠?



