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 ...
随机推荐
- 并发编程CAS操作
并发编程CAS操作 简介 CAS即compare and swap,中文就是比较并交换 CAS是Java并发包的基石 原理 其实CAS的原理相对来说比较简单.将要被改变的数据和期望的值作比较,当两个值 ...
- ADT
1.什么是antant是构建工具2.什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3.ant的好处跨平台 --因为 ...
- ceph修复osd为down的情况
尝试一.直接重新激活所有osd 1.查看osd树 root@ceph01:~# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-A ...
- Hadoop压缩之MapReduce中使用压缩
1.压缩和输入分片 Hadoop中文件是以块的形式存储在各个DataNode节点中,假如有一个文件A要做为输入数据,给MapReduce处理,系统要做的,首先从NameNode中找到文件A存储在哪些D ...
- 关于iReport中纸张的大小 换算
在iReprot里中进行报表设计时 第一步先确定纸张的大小 如A4纸 直接选就行了 A2 A3一样的,但还会在这种情况这种纸没有选择的怎么办? 比如 那种代小孔的纸 279*241m ...
- SPOJ - AMR11A(DP)
Thanks a lot for helping Harry Potter in finding the Sorcerer's Stone of Immortality in October. Did ...
- git 恢复被修改的文件
恢复到最后一次提交的改动: git checkout filename 如果该文件已经 add 到暂存队列中,恢复文件: git reset HEAD filename
- docker获取镜像很慢解决办法
docker pull selenium/hub获取非常慢 可以使用docker中国的官方镜像加速 docker pull registry.docker-cn.com/selenium/hub 官方 ...
- DB2知识文档
DB2知识文档 一.db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:‘’(一定用 ...
- JavaScript类型检测汇总
曾经我以为JavaScript中的类型检测只要使用 typeof 或 instanceof 就可以通通解决.后来我发现我是too young too naive啊!早说过JavaScript是 ...