SMB共享
[root@samba1 ~]# yum install samba samba-client samba-common -y
因为只有真实存在的用户才能在samba中建立,所以我们新建两个测试用户
[root@samba1 ~]# useradd test
[root@samba1 ~]# id test
uid=1001(test) gid=1001(test) groups=1001(test)
[root@samba1 ~]# useradd bss
[root@samba1 ~]# id bss
uid=1002(bss) gid=1002(bss) groups=1002(bss)
[root@samba1 ~]# smbpasswd -a test ##添加一个samba用户
New SMB password:
Retype new SMB password:
Added user test.
[root@samba1 ~]# pdbedit -L ##查看samba用户
test:1001:
[root@samba1 ~]# pdbedit -x test ##删除samba用户
[root@samba1 ~]# pdbedit -L
建上两个用户用来测试:test bss
Client机器:
[root@samba2 ~]# yum install samba-client -y
[root@samba2 ~]# smbclient -L //192.168.52.145 ##访问失败
Enter root's password:
session setup failed: NT_STATUS_LOGON_FAILURE
在服务端:
[root@samba1 ~]# getsebool -a | grep samba
samba_enable_home_dirs --> on ##将此项打开
client端
[root@samba2 ~]# smbclient -L //192.168.52.145 -U bss ##用建立的用户查看信息
Enter bss's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.4.4)
bss Disk Home Directories
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@samba2 ~]# smbclient //192.168.52.145/bss -U bss ##用用户登陆,可以查看信息目录内容
Enter bss's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
. D 0 Thu Mar 14 18:08:34 2019
.. D 0 Thu Mar 14 18:08:34 2019
.mozilla DH 0 Mon Mar 11 19:06:49 2019
.bash_logout H 18 Tue Jul 12 23:17:09 2016
.bash_profile H 193 Tue Jul 12 23:17:09 2016
.bashrc H 231 Tue Jul 12 23:17:09 2016
18093056 blocks of size 1024. 14720464 blocks available
上传文件:
###通过登陆的方式去上传
[root@samba2 ~]# cd /mnt/ ##需要在文件所在目录上传
[root@samba2 mnt]# ls
[root@samba2 mnt]# touch file
[root@samba2 mnt]# ls
file
[root@samba2 mnt]# smbclient //192.168.52.145/bss -U bss
Enter bss's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
. D 0 Thu Mar 14 18:08:34 2019
.. D 0 Thu Mar 14 18:08:34 2019
.mozilla DH 0 Mon Mar 11 19:06:49 2019
.bash_logout H 18 Tue Jul 12 23:17:09 2016
.bash_profile H 193 Tue Jul 12 23:17:09 2016
.bashrc H 231 Tue Jul 12 23:17:09 2016
18093056 blocks of size 1024. 14720660 blocks available
smb: \> put file
putting file file as \file (0.0 kb/s) (average 0.0 kb/s) ##上传成功
###用挂载的方式写入文件:
Client端:
[root@samba2 mnt]# mount //192.168.52.145/bss /media/ -o username=bss,password=westos
[root@samba2 mnt]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18093056 3348660 14744396 19% /
devtmpfs 918960 0 918960 0% /dev
tmpfs 933644 144 933500 1% /dev/shm
tmpfs 933644 9196 924448 1% /run
tmpfs 933644 0 933644 0% /sys/fs/cgroup
/dev/sda1 2037760 172088 1865672 9% /boot
tmpfs 186732 16 186716 1% /run/user/0
/dev/sr0 3704296 3704296 0 100% /run/media/root/RHEL-7.3 Server.x86_64
//192.168.52.145/bss 18093056 3372484 14720572 19% /media
[root@samba2 mnt]# cd /media/
[root@samba2 media]# ls
file
[root@samba2 media]# touch file{1..6}
[root@samba2 media]# ls
file file1 file2 file3 file4 file5 file6
[root@samba2 media]# vim /etc/fstab ##设置开机自启,但此种方式一旦服务方端启动,会导致客户端也无法启动
//192.168.52.145/bss /media cifs defaults,username=bss,password=westos 0 0
[root@samba2 /]# umount /media/ ##先卸载已挂载的目录
[root@samba2 /]# mount -a ##通过此命令进行挂载,如果没有报错即成功
Ps:也可以将挂载命令写入/etc/rc.d/rc.local 此文件中,也可以实现开机自启,需要给予此文件执行权限
挂载命令: mount //192.168.52.145/bss /media/ -o username=bss,password=westos
共享文件:
服务端:
[root@samba1 /]# mkdir /bss
[root@samba1 /]# touch /bss/test9
[root@samba1 /]# semanage fcontext -a -t samba_share_t '/bss(/.*)?' #修改安全上下文
[root@samba1 /]# semanage fcontext -l | grep /bss
/bss(/.*)? all files system_u:object_r:samba_share_t:s0
[root@samba1 /]# restorecon -RvvF /bss/
Restorecon reset /bss context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@samba1 /]# vim /etc/samba/smb.conf ##添加模块
[bss]
comment = bss dir
path = /bss
[root@samba1 /]# systemctl restart smb.service
客户端:
[root@samba2 /]# smbclient //192.168.52.145/bss -U bss ##客户登陆
Enter bss's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
. D 0 Thu Mar 14 19:28:12 2019
.. DR 0 Thu Mar 14 19:23:39 2019
test9 N 0 Thu Mar 14 19:28:12 2019
18093056 blocks of size 1024. 14713772 blocks available
共享系统目录:
服务端:
[root@samba1 /]# vim /etc/samba/smb.conf ##添加系统目录模块
[mnt]
comment = systemctl share file
path = /mnt
[root@samba1 /]# systemctl restart smb.service
此时可以在客户端查询,但登入后无法操作
[root@samba2 /]# smbclient -L //192.168.52.145/mnt -U bss
Enter bss's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
DIR Disk bss dir
mnt Disk systemctl share file
IPC$ IPC IPC Service (Samba 4.4.4)
bss Disk Home Directories
因为是系统目录,如果更改安全上下文,会影响其他用户使用,所以对samba服务开放一些权限;
在服务端:
[root@samba1 /]# setsebool -P samba_export_all_ro on
[root@samba1 /]# setsebool -P samba_export_all_rw on
[root@samba1 /]# getsebool -a | grep samba
samba_export_all_ro --> on ##开方读写权限
samba_export_all_rw --> on
再次在客户端登陆:
[root@samba2 /]# smbclient //192.168.52.145/mnt -U test
Enter test's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
. D 0 Thu Mar 10 19:05:55 2016
.. DR 0 Thu Mar 14 19:23:39 2019
file N 0 Thu Mar 14 23:23:52 2019
18093056 blocks of size 1024. 14713952 blocks available
权限管理:
[root@samba1 mnt]# vim /etc/samba/smb.conf ##在自己共享的目录中添加如下

writable = yes ##代表所有用户可写
Ps:需要注意自己共享目录的可写权限。
客户端登陆后可对共享目录中的内容进行删改
[root@samba2 /]# smbclient //192.168.52.145/bss -U test
Enter test's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> ls
. D 0 Thu Mar 14 19:28:12 2019
.. DR 0 Thu Mar 14 19:23:39 2019
test9 A 0 Thu Mar 14 19:28:12 2019
18093056 blocks of size 1024. 14713264 blocks available
smb: \> rm test9

指定用户可写:
在服务端
[root@samba1 bss]# vim /etc/samba/smb.conf
在自己的共享目录中添加如下策略
write list = @test ##仅写test代表仅有test用户可以操作,加上@代表test用户组的成员都可以操作。
在客户端可以使用不同用户登入测试:
bss用户:

test用户:

指定用户登陆:
[root@samba1 bss]# vim /etc/samba/smb.conf
在自己的共享目录模块下
valid users = test ##指定只有test用户可以登陆
valid users = +test ##指定只有test组的用户可以登陆
[root@samba1 bss]# systemctl restart smb.service
隐藏共享目录:
[root@samba1 bss]# vim /etc/samba/smb.conf
browseable = no ##代表将此目录隐藏
[root@samba1 bss]# systemctl restart smb.service
客户端:

匿名用户登陆:
[root@samba1 bss]# vim /etc/samba/smb.conf
map to guest = bad user ##其他用户映射到guest
guest ok = yes ##允许其他用户登陆
[root@samba1 bss]# systemctl restart smb.service
将普通用户指定为root用户;
服务端:
[root@samba1 bss]# vim /etc/samba/smb.conf
admin users = bss ##指定bss为超级用户
[root@samba1 bss]# systemctl restart smb.service
客户端测试:

在服务端查看这个文件:
我们以bss用户上传的文件,在这里却是属于root用户,这时因为我们将bss用户指定成为了超级用户

多用户挂载:
首先在客户端卸掉与服务端共享目录的挂载
[root@samba2 mnt]# yum install cifs-utils.x86_64 -y
[root@samba2 mnt]# vim /root/smbpass
##填写用户信息,此处用户必须在samba服务器上存在
username=bss
password=westos
[root@samba2 mnt]# chmod 600 /root/smbpass
[root@samba2 mnt]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.52.145/bss /media/
[root@samba2 mnt]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18093056 3349384 14743672 19% /
devtmpfs 918960 0 918960 0% /dev
tmpfs 933644 144 933500 1% /dev/shm
tmpfs 933644 9168 924476 1% /run
tmpfs 933644 0 933644 0% /sys/fs/cgroup
/dev/sda1 2037760 172088 1865672 9% /boot
tmpfs 186732 16 186716 1% /run/user/0
/dev/sr0 3704296 3704296 0 100% /run/media/root/RHEL-7.3 Server.x86_64
//192.168.52.145/bss 18093056 3379408 14713648 19% /media ##挂载成功
[root@samba2 mnt]# cd /media/
[root@samba2 media]# ls
file1 file2 file3 file4 LOL
[root@samba2 media]# touch pps ##超级用户没有问题
[root@samba2 media]# su – test ##切换到普通用户,会发现无法查看
[test@samba2 ~]$ cd /media
[test@samba2 media]$ ls
ls: reading directory .: Permission denied
[test@samba2 media]$ cifscreds add -u bss 192.168.52.145 ##客户端的普通用户test通过
Password:
[test@samba2 media]$ ls
file1 file2 file3 file4 LOL pps
其他区用户同理
SMB共享的更多相关文章
- 第九章 通过 SMB 共享虚拟机
自 Windows Server 2012 起,微软引入了 SMB 3.0 的概念,通过 SMB 3.0,可以实现很多新的功能,包括我们介绍过的"SMB 多通道",以及将虚拟机 ...
- 通过 SMB 共享目录
在 system1 上配置SMB服务 ,要求: 1.您的 SMB 服务器必须是 STAFF 工作组的一个成员 2.共享 /common 目录,共享名必须为 common 3.只有 group8.exa ...
- 九.配置SMB共享(Samba共享)
• Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139).CIFS(TCP 445) • 所需软件包:samba • 系统服务:smb 管理共享账号 ...
- SMB共享配置
SMB 使用命令挂载和卸载SMB文件系统 自动挂载SMB文件系统 红帽企业 ...
- 小白的linux笔记3:对外联通——开通ssh和ftp和smb共享
1.SSH的开通.https://www.cnblogs.com/DiDiao-Liang/articles/8283686.html 安装:yum install sshd或yum install ...
- [SMB share]Create SMB share under powershell / poweshell下创建本机的SMB共享
New-SmbShare -Name share-name -Path C:\share -FolderEnumerationMode AccessBased -CachingMode Documen ...
- OSX: 10.9的SMB网络共享连接可能破坏其权限设置
参见以前的Blog,“OSX: 10.9 Mavericks的重要更新技术细节(1)”,自从10.9之后,它的内核默认地使用全新的SMB2协议,这本来是令人期待的变化,不过根据这多年来和OS X系统的 ...
- smbtar - 直接备份SMB/CIFS共享资源到UNIX磁带设备的shell脚本
总览 smbtar -s server [-p password] [-x service] [-X] [-d directory] [-u user] [-t tape] [-b blocksize ...
- 让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题
此问题是在拥有相同配置的环境中,项目在win10跑的慢而在win7就正常的情况下发现的,一步步调试之后发现是文件操作的相关行为变的很慢,于是考虑到可能是系统问题,后来在如下链接找到了解决办法:http ...
随机推荐
- 三)EasyUI layout
参考文档 http://www.jeasyui.com/documentation/layout.php
- 查看HDFS集群信息
clusterID:集群ID,必须保持一致 1)在NameNode上查看 cat $HADOOP_HOME/dfs/name/current/VERSION #Fri Apr 18 11:56:57 ...
- Python Selenium 之常用API
Selenium WebDriver下提供许多用来与浏览器.元素.鼠标.键盘.弹框.下拉菜单和列表的交互和设置方法.这些是计算机模拟人工进行自动化测试所必要依赖的方法.下面将用列表的方式总结出常用的A ...
- hibernate通过SQL更新数据
@Resource(name = "hibernateTemplate") public HibernateTemplate hibernateTemplate; /** * @T ...
- Java内存模型(转载)
本文章节: 1.JMM简介 2.堆和栈 3.本机内存 4.防止内存泄漏 1.JMM简介 i.内存模型概述 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很 ...
- Delphi webbrowser 的一些方法
因为一个任务,最近几天一直在研究Webbrowser的相关功能,下面是收集到的一些方法 //根据URL获取请求Headerfunction GetAllHeaders(URL: string): st ...
- C# xsd 验证 XML数据有效性 问题
使用XSD进行批量数据导入时生成的XML数据有效性这样的功能已经不是第一次做了,之前做的时候都没有碰到什么问题,这些天在开发中遇到了一个很头痛的问题就是无论XSD文件规则怎么写,验证都是通过的. 下面 ...
- .NET CORE 2.1 导出excel文件的两种方法
最近在做 MVC 项目的时候遇到项目的导出,下面总结下两种导出到excel 的方法 第一种方法: 将文件写到本地,然后返回这个File 或者返回这个 File 的绝对地址 其中 _hostingE ...
- BOI2007 Mokia | cdq分治求二维点数模板
题目链接:戳我 也没什么,其实主要就是为了存一个求二维坐标上矩形内点的个数的模板.为了之后咕咕咕地复习使用 不过需要注意的一点是,树状数组传x的时候可千万不要传0了!要不然会一直死循环的...qwqw ...
- FPN(feature pyramid networks)
多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征语义信息比较少,但是目标位置准确:高层的特征语义信息比较丰富,但是目标位置比较粗略.另外虽然也有些算法采用多尺度 ...