优麒麟/ubuntu及redhat开启文件共享

优麒麟/ubuntu及redhat开启文件共享

Linux通过SMB(Server Messages Block,服务器消息块)来实现文件或打印机等资源的共享,使用前需先解决服务端、客户端以及访问协议等服务程序的安装配置问题。
测试环境:真机优麒麟20.10(虚拟网址192.168.100.1),虚拟机redhat8(192.168.100.100)

一、有关服务程序安装

1.samba:服务端程序。

redhat系统安装:yum install samba
ubuntu系统安装:apt install samba
测试的优麒麟20.10系统已经默认安装samba。
redhat8安装samba:

[root@hollowman ~]# yum install samba

2.smbclient: 客户端工具,属于samba套件,它提供一种命令行使用交互式方式访问samba服务器的共享资源。

redhat系统安装:yum install samba-client
ubuntu系统安装:apt install smb-client
语法:smbclient [选项]
常用选项:

-L   显示服务端的分享资源
-O   设置用户端TCP连接槽的选项
-p   指定服务器端TCP连接端口编号
-U   指定用户名

3.cifs-utils: 可以为linux客户端访问共享文件提供实现手段,当然他发挥作用的前提也是已经安装了samba。

redhat系统安装:yum install cifs-utils
ubuntu系统安装:apt install cifs-utils

root@hollowman-F117:~# apt install cifs-utils
[root@hollowman ~]# yum install cifs-utils

访问的方法见第五步“远程访问”。

二、修改主配置文件,设置共享文件信息

主配置文件:/etc/samba/smb.conf

在/etc/samba/smb.conf的最后添加如下内容:

[samba]
comment = hollowman.cn share
path = /home/samba
public = yes
writable = yes

修改主配置文件后需要重新启动smb服务,注意优麒麟是smbd服务,而redhat系统则是smb服务

root@hollowman-F117:~# systemctl restart smbd
[root@hollowman ~]# systemctl restart smb

三、添加访问共享文件需要的用户名密码

pdbedit 用于管理smb服务程序的账号信息数据库
语法:pdbedit [选项] [账户]
选项:

-a 建立smb用户(必须是已经存在的Linux系统用户)
-x 删除smb用户(删除此用户不会影响Linux系统用户)
-L 显示smb用户列表
-Lv 显示smb用户的详细信息
root@hollowman-F117:~# pdbedit -a hollowman
new password:        #输入smb用户的密码,与系统hollowman用户密码无关
retype new password:  

用smbpassword命令也可以创建用户:smbpassword -a hollowman

root@hollowman-F117:~# smbpasswd -a ht
New SMB password:   #输入smb用户的密码,与系统hollowman用户密码无关
Retype new SMB password:

两者的区别是:pdbedit用户创建成功后还会显示该用户的详细信息。

四、完成共享文件的目录建立及权限开放

根据第二步中声明的共享目录/home/samba完成下面的工作:

优麒麟/ubuntu:

root@hollowman-F117:~# mkdir /home/samba
root@hollowman-F117:~# ls -l /home
总用量 4
drwxr-xr-x 24 hollowman hollowman 4096  1月 31 13:59 hollowman
drwxr-xr-x  2 root      root         6  1月 31 17:54 samba
root@hollowman-F117:~# chown -Rf hollowman:hollowman /home/samba

redhat8:

[root@hollowman ~]# mkdir /home/samba
[root@hollowman ~]# ls -Zl /home
total 0
drwx------. 3 hollowman hollowman unconfined_u:object_r:user_home_dir_t:s0 78 Jan 24 22:49 hollowman
drwxr-xr-x. 2 root      root      unconfined_u:object_r:user_home_dir_t:s0  6 Jan 31 16:12 samba
[root@hollowman ~]# chown -Rf hollowman:hollowman /home/samba

因为redhat8默认安装了SELinux安全策略以及firewall防火墙,因此要进行相关配置才可以远程访问。

1.设置SElinux安全策略

有关知识参考:https://blog.csdn.net/ymz641/article/details/112001373

修改共享目录的安全上下文,使之与samba服务相匹配:

[root@hollowman ~]# semanage fcontext -a -t samba_share_t /home/samba
[root@hollowman ~]# restorecon -Rv /home/samba/
Relabeled /home/samba from unconfined_u:object_r:user_home_dir_t:s0 to unconfined_u:object_r:samba_share_t:s0

修改SElinux安全策略的规则,允许共享目录被samba服务访问

[root@hollowman ~]# getsebool -a | grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
...
[root@hollowman ~]# setsebool -P samba_enable_home_dirs on

2.设置firewall防火墙,放行samba服务

[root@hollowman ~]# firewall-cmd --add-service=samba --permanent --zone=public
success
[root@hollowman ~]# firewall-cmd --reload 
success

3.必要时,清空iptables防火墙

[root@hollowman ~]# iptables -F

五、远程访问

1.windows客户端访问

直接在资源管理器中键入 \192.168.100.100 回车后输入用户名:hollowman 及密码:123456即可

2.Linux客户端访问(redhat8访问优麒麟/ubuntu,或优麒麟/ubuntu访问redhat8)

1)优麒麟/ubuntu访问redhat8

查看服务端共享资源:

root@hollowman-F117:~# smbclient -L //192.168.100.100 -U hollowman
Enter WORKGROUP\hollowman's password: 

	Sharename       Type      Comment
	---------       ----      -------
	samba           Disk      Public Stuff
	IPC$            IPC       IPC Service (Samba Server Version 4.9.1)
SMB1 disabled -- no workgroup available

可以发现,服务端开启了samba的共享文件夹
直接挂载访问:

root@hollowman-F117:~# mount.cifs //192.168.100.100/samba /media/samba -o user=hollowman,pass=123456

回到文件系统,发现远程目录多了一个叫samba的目录,这就是redhat8共享的目录。
你也发现这里还有一个netshare目录,这是昨天发布的“优麒麟/ubuntu远程访问windows共享文件夹”中的结果。
开机自动挂载:

root@hollowman-F117:~# echo '//192.168.100.100/samba  /media/samba cifs defaults,username=hollowman,password=123456  0  2' >> /etc/fstab
root@hollowman-F117:~# mount -a

效果图:
在这里插入图片描述

2)redhat8访问优麒麟/ubuntu
[root@hollowman ~]# smbclient -L //192.168.100.1 -U hollowman
Enter MYGROUP\hollowman's password: 

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	samba           Disk      hollowman.cn share
	IPC$            IPC       IPC Service (hollowman-F117 server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Failed to connect with SMB1 -- no workgroup available

同样也有一个samba的共享目录

[root@hollowman ~]# mkdir /media/samba
[root@hollowman ~]# mount.cifs //192.168.100.1/samba /media/samba -o user=hollowman,pass=123456

尝试进入挂载的目录,新建hy目录成功

[root@hollowman ~]# cd /media/samba
[root@hollowman samba]# mkdir hy
[root@hollowman samba]# ls
hy

效果图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ymz641/article/details/113483048