Linux中Samba与NFS的共享示例

在这里面所有的服务器为CentOS 6.9,samba客户端和NFS客户端均为CentOS 7.2
要完成以下操作需要安装的软件包:yum install httpd mariadb-server(CentOS6.9是mysql-server)nfs-utils samba php php-fpm php-mysql nginx
安装完成即可进行操作;
使用samba和NFS分别共享/data目录:
首先使用NFS共享/data目录:
创建共享目录:
~]# mkdir /data
在centos6中编辑文件/etc/exports
~]# vim /etc/exports
在内部添加一行内容:
/data () //第一个是要共享的目录,“”“”表示所能接受共享的主机地址表示所有主机都可以接受
添加完之后保存退出即可;
接下来启动NFS进程:
~]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
启动成功后完成之后 :
~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 172.16.72.11:8000 :
LISTEN 0 64 :::2049 :::
LISTEN 0 64
:2049 :
.....
可以看到有端口号为2049的进程启动即可;
这时我们可以在我们本地共享的目录中创建一个文件,然后在里面编辑一行内容:
~]# touch /data/test
~]# vim /data/test
测试成功

编辑完成后,保存退出即可;
为了测试是否共享成功,我么可以在另一台主机上进行如下操作:
~]# mkdir /mnt/nfs //首先创建一个可以挂载的目录
~]# showmount -e 172.16.72.11 //查看服务器共享的目录列表
Export list for 172.16.72.11:
/data *
~]# mount -t nfs 172.16.72.11:/data /mnt/nfs //挂载共享目录
~]# df //查看挂载是否成功 172.16.72.11:/data 51475200 12512512 36341248 26% /mnt/nfs有这一行代表成功了
~]# cat /mnt/nfs/test //查看共享是否成功
测试成功 //显示为我们之前所输入的文字,所以共享成功;

接下来我们使用Samba共享/data目录:
之前我们已经创建好了共享目录/data所以不用在此创建了;
我们需要在共享之前修改Samba的主配置文件:
~]# vim /etc/samba/smb.conf
workgroup = MYGROUP 建议将这一行修改为 workgroup =WORKGROUP

passdb backend = tdbsam 修改:passdb backend = tdbsam:/etc/samba/test.db
然后拉到文档最后添加内容:
[data] //共享文件名
comment = shared file //一个说明写不写无所谓
path = /data //共享文件目录的路径必须写
valid users = li //能够访问的用户
writable = yes //规定共享用户拥有写权限
public = no //不允许匿名访问,必须通过身份认证后才能访问
browsable = yes //在浏览页面能够看到
create mask = 0644 //规定了写权限后,规定的上传权限
编辑完之后保存退出即可;
想要查看编辑后的文件是否出现错误可以用下面命令实现:
~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[testfile]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
这样证明没有语法错误;
建出我们在配置文件中所写到的用户:
~]# useradd li
正在创建信箱文件: 文件已存在
~]# pdbedit -a li
new password:
retype new password:
Unix username: li
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1182130408-243049493-2191779520-1000
Primary Group SID: S-1-5-21-1182130408-243049493-2191779520-513
Full Name:
Home Directory: \localhost\li
HomeDir Drive:
Logon Script:
Profile Path: \localhost\li\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 日, 06 5月 2018 23:56:13 CST
Password can change: 日, 06 5月 2018 23:56:13 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
因为我们之前的文件为.db格式的所以要用pdbedit创建出来
这是我们在查看/etc/samba文件发现多了一个之前我们在Samba文件中写入的文件
~]# ls /etc/samba
lmhosts smb.conf smbusers test.db
想要查看这个文件中的内容要使用pdbedit -L命令而不是cat不然看到的都是乱码;
这些完成后,我们就可以启动服务了:
~]# service smb restart
关闭 SMB 服务: [失败]
启动 SMB 服务: [确定]
使用命令: ~]# ss -tnl //可以看到445号端口和139号端口开启,这样就可以正常完成smb的通信了
~]# smbclient -L 172.16.72.11 -U li //使用li这个用户查看服务器smb的贡献目录列表,键入的密码为之前设置的li的密码
Enter SAMBA\li‘s password:

Sharename       Type      Comment
---------       ----      -------
testfile        Disk      shared file
IPC$            IPC       IPC Service (Samba Server Version 3.6.23-46el6_9)
li              Disk      Home Directories

Reconnecting with SMB1 for workgroup listing.

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

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

虽然之前我们规定了写权限但是在文件/data可以看到:
~]# ll /data
总用量 4
-rw-r--r--. 1 root root 13 5月 6 22:42 test
-rw-r--r--. 1 root root 0 5月 6 23:36 testfile
我们可以为其赋予一个权限:
~]# chmod 1777 /data
这是我们可以在可会集中创建一个文件:
~]# vim /etc/test1
测试
保存退出
然后:
~]# smbclient -U li //172.16.72.11/testfile
Enter SAMBA\li‘s password:
Try "help" to get a list of possible commands.
smb: \> put /etc/test1 test1
putting file /etc/test1 as \test1 (1.0 kb/s) (average 1.0 kb/s)
smb: \> ls
. D 0 Mon May 7 00:23:21 2018
.. DR 0 Sun May 6 22:13:06 2018
test1 N 7 Mon May 7 00:23:21 2018
test N 13 Sun May 6 22:42:31 2018
testfile N 0 Sun May 6 23:36:46 2018

    51475068 blocks of size 1024. 36338320 blocks available
这样就完成了将本地文件上传到服务器操作;

然后切换到服务器主机:
~]# cat /data/test1
测试
证明上传成功;
也可以通过像NFS一样通过挂载实现共享
~]# mkdir /mnt/cifs
~]# mount -t cifs -o username=li //172.16.72.11/data /mnt/cifs/
Password for [email protected]//172.16.72.11/data: **
**~]# df
df: "/run/user/0/gvfs": 没有那个文件或目录
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 40498872 3942252 36556620 10% /
devtmpfs 924900 0 924900 0% /dev
tmpfs 935256 84 935172 1% /dev/shm
tmpfs 935256 25496 909760 3% /run
tmpfs 935256 0 935256 0% /sys/fs/cgroup
tmpfs 187052 4 187048 1% /run/user/0
//172.16.72.11/data 51475068 12515276 36338352 26% /mnt/cifs
~]# cat /mnt/cifs/testfile
测试
共享成功成功

让samba客户端和NFS客户端分别挂载samba服务器上共享的/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata,要求服务能正常启动,且可正常存储数据:
在刚刚的Samba客户端上创建本地目录/mydata,然后完成挂载:
~]# mkdir /mydata
~]# mount -t cifs -o username=li //172.16.72.11/data /mydata
Password for [email protected]//172.16.72.11/data: **

在刚刚的NFS客户端上创建本地目录/mydata,然后完成挂载:
~]# mkdir /mydata
~]# mount -t nfs 172.16.72.11:data /mydata

修改Samba客户端的MariaDB的主配置文件:
~]# vim /etc/my.cnf

datadir=/var/lib/mysql 修改为datadir=/mydata

修改NFS客户端的MariaDB的主配置文件:
~]# vim /etc/my.cnf

datadir=/var/lib/mysql 修改为datadir=/mydata

完成之后在共享服务器中完成以下操作:
~]# cp -a /var/lib/mysql /data/mysql
~]# chmod -R 1777 /data
~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

MariaDB [(none)]> create database mydb character set = utf8;
Query OK, 1 row affected (0.00 sec)
能够成功创建出表,表示成功;

(1) 使用samba和NFS分别共享/data/application/web,部署LAMP,并在上述目录中提供wordpress应用;
(2) 使用samba客户端和NFS客户端分别挂载samba server和NFS server共享的目录至/var/www/html;
(3) 分别通过两台服务器验正wordpress是否可被访问、能否正常发文章和上传图片;

首先在服务器中使用samba和NFS共享/data/application/web,个上面操作是一样的只是将文件名进行修改即可;
服务器中的操作:
~]# vim /etc/exports
/data/application/web (rw) //为了能够让NFS客户端上传文章和图片要赋予其写权限

~]# vim /etc/samba/smb.conf
[web]
comment = shared file
path = /data/application/
valid users = li
writable = yes
public = no
browsable = yes
create mode = 0644
directory mode = 0755
~]# chmod 777 /data/application/web //为了能够让Samba客户端上传文章和图片要赋予其相应权限

t ~]# vim /etc/samba/smb.conf
~]# service nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS quotas: [确定]
关闭 NFS 服务: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[[email protected] ~]# service smb restart
关闭 SMB 服务: [确定]
启动 SMB 服务: [确定]

~]# mount -t nfs 172.16.72.11:/data/application/web /var/www/html
~]# mount -t cifs -o username=li //172.16.72.11/data/application /var/www/html
Password for [email protected]//172.16.72.11/data/application: **

将wordpress文件从电脑主机中发送到虚拟机服务器主机/data/application/web下面,这是我们需要用到的工具是xftp工具以及软件包wordpress-4.2-zh_CN.tar.gz解压缩后里面的wordpress文件

完成操作之后,在samba客户端和NFS客户端中进行如下操作:

~]# setenforce 0
~]# systemctl disable firewalld.service
~]# systemctl stop firewalld.service
~]# iptables -F
~]# systemctl start httpd.service
~]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 四 2018-05-17 21:59:02 CST; 29min ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 22428 (httpd)
Status: "Total requests: 2; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─22428 /usr/sbin/httpd -DFOREGROUND
├─22430 /usr/sbin/httpd -DFOREGROUND
├─22431 /usr/sbin/httpd -DFOREGROUND
├─22432 /usr/sbin/httpd -DFOREGROUND
├─22433 /usr/sbin/httpd -DFOREGROUND
├─22434 /usr/sbin/httpd -DFOREGROUND
├─22436 /usr/sbin/httpd -DFOREGROUND
└─22451 /usr/sbin/httpd -DFOREGROUND

5月 17 21:59:02 localhost.localdomain systemd[1]: Starting The Apache HTT...
5月 17 21:59:02 localhost.localdomain httpd[22428]: AH00558: httpd: Could...
5月 17 21:59:02 localhost.localdomain systemd[1]: Started The Apache HTTP...
Hint: Some lines were ellipsized, use -l to show in full.

然后在自己电脑主机上分别访问172.16.72.1/wordpress和172.16.72.10/wordpress
出现这个证明服务器能够被访问;

接下来我们就在服务器中建立起数据库:
~]# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 62
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> create database word charset = utf8; //建立数据库
Query OK, 1 row affected (0.00 sec)

mysql> grant all on word.* to ‘root‘@‘%‘ identified by ‘123456‘; //授权并设置密码
Query OK, 0 rows affected (0.00 sec)

mysql> \q //退出
Bye

在服务器中修改wordpress的配置文件:
~]# cd /data/application/web/wordpress/
wordpress]# vim wp-config-sample.php //修改下面的部分即可

然后通过NFS客户端主机地址访问172.16.72.1/wordpress,进入界面输入以下内容:

提交;
出现上面的情况后,我们进入到服务器例进行如下操作:
wordpress]# vim wp-config.php
复制图片中提示内容,保存退出,然后点击网站上的进行安装,出现下面这个界面:

自己进行配置:
点击安装wordpress出现下面这个页面:
点击登录,下面使用你刚刚建好的用户:
进入下面这个页面:

点击撰写一篇文章,然后发布,发布成功,证明共享成功。

原文地址:http://blog.51cto.com/huliheeyu/2117838

时间: 2024-07-29 11:34:04

Linux中Samba与NFS的共享示例的相关文章

Linux中Samba详细安装

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便.本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置. 1.服务查询 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉.使用命令 rpm -qa | gre

Linux中samba服务器的搭建

使用的vmware12虚拟机安装的centos6.8和物理机上的windows10,实现在windows10 上访问CentOs上的samba服务. 一.先查看系统中是否安装有samba服务相关的软件包. 查看到我的linux中没有安装samba相关的软件包,接下来进行安装几个相关的软件包: samba-3.6.9-151.el6.x86_64                            //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替 samba-commo

linux中samba服务器的全配置操作

1.配置匿名访问samba共享文件. 2.配置用户以身份验证的方式访问samba共享文件. 3.在samba的主配置文件中设置访问地址限制. 4.配置linux为samba客户端访问别人的共享文件. 首先介绍一下实验环境:开启两台虚拟机,linux-1作为samba共享服务器使用,win 7-1作为客户机使用来访问服务器上的共享文件,并且要有写入权限. 首先是挂载光盘文件,然后使用rpm命令安装作为samba服务器端的安装包. 此时可以先关闭IPtables防火墙服务,以及SElinux策略.

Linux中详细搭建NFS服务

1.nfs简介 NFS (Network File System)即网络文件系统.由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法. nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能 nfs是运行在应用层的协议,其监听与2049/tcp和2049/udp套接字上 nfs服务只能基于IP进行

【转载】Linux中Samba详细安装(实现windows和linux的文件共享)

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便.本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置. 1.服务查询 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉.使用命令 rpm -qa | gre

LINUX中 samba文件共享服务配置与用户映射

samba服务简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与

Linux中samba服务器配置

注意:如果配置过程中出现不正常现象请看文档末尾处的注意事项. 1.将samba所需要的rpm安装包(已提供)上传linux服务器至:/usr/local/soft/ 2.执行操作命令: a.cd /usr/local/soft b.rpm -ivh samba-3.6.12-59.2.1.x86_64.rpm c.rpm -ivh samba-client-3.6.12-59.2.1.x86_64.rpm 3.添加自启动 执行命令:chkconfig –a smb 4.开启防火墙例外 vim /

Linux中的动态库(共享库)的制作

一.整体大纲 二.共享库的制作 1. 命名规则: lib + 名字 + .so 2. 制作步骤: 1) 生成与位置无关的代码 (生成与位置无关的.o)    2) 将.o打包成共享库(动态库) 3. 发布和使用共享库: 4. 解决程序执行时动态库无法被加载的问题: 1)放到系统的库目录 中 -- 不允许使用 2)临时测试 环境变量: LD_LIBRARY_PATH=将动态库的路径设置给该变量          将设置的值, 导入到系统环境变量中: export LD_LIBRARY_PATH 

Linux 中 17 个 tar 命令实用示例

Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)是类 Unix 系统中使用最广泛的命令,用于归档多个文件或目录到单个归档文件中,并且归档文件可以进一步使用 gzip 或者 bzip2 等技术进行压缩.换言之,tar 命令也可以用于备份:先是归档多个文件和目录到一个单独的 tar 文件或归档文件,然后在需要之时将 tar 文件中的文件和目录释放出来. 本文将介绍 tar 的 17 个实用示例.