首页 > 系统相关 >基于linux下的samba文件共享系统

基于linux下的samba文件共享系统

时间:2023-01-03 12:37:13浏览次数:47  
标签:samba 文件共享 mnt westos server client student linux root


SMB 文件共享:

服务端口 : 通常使用 TCP/445 进行所有连接。还使用UDP137,UDP138和TCP/139进行向后兼容。
主配置文件 :/etc/samba/smb.conf

配置环境:

准备两台虚拟机,进行配置IP,yum源,更改主机名字方便辨识开始实验:

在客户端安装samba服务(ip:172.25.254.121)

[root@client ~]# yum install samba-client -y   安装服务

基于linux下的samba文件共享系统_Server

[root@client ~]# smbclient -L //172.25.254.221 匿名进行访问,什么也看不到

基于linux下的samba文件共享系统_客户端_02

在服务端安装samba服务(ip:172.25.254.221)

[root@server ~]# yum search samba   寻找samba安装包
samba-client.x86_64 : Samba client programs 客户端应用程序
samba-common.x86_64 : Files used by both Samba servers and clients Samba的支持文件
samba.x86_64 : Server and Client software to interoperate with Windows machines 服务器应用程序
[root@server ~]# yum install samba samba-client.x86_64 samba-common -y 安装samba服务

基于linux下的samba文件共享系统_客户端_03

pdedit命令用于管理SMB服务程序的账户信息数据库:

参数

作用

-a 用户名

建立samba用户

-x 用户名

删除samba用户

-L

列出账户列表

-Lv

列出账户详细信息的列表

[root@server ~]# systemctl start smb   开启服务
[root@server ~]# systemctl enable smb.service 开机自动启动
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@server ~]# systemctl stop firewalld 关闭防火墙
[root@server ~]# systemctl disable firewalld 开机自动关闭
[root@server ~]# netstat -antlupe | grep smb 查看samba端口
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 72127 3611/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 72128 3611/smbd
tcp6 0 0 :::445 :::* LISTEN 0 72125 3611/smbd
tcp6 0 0 :::139 :::* LISTEN 0 72126 3611/smbd
[root@server ~]# id student 查看用户信息
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@server ~]# id westos westos用户没有建立
[root@server ~]# smbpasswd -a student 添加student用户访问

基于linux下的samba文件共享系统_Server_04

在服务端配置samba用户:

[root@server ~]# smbpasswd -a westos  报错由于没有westos用户
[root@server ~]# useradd westos 建立westos用户
[root@server ~]# smbpasswd -a westos 添加westos用户访问
[root@server ~]# pdbedit -L 查看访问用户信息
student:1000:Student User
westos:1001:
[root@server ~]# pdbedit -x student 删除student用户访问
[root@server ~]# pdbedit -L 查看访问用户已经删除student
westos:1001:
[root@server ~]# smbpasswd -a student 重新添加student访问用户
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# pdbedit -L 查看已经建立student用户
student:1000:Student User
westos:1001:

基于linux下的samba文件共享系统_客户端_05

在客户端进行指定用户访问:

[root@client ~]# smbclient -L //172.25.254.221 -U student   用student用户进行访问
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
student Disk Home Directories disk表示可以访问挂载。
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------
[root@client ~]# smbclient //172.25.254.221/student -U student 直接登录,由于selinux功能影响
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \* 报错功能不允许代表服务端家目录没有开启所以不能访问
smb: \> quit

基于linux下的samba文件共享系统_服务端_06

服务端打开家目录:

[root@server ~]# getsebool -a | grep samba  查看samba家目录为off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off 布尔值允许本地 Linux 主目录作为 CIFS 文件共享导出至其他系统
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off 布尔值允许挂载远程 CIFS 文件共享并将其用作本地 Linux 主目录
virt_sandbox_use_samba --> off
virt_use_samba --> off
[root@server ~]# setsebool -P samba_enable_home_dirs on 打开samba家目录,-P永久打开家目录

基于linux下的samba文件共享系统_客户端_07

客户端可以直接访问服务端家目录:

[root@client ~]# smbclient //172.25.254.221/student -U student  
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Jul 10 19:06:52 2014
.. D 0 Fri Jun 1 21:47:02 2018
.bash_logout H 18 Wed Jan 29 07:45:18 2014
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.ssh DH 0 Thu Jul 10 18:19:10 2014
.config DH 0 Thu Jul 10 19:06:53 2014

40913 blocks of size 262144. 28596 blocks available
smb: \> quit

基于linux下的samba文件共享系统_Server_08

SMB挂载:

在客户端路径内可以上传文件:

[root@client ~]# pwd  查看当前路径
/root
[root@client ~]# ls
anaconda-ks.cfg Documents Music Public Videos
Desktop Downloads Pictures Templates
[root@client ~]# cd /etc/ 在哪个路径就可以上传里面的东西
[root@client etc]# smbclient //172.25.254.221/student -U student student用户访问
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Jul 10 19:06:52 2014
.. D 0 Fri Jun 1 21:47:02 2018
.bash_logout H 18 Wed Jan 29 07:45:18 2014
.bash_profile H 193 Wed Jan 29 07:45:18 2014
.bashrc H 231 Wed Jan 29 07:45:18 2014
.ssh DH 0 Thu Jul 10 18:19:10 2014
.config DH 0 Thu Jul 10 19:06:53 2014

40913 blocks of size 262144. 28581 blocks available
smb: \> !ls 显示/etc/下的所有东西
smb: \> put passwd
putting file passwd as \passwd (65.3 kb/s) (average 65.3 kb/s)
smb: \> put /bin/ls 上传不了/bin/下面的东西
NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \/bin/ls
smb: \> quit

基于linux下的samba文件共享系统_服务端_09

[root@client etc]# cd /bin/  切换到/bin/路径下才可以上传ls
[root@client bin]# smbclient //172.25.254.221/student -U student
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> !ls 显示/bin/目录下的所有文件
smb: \> put mcat 上传文件
putting file mcat as \mcat (9924.0 kb/s) (average 9924.0 kb/s)
smb: \> touch file 还是不能建立文件
touch: command not found
smb: \> quit

基于linux下的samba文件共享系统_服务端_10

在服务端:(查看客户端上传的文件)

客户端上传的文件在服务端家目录下面:
[root@server ~]# cd /home/student/ 切换到家目录下
[root@server student]# ls
mcat passwd

基于linux下的samba文件共享系统_客户端_11

在客户端进行SMB的临时挂载:

[root@client ~]# mount //172.25.254.221/student /mnt/ -o username=student,password=redhat   
密码为student用户密码,下文密码变更为了xfl
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 8709120 3180624 5528496 37% /
devtmpfs 500528 0 500528 0% /dev
tmpfs 508996 92 508904 1% /dev/shm
tmpfs 508996 7148 501848 2% /run
tmpfs 508996 0 508996 0% /sys/fs/cgroup
/dev/vda1 201388 104368 97020 52% /boot
//172.25.254.221/student 8709120 3112124 5596996 36% /mnt
[root@client ~]# cd /mnt/
[root@client mnt]# ls
ls passwd
[root@client mnt]# touch file{1..10}

基于linux下的samba文件共享系统_Server_12

在服务端可以实时查看:

[root@server student]# ls
file1 file2 file4 file6 file8 ls
file10 file3 file5 file7 file9 passwd

基于linux下的samba文件共享系统_客户端_13

[root@client mnt]# rm -fr *

基于linux下的samba文件共享系统_Server_14

[root@server student]# ls 客户端删除所有服务端家目录就看不到文件

基于linux下的samba文件共享系统_客户端_15

在客户端进行SMB的永久挂载:

[root@client mnt]# cd
[root@client ~]# umount /mnt/ 解除挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182020 7291880 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home

基于linux下的samba文件共享系统_服务端_16

[root@client ~]# vim /etc/fstab 添加永久挂载,但是这种方式需要先启动服务端不然客户端起不来

基于linux下的samba文件共享系统_Server_17

[root@client ~]# mount -a  刷新
[root@client ~]# df 已经挂载成功
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182040 7291860 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.221/student 10473900 3157152 7316748 31% /mnt
[root@client ~]# umount /mnt/ 解除挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182020 7291880 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home

基于linux下的samba文件共享系统_客户端_18

[root@client ~]# vim /etc/fstab  将写入的注释掉
[root@client ~]# vim /etc/rc.d/rc.local 编辑脚本文件,不会影响服务的启动

基于linux下的samba文件共享系统_服务端_19

[root@client ~]# chmod +x /etc/rc.d/rc.local  加入执行权限
[root@client ~]# reboot 重启,重启不生效的话需要先poweroff在连接查看即可
[root@client ~]# df 查看已经永久挂载完成
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3180960 7292940 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12752 472180 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2339 451840 1% /home
//172.25.254.221/student 10473900 3157152 7316748 31% /mnt

基于linux下的samba文件共享系统_客户端_20

组的设定:

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 一开始访问组信息为mygroup
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_服务端_21

在服务端:

[root@server student]# vim /etc/vimrc 永久加入行号

基于linux下的samba文件共享系统_客户端_22

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件更改组

基于linux下的samba文件共享系统_Server_23

[root@server student]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_Server_24

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  测试组信息已经变成了westos
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_Server_25

白名单的设定:

在服务端:

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件仅允许客户端访问(172.25.254.121)

基于linux下的samba文件共享系统_客户端_26

[root@server student]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_Server_27

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 可以访问
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_服务端_28

在真机测试:

[root@foundation84 ~]# yum install samba-client -y没有安装服务需要安装
[root@foundation84 ~]# smbclient -L //172.25.254.221 不能访问
Enter root's password:
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

基于linux下的samba文件共享系统_Server_29

黑名单的设定:

在服务端:

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件,客户端不可以访问

基于linux下的samba文件共享系统_Server_30

[root@server student]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_服务端_31

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  不可以访问
Enter root's password:
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

基于linux下的samba文件共享系统_Server_32

在真机:

[root@foundation21 ~]# smbclient -L //172.25.254.221  可以访问
Enter root's password:
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_客户端_33

还原配置文件,将配置文件加入的黑白名单删除,还原组信息,重启服务:

基于linux下的samba文件共享系统_服务端_34

共享自己的目录:

在服务端:

[root@server ~]# mkdir /westos  建立目录
[root@server ~]# vim /etc/samba/smb.conf 编写主配置文件

基于linux下的samba文件共享系统_服务端_35

[root@server ~]# systemctl restart smb.service   重启服务

基于linux下的samba文件共享系统_客户端_36

在客户端:

[root@client ~]# smbclient -L ///172.25.254.221  直接回车可以看到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------
[root@client ~]# smbclient ///172.25.254.221/DIR -U student 访问被拒绝得在服务端修改安全上下文
Enter student's password:
Connection to failed (Error NT_STATUS_UNSUCCESSFUL)

基于linux下的samba文件共享系统_客户端_37

在服务端:

[root@server ~]# semanage fcontext -a -t samba_share_t '/westos(/.*)?' 修改安全上下文
[root@server ~]# restorecon -FvvR /westos/ 刷新
restorecon reset /westos context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@server ~]# ls -Zd /westos/ 查看安全上下文是否更改成功
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 /westos/

基于linux下的samba文件共享系统_客户端_38

在客户端:

[root@client ~]# smbclient //172.25.254.221/DIR -U student  修改安全上下文后可以登录访问
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 01:50:55 2018
.. D 0 Sat Jun 2 01:50:55 2018

40913 blocks of size 262144. 28580 blocks available
smb: \> SMBecho failed (NT_STATUS_CONNECTION_DISCONNECTED). The connection is disconnected now

基于linux下的samba文件共享系统_服务端_39

共享本地目录/mnt/:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  写入本地目录

基于linux下的samba文件共享系统_Server_40

[root@server ~]# systemctl restart smb.service  重启服务
[root@server ~]# touch /mnt/file{1..5} 建立文件之后客户端看不到
[root@server ~]# ls /mnt/
file1 file2 file3 file4 file5

基于linux下的samba文件共享系统_服务端_41

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  直接回车可以看到/mnt/目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------
[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Thu Mar 13 07:51:26 2014
.. D 0 Sat Jun 2 01:50:55 2018

40913 blocks of size 262144. 28580 blocks available

基于linux下的samba文件共享系统_客户端_42

在服务端:

[root@server ~]# setenforce 0  设置selinux为警告可以看到文件
[root@server ~]# setenforce 1 设置selinux为强制不可以看到文件
[root@server ~]# setsebool -P samba_export_all_ro on 设定布尔值之后就可以直接看到,ro表示只读

基于linux下的samba文件共享系统_客户端_43

在客户端:

[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls 设置selinux为警告可以看到文件
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018
file1 N 0 Sat Jun 2 02:01:15 2018
file2 N 0 Sat Jun 2 02:01:15 2018
file3 N 0 Sat Jun 2 02:01:15 2018
file4 N 0 Sat Jun 2 02:01:15 2018
file5 N 0 Sat Jun 2 02:01:15 2018

40913 blocks of size 262144. 28579 blocks available 设置selinux为强制不可以看到文件
smb: \> ls
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018

40913 blocks of size 262144. 28579 blocks available
smb: \> quit
[root@client ~]# smbclient //172.25.254.221/mnt -U student 设定布尔值连接可以看到文件
Enter student's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 02:01:15 2018
.. D 0 Sat Jun 2 01:50:55 2018
file1 N 0 Sat Jun 2 02:01:15 2018
file2 N 0 Sat Jun 2 02:01:15 2018
file3 N 0 Sat Jun 2 02:01:15 2018
file4 N 0 Sat Jun 2 02:01:15 2018
file5 N 0 Sat Jun 2 02:01:15 2018

40913 blocks of size 262144. 28578 blocks available
smb: \> quit

基于linux下的samba文件共享系统_Server_44

参数的讲解:

1,browseable是否允许浏览

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件

基于linux下的samba文件共享系统_服务端_45

[root@server ~]# systemctl restart smb.service  重启服务

基于linux下的samba文件共享系统_客户端_46

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  看不到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_Server_47

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件,打开允许浏览

基于linux下的samba文件共享系统_服务端_48

[root@server ~]# systemctl restart smb.service  重启服务

基于linux下的samba文件共享系统_服务端_49

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 可以看到DIR目录
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Sharename Type Comment
--------- ---- -------
DIR Disk westos dir
mnt Disk /mnt dir
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

Server Comment
--------- -------

Workgroup Master
--------- -------

基于linux下的samba文件共享系统_客户端_50

2.writeable可写参数:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf   编辑主配置文件

基于linux下的samba文件共享系统_客户端_51

[root@server ~]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_Server_52

在客户端:

[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl 挂载
[root@client ~]# cd /mnt/
[root@client mnt]# ls
[root@client mnt]# touch file 不可写因为没有权限
touch: cannot touch ‘file’: Permission denied

基于linux下的samba文件共享系统_服务端_53

在服务端:

[root@server ~]# ls -ld /westos/  查看权限
drwxr-xr-x. 2 root root 6 Jun 2 01:50 /westos/
[root@server ~]# chmod 777 /westos/ 赋予权限不然不可写

基于linux下的samba文件共享系统_Server_54

在客户端:

[root@client mnt]# touch file  可以建立文件
[root@client mnt]# ll
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:40 file
[root@client mnt]# rm -fr file 可以删除文件因位权限为777
[root@client mnt]# ll
total 0
[root@client mnt]# cd
[root@client ~]# umount /mnt/ 卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl用westos用户挂载测试可写
[root@client ~]# touch /mnt/file 可以建立文件
[root@client ~]# ll /mnt/ 只能看到ID
total 0
-rw-r--r-- 1 1001 1001 0 Jun 2 02:41 file
[root@client ~]# id westos因为客户端没有westos用户
id: westos: no such user

基于linux下的samba文件共享系统_客户端_55

在服务端:

[root@server ~]# id westos  服务端有westos用户
uid=1001(westos) gid=1001(westos) groups=1001(westos)

基于linux下的samba文件共享系统_客户端_56

3.write list设定指定用户可写:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件
327 write list = student 只有student用户可写

基于linux下的samba文件共享系统_Server_57

[root@server ~]# systemctl restart smb.service  重启服务

基于linux下的samba文件共享系统_客户端_58

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl
[root@client ~]# touch /mnt/aaa westos用户不可写
touch: cannot touch ‘/mnt/aaa’: Permission denied
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl
[root@client ~]# touch /mnt/aa student用户可写
[root@client ~]# ls /mnt/
aa file

基于linux下的samba文件共享系统_Server_59

4.write list= @student设定指定组可写:

+=@代表组用户可写

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件
327 write list = @student 只有student用户的组可以写

基于linux下的samba文件共享系统_服务端_60

[root@server ~]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_服务端_61

在客户端:

[root@client ~]# umount /mnt/ 卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl[root@client ~]# cd /mnt/ 用westos挂载,因为westos不在student组里面不可写
[root@client mnt]# touch bb
touch: cannot touch ‘bb’: Permission denied

基于linux下的samba文件共享系统_客户端_62

在服务端:

[root@server ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@server ~]# usermod -G student westos 将westos组加入student

基于linux下的samba文件共享系统_Server_63

在客户端:

[root@client mnt]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl 用westos挂载
[root@client ~]# touch /mnt/fil 更改组之后可以建立文件
[root@client ~]# ls -l /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 fil

基于linux下的samba文件共享系统_服务端_64

5.指定共享目录的超级用户,建立在可写功能打开:

在服务端:

[root@server ~]# chmod 755 /westos/  将权限改到超级用户可以执行
[root@server ~]# ls -ld /westos/ 查看权限
drwxr-xr-x. 2 root root 36 Jun 2 02:55 /westos/

基于linux下的samba文件共享系统_客户端_65

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos不是超级用户
[root@client ~]# touch /mnt/xfl 无法建立文件
touch: cannot touch ‘/mnt/xfl’: Permission denied

基于linux下的samba文件共享系统_Server_66

在服务端:

[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
328 admin users= westos 指定westos目录为超级用户

基于linux下的samba文件共享系统_客户端_67

[root@server ~]# systemctl restart smb.service  重启服务

基于linux下的samba文件共享系统_服务端_68

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos已经为超级用户
[root@client ~]# touch /mnt/xfl 可以建立文件
[root@client ~]# ll /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 fil
-rw-r--r-- 1 1001 1001 0 Jun 2 02:55 file
-rw-r--r-- 1 root 1001 0 Jun 2 03:03 xfl 文件用户为root,组为1001

基于linux下的samba文件共享系统_Server_69

多用户挂载:

在客户端操作:

[root@client ~]# useradd linux  建立用户
[root@client ~]# su - linux 切换到linux用户
[linux@client ~]$ cd /mnt/
[linux@client mnt]$ ls 不知道smb用户密码就可以看到挂载之后的内容不合理
aa fil file xfl
[linux@client mnt]$ cd
[linux@client ~]$ logout
[root@client ~]# df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3180848 7293052 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12784 472148 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3157764 7316136 31% /mnt
[root@client ~]# umount /mnt/ 解除挂载

基于linux下的samba文件共享系统_Server_70

由于任何用户都可以看到挂载内容,所以需要添加认证:

[root@client ~]# yum install cifs-utils.x86_64 -y  安装加密服务

基于linux下的samba文件共享系统_服务端_71

[root@client ~]# vim /root/smbpass  编辑文件
[root@client ~]# cat /root/smbpass 写入smb用户密码,写入student用户
username=student
password=xf

基于linux下的samba文件共享系统_客户端_72

[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.221/DIR /mnt将上一个实验的DIR目录进行多用户挂载,认证方式为ntlmssp
[root@client ~]# cd /mnt/
[root@client mnt]# ls
aa fil file xfl
[root@client mnt]# su - linux
Last login: Sat Jun 2 03:27:42 EDT 2018 on pts/0
[linux@client ~]$ cd /mnt/
[linux@client mnt]$ ls 已经没有权限查看/mnt/里面内容
ls: reading directory .: Permission denied

基于linux下的samba文件共享系统_Server_73

不知道密码认证无法通过:

[linux@client mnt]$ cifscreds add -u westos 172.25.254.221  建立认证
Password: 随便输入密码也不可以通过认证
[linux@client mnt]$ ls 操作被拒绝
ls: reading directory .: Permission denied
[linux@client mnt]$ cifscreds add -u westos 172.25.254.221 再次认证会出现缓存必须清除认证信息
You already have stashed credentials for 172.25.254.221 (172.25.254.221)
If you want to update them use:
cifscreds update
[linux@client mnt]$ cifscreds clearall 清除认证信息

基于linux下的samba文件共享系统_客户端_74

知道密码进行认证:

[linux@client mnt]$ cifscreds add -u westos 172.25.254.221  认证westos用户,密码为xfl
Password:
[linux@client mnt]$ ls 可以看到文件
aa fil file xfl
[linux@client mnt]$ touch /mnt/file2 同时可以建立文件
[linux@client mnt]$ ll /mnt 文件属性用户为root,组用户为linux
total 0
-rw-r--r-- 1 student student 0 Jun 2 02:50 aa
-rw-r--r-- 1 linux linux 0 Jun 2 02:55 fil
-rw-r--r-- 1 linux linux 0 Jun 2 02:55 file
-rw-r--r-- 1 root linux 0 Jun 2 03:35 file2
-rw-r--r-- 1 root linux 0 Jun 2 03:03 xfl
[linux@client mnt]$ df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3184764 7289136 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3157812 7316088 31% /mnt
[linux@client mnt]$ logout

基于linux下的samba文件共享系统_Server_75

smb的匿名访问:

客户端:

[root@client ~]# df  查看挂载,有挂载的话解除挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182816 7291084 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
[root@client ~]# smbclient //172.25.254.221/DIR 匿名用户访问被拒绝
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
tree connect failed: NT_STATUS_ACCESS_DENIED

基于linux下的samba文件共享系统_Server_76

服务端:

[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
125 map to guest = bad user 写入一个smb的映射,将所有用户映射成guest用户
329 guest ok = yes guest访问打开

基于linux下的samba文件共享系统_服务端_77


打开guest访问:

基于linux下的samba文件共享系统_服务端_78

[root@server ~]# systemctl restart smb.service 重启服务

基于linux下的samba文件共享系统_客户端_79

客户端:

[root@client ~]# smbclient //172.25.254.221/DIR   当服务端配置文件设置好了之后可以匿名用户访问
Enter root's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Sat Jun 2 03:35:03 2018
.. D 0 Sat Jun 2 01:50:55 2018
file N 0 Sat Jun 2 02:55:24 2018
aa N 0 Sat Jun 2 02:50:56 2018
fil N 0 Sat Jun 2 02:55:29 2018
xfl N 0 Sat Jun 2 03:03:49 2018
file2 N 0 Sat Jun 2 03:35:03 2018

40913 blocks of size 262144. 28575 blocks available
smb: \> quit
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=guest,password="" 可以使用guest用户空密码挂载
[root@client ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3182776 7291124 31% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12756 472176 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/mapper/vg0-vo 483670 2355 451824 1% /home
//172.25.254.221/DIR 10473900 3158220 7315680 31% /mn

基于linux下的samba文件共享系统_客户端_80


标签:samba,文件共享,mnt,westos,server,client,student,linux,root
From: https://blog.51cto.com/u_13831562/5985255

相关文章

  • 基于linux下的时间同步
    时间同步:在服务器端共享时间:vim/etc/chrony.conf29localstratum10开启时间共享功能并设定共享级别这个参数开启后本机不去同步别人的时间到本机22allow172.25.254.0/2......
  • 基于Linux下的定时任务
    定时任务:[root@foundation21~]#systemctlstatuscrond.service 首先查看定时服务是否开启[root@foundation21~]#crontab-uroot-e   建立定时任务,注意使用date......
  • 基于Linux下的临时文件的管理
    对临时文件的管理:[[email protected]]#cd/usr/lib/tmpfiles.d/ 切换路径[[email protected]]#vimwestos.conf  [[email protected]]......
  • 基于linux下的shell脚本练习
    shell脚本的简介:打开文本编辑器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell脚本,扩......
  • 基于Linux下的yum源的搭建与共享
    yum命令:###yum命令仅仅是对软件进行管理,rpm命令才是真正安装软件的,yum的好处是可以解决软件依赖性。yum源的搭建:mkdir/iso    建立个目录mv/home/kiosk/Desktop/*.is......
  • 基于Linux下的虚拟机安装详解
    首先我们打开一个shell切换到超级用户,输入如下命令:[kiosk@foundation21Desktop]$pwd/home/kiosk/Desktop[kiosk@foundation21Desktop]$su-rootPassword:Lastlogin:F......
  • 利用Barrier使局域网下的Linux(Majaro)和Window10共享同一套键盘鼠标
    项目场景:现有两台电脑:一台笔记本(Win10)连接无线网(DHCP)一台工作站(Linux-Manjaro)连接无线网(DHCP)为了简化桌面、便于操作,打算让笔记本和工作站共用一套键盘鼠标。问题分......
  • Linux下的pip和pip3的冲突问题
    大佬们有啥解决办法还请不吝赐教!前言最近在使用pip命令的时候,总是报如下错误:查询了很多解决方式还是未能解决.但是pip3命令的使用却没任何问题.问题初步解决今天翻看到......
  • 用Xftp给linux虚拟机传输文件时失败:Permission is not allowed!
    一直提示错误:点开发现了传输错误信息 Permissionisnotallowed!意思就是权限不够,那就到虚拟机更改该文件夹的权限。sudochmod777opt ......
  • linux回炉第十三天
    systemdsystemctlis-activenginxsystemctlstatusnginxsystemctlstartnginxsystemctlstopnginxsystemctlenablenginxsystemctldisablenginxsystemctlenable--n......