题目要求:配置多用户 samba 挂载
- l 在 server0 上通过 samba 共享目录 /devops
- l 共享名为 devops
- l 共享目录只能被网段 172.25.0.0/16 内的客户端使用
- l 共享目录 devops 必须可以被浏览
- l 用户 kenji 能以读的方式访问此共享,访问密码是 redhat
- l 用户 chihiro 能以读写的方式访问此共享,访问密码是 redhat
- l 此共享永久挂载在 desktop0 上的 /mnt/dev 目录,并使用用户 kenji 进行认证,任何用户可临时通过 chihiro 来获得读写权限
知识点小贴士:
CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享。CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统。Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。
Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。
解题步骤:
(1)Server0上配置:
<code>[root@server0 ~]# vim /etc/samba/smb.conf/<code>
在末尾添加如下内容:
<code>[devops]
path = /devops
hosts allow=172.25.0. .example.com
browseable = yes
valid users = kenji chihiro
write list = chihiro/<code>
创建devops目录:
<code>[root@server0 ~]# mkdir /devops/<code>
添加kenji、chihiro用户:
<code>[root@server0 ~]# useradd kenji;useradd chihiro/<code>
<code>[root@server0 ~]# chown chihiro /devops/
[root@server0 ~]# ls -ld /devops/
drwxr-xr-x. 2 chihiro root 6 Mar 26 01:31 /devops//<code>
配置权限及相关设置:
<code>[root@server0 ~]# semanage fcontext -a -t samba_share_t '/devops(/.*)?'
[root@server0 ~]# restorecon -Rv /devops/
restorecon reset /devops context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:samba_share_t:s0/<code>
配置smb用户密码:
<code>[root@server0 ~]# smbpasswd -a kenji
New SMB password:redhat
Retype new SMB password: redhat
Added user kenji.
[root@server0 ~]# smbpasswd -a chihiro
New SMB password: redhat
Retype new SMB password: redhat
Added user chihiro./<code>
<code>[root@server0 ~]# pdbedit -L
floyd:1001:
chihiro:1003:
kenji:1002:/<code>
(2)Desktop0上配置:
在desktop0 上安装服务包:
<code>[root@desktop0 ~]# yum list samba-client cifs-utils
Loaded plugins: langpacks
Installed Packages
samba-client.x86_64 4.1.1-31.el7 @classroom.example.com_content_rhel7.0_x86_64_dvd
Available Packages
cifs-utils.x86_64 6.2-6.el7 classroom.example.com_content_rhel7.0_x86_64_dvd
[root@desktop0 ~]# yum -y install samba-client cifs-utils.x86_64
Loaded plugins: langpacks
classroom.example.com_content_rhel7.0_x86_ | 4.1 kB 00:00
Package samba-client-4.1.1-31.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package cifs-utils.x86_64 0:6.2-6.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================
Package Arch Version Repository Size
==================================================================
Installing:
cifs-utils x86_64 6.2-6.el7 classroom.example.com_content_rhel7.0_x86_64_dvd
83 k
Transaction Summary
==================================================================
Install 1 Package
Total download size: 83 k
Installed size: 174 k
Downloading packages:
cifs-utils-6.2-6.el7.x86_64.rpm | 83 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : cifs-utils-6.2-6.el7.x86_64 1/1
Verifying : cifs-utils-6.2-6.el7.x86_64 1/1
Installed:
cifs-utils.x86_64 0:6.2-6.el7
Complete!/<code>
配置smb相关服务:
<code>[root@desktop0 ~]# smbclient -L //server0 -U kenji%flectrag
session setup failed: NT_STATUS_LOGON_FAILURE
[root@desktop0 ~]# smbclient -L //server0 -U kenji%redhat
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
devops Disk
common Disk share to floyd
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
kenji Disk Home Directories
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
SERVER0 Samba Server Version 4.1.1
Workgroup Master
--------- -------
STAFF SERVER0
[root@desktop0 ~]# smbclient //server0/devops -U chihiro%redhat -c 'put anaconda-ks.cfg'
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
putting file anaconda-ks.cfg as \\anaconda-ks.cfg (561.1 kb/s) (average 561.1 kb/s)
[root@desktop0 ~]# mkdir /mnt/dev
[root@desktop0 ~]# man mount.cifs/<code>
<code>[root@desktop0 ~]# vim /etc/fstab/<code>
<code>增加如下内容:
//server0.example.com/devops /mnt/dev cifs multiuser,sec=ntlmssp,credentials=/root/kenji.cred 0 0/<code>
<code>[root@desktop0 ~]# vim /root/kenji.cred
username=kenji
password=redhat
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# findmnt /mnt/dev
[root@desktop0 ~]# touch /mnt/dev/ro.txt
touch: cannot touch ‘/mnt/dev/ro.txt’: Permission denied
[root@desktop0 ~]# useradd chihiro
useradd: user 'chihiro' already exists
[root@desktop0 ~]# su - chihiro
Last login: Thu Mar 26 01:56:34 CST 2020 on pts/0/<code>
閱讀更多 神小威 的文章