文件共享服务 Samba NFS

在FTP协议下使用vsftp进行文件传,也可以方便从linux传输文件到windos,但是这个毕竟是一个主要用来传输文件的工具,而不是文件共享的工具(不能直接修改文件)。下面介绍一下一个专业的用于文件分享的软件

Samba是一款用来在Windows和Linux下共享文件的一款工具,他使用TCP的139号端口

Samba服务的配置文件位于/etc/samba
他的配置文件分为两部分,全局配置参数和区域配置参数


服务建立

我在centos7基础设置安装下下发现已经默认装好了
yum -y install samba

[root@centos7 samba]# uname -a
Linux centos7 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@centos7 samba]# pwd
/etc/samba
[root@centos7 samba]# rpm -qa | grep samba
samba-libs-4.4.4-9.el7.x86_64
samba-4.4.4-9.el7.x86_64
samba-common-4.4.4-9.el7.noarch
samba-client-libs-4.4.4-9.el7.x86_64
samba-common-libs-4.4.4-9.el7.x86_64
samba-common-tools-4.4.4-9.el7.x86_64
[root@centos7 samba]# grep -Ev '^$|^[#;]' smb.conf.example > smb.conf

配置

1.配置共享资源 vi /etc/samba/smb.conf
2.创建用于访问共享资源的账户信息samba账户 pdbedit -a -u samba
3.重启动 systemctl restart smb
4.测试 ubuntu&windows10

[root@centos7 samba]# cat /etc/samba/smb.conf
[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        security = user
        passdb backend = tdbsam
        load printers = yes
        cups options = raw

[sam-data]
        comment = Do not arbitrarily modify the database file
        path = /home/samba
        public = no
        writable = yes
[root@centos7 samba]# useradd samba
[root@centos7 samba]# pdbedit -a -u samba
new password:
retype new password:
Unix username:        samba
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1514789427-945433464-1398532984-1000
Primary Group SID:    S-1-5-21-1514789427-945433464-1398532984-513
Full Name:
Home Directory:       \\centos7\samba
HomeDir Drive:
Logon Script:
Profile Path:         \\centos7\samba\profile
Domain:               CENTOS7
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Tue, 23 Jul 2019 15:05:30 CST
Password can change:  Tue, 23 Jul 2019 15:05:30 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
root@ubuntus:~# apt install cifs-utils
root@ubuntus:~# cat auth.smb
username=samba
password=1
domain=MYGROUP
root@ubuntus:~# chmod 600 auth.smb
root@ubuntus:/# cat /etc/fstab
UUID=92570294-99b9-11e9-b465-000c29aeee2d / ext4 defaults 0 0
/swap.img       none    swap    sw      0       0
//192.168.0.112/sam-data      /mnt    cifs credentials=/root/auth.smb 0       0
Win+ R
windows

相对于NFS来说,samba的配置还是用点多,只在Linux下文件共享的情况下NFS不要太方便!

NFS的建立

yum install nfs-utils

mkdir /nfsfile #nfs的共享目录
chmod -Rf 777 /nfsfile/
echo 'nfs test'> /nfsfile/nfstest

编写nfs主配置文件

[alex@centos7 ~]$ cat /etc/exports
/nfsfile        *(rw,sync,root_squash)
#共享目录的路径 允许访问的NFS客户端(共享权限参数)

用于配置 NFS 服务程序配置文件的共享参数

参数 作用
ro 只读
rw 读写
root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户
no_root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员
all_squash 无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

启动和启用 NFS 服务程序

在使用 NFS 服务进行文件共享之前,需要使用 RPC(Remote Procedure Call,远程过程调用)服务将 NFS 服务器的 IP 地址和端口号等信息发送给客户端。因此,在启动 NFS 服务之前,还需要顺带重启并启用 rpcbind 服务程序,并将这两个服务一并加入开机启动项中

systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server

测试

在客户机上首先要装有nfsyum -y install nfs-utils rpcbind
mount -t nfs 192.168.0.102:/nfsfile/ /mnt/

我们可以使用showmount查看nfs的信息

[root@centos7 /]# showmount -e 192.168.0.102
Export list for 192.168.0.102:
/nfsfile *
[root@centos7 /]# showmount -v
showmount for 1.3.0
[root@centos7 /]# mount -t nfs 192.168.0.102:/nfsfile/ /mnt/
[root@centos7 /]# ll /mnt/
total 4
-rw-r--r--. 1 nfsnobody nfsnobody 10 Jul 23 21:38 nfstest
[root@centos7 /]# cat /mnt/nfstest
nfs test
[root@centos7 /]# echo '192.168.0.102:/nfsfile /mnt nfs defaults 0 0' >> /etc/fstab

autofs自动挂载服务

这里还要介绍一下这个autofs。把这些远程挂载点写入/etc/fstab的确可行,但是如果机器上挂载点太多也会导致一定的浪费,autofs的作用就是检测到用户需要使用了才会进行挂载。autofs有著配置文件/etc/auto.master,引导副配置文件/etc/auto.misc

PS:主文件的挂载点是实际挂载点的上一级目录

yum install autofs
echo '/media /etc/auto.misc' >> /etc/auto.master
echo "iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom" >> /etc/auto.misc
echo " nfs -type=nfs4,rw,sync 192.168.0.102:/nfsfile" >> /etc/auto.misc
systemctl start autofs
systemctl enable autofs

实际使用时会发现我们查看挂载点时没有被挂载上,但是进入挂载点时发现有文件

PS:
如何清除Windows共享登录的用户名密码
Ubuntu下的NFS共享目录以及挂载(mount)问题
使用Samba或NFS实现文件共享
shell实现开机自动挂载本地YUM仓库程序

#!/bin/bash
#自动搭建yum本地仓库
#
cdrom () {
mount /dev/cdrom /media/cdrom &> /dev/null
[ $? -eq 0 ] && echo "挂载成功"
}

[ -d /media/cdrom ] || mkdir /media/cdrom
mount | grep -q /dev/sr0
if [ $? -eq 0 ]
then
umount /dev/sr0
cdrom
else
cdrom
fi

[ -d /etc/yum.repos.d/bak ] || mkdir /etc/yum.repos.d/bak
ls -l /etc/yum.repos.d/ | grep *repo > /dev/null
if [ $? -ne 0 ]
then
echo "正在移动文件到目录下"
mv /etc/yum.repos.d/*repo bak
else
echo "文件已经移动目录!"
fi
[ -e /etc/yum.repos.d/centos-media.repo ] || echo "[media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/centos-media.repo

echo "清除yum缓存"
yum clean all &> /dev/null
echo "YUM已经搭建完成"
echo -n  "共有软件包:" 
yum repolist | tail -1 | awk -F':' '{print $2}' 

cat /etc/fstab | grep /dev/sr0 &> /dev/null
if [ $? -ne 0 ]
then
echo "正在写入开机自动挂载光盘"
echo "/dev/sr0     /media/cdrom       iso9660 defaults 0 0 ">> /etc/fstab
fi
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341