2020-11-12

Linux第十六天了使用samba或nfs实现文件共享

samba服务
在系统安装了samba之后,
第1步:创建用于访问共享资源的账户信息。在RHEL7系统中,Samba服务程序默认
使用的是用户口令认证模式(user)
。这种认证模式可以确保仅让有密码且受信任的用户访问
共享资源,而且验证过程也十分简单。不过,只有建立账户信息数据库之后,才能使用用户
口令认证模式。另外,Samba服务程序的数据库要求账户必须在当前系统中已经存在,否则
日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。
pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit[选项]账户”

在第一次把账户信息写入到数据库时需要使用-a参数,以后在执行修改密码、删除账户等操
作时就不再需要该参数了。pdbedit命令中使用的参数,
用于pdbedit命令的参数,
-a用名
建立Samba账户
-x用户名
删除Samba账户
-L
列出账户列表
-Lv
列出账户详细信息的列表
[root@linuxprobe~]#idlinuxprobe
uid=1000(linuxprobe)gid=1000(linuxprobe)groups=1000(linuxprobe)
[root@linuxprobe~]#pdbedit-a-ulinuxprobe
newpassword:此处输入该账户在Samba服务数据库中的密码
retypenewpassword:再次输入密码进行确认Unixusername:linuxprobe
NTusername:
AccountFlags:
UserSID:S-1-5-21-507407404-3243012849-3065158664-1000
PrimaryGroupSID:S-1-5-21-507407404-3243012849-3065158664-513
FullName:linuxprobe
HomeDirectory:\localhost\linuxprobe
HomeDirDrive:
LogonScript:
ProfilePath:\localhost\linuxprobe\profile
Domain:LOCALHOST
Accountdesc:
Workstations:
Mungeddial:
Logontime:0
Logofftime:Wed,06Feb203610:06:39EST
Kickofftime:Wed,06Feb203610:06:39EST
Passwordlastset:Mon,13Mar201704:22:25EDT
Passwordcanchange:Mon,13Mar201704:22:25EDT
Passwordmustchange:never
Lastbadpassword:0
Badpasswordcount:0
Logonhours:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
第2步:创建用于共享资源的文件目录。在创建时,不仅要考虑到文件读写权限的问题,
而且由于/home目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的SELinux安全
上下文所带来的限制。在前面对Samba服务程序配置文件中的注释信息进行过滤时,这些过
滤的信息中就有关于SELinux安全上下文策略的说明,
我们只需按照过滤信息中有关SELinux
安全上下文策略中的说明中给的值进行修改即可。
修改完毕后执行restorecon命令,
让应用于
目录的新SELinux安全上下文立即生效。
[root@linuxprobe~]#mkdir/home/database
[root@linuxprobe~]#chown-Rflinuxprobe:linuxprobe/home/database
[root@linuxprobe~]#semanagefcontext-a-tsamba_share_t/home/database
[root@linuxprobe~]#restorecon-Rv/home/database
restoreconreset/home/databasecontextunconfined_u:object_r:home_root_t:s0->
unconfined_u:object_r:samba_share_t:s0
第3步:
设置SELinux服务与策略,
使其允许通过Samba服务程序访问普通用户家目录。
执行getsebool命令,
筛选出所有与Samba服务程序相关的SELinux域策略,
根据策略的名称
(和经验)选择出正确的策略条目进行开启即可:
[root@linuxprobe~]#getsebool-a|grepsamba
samba_create_home_dirs–>off
samba_domain_controller–>off
samba_enable_home_dirs–>off
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
virt_sandbox_use_samba–>off
virt_use_samba–>off
[root@linuxprobe~]#setsebool-Psamba_enable_home_dirson
第4步:在Samba服务程序的主配置文件中,根据表12-2所提到的格式写入共享信息。
在原始的配置文件中,[homes]参数为来访用户的家目录共享信息,[printers]参数为共享的打
印机设备。这两项如果在今后的工作中不需要,可以像刘遄老师一样手动删除,这没有任何
问题。
[root@linuxprobe~]#vim/etc/samba/smb.conf
1[global]
2workgroup=MYGROUP
3serverstring=SambaServerVersion%v
4logfile=/var/log/samba/log.%m
5maxlogsize=50
6security=user
7passdbbackend=tdbsam
8loadprinters=yes
9cupsoptions=raw
10[database]
11comment=Donotarbitrarilymodifythedatabasefile
12path=/home/database
13public=no
14writable=yes
第5步:Samba服务程序的配置工作基本完毕。接下来重启smb服务(Samba服务程序
在Linux系统中的名字为smb)并清空iptables防火墙,然后就可以检验配置效果了。
[root@linuxprobe~]#systemctlrestartsmb
[root@linuxprobe~]#systemctlenablesmb
ln-s’/usr/lib/systemd/system/smb.service’’/etc/systemd/system/multi-user.
target.wants/smb.service’
[root@linuxprobe~]#iptables-F
[root@linuxprobe~]#serviceiptablessave
iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]

在Windows上面可以实现与Linux文件的共享,//Linux的ip地址,输入用户名和密码即可。
在另外一个Linux系统上面,
在这里插入图片描述
在这里插入图片描述
nfs网络文件系统
如果Linux系统之间要共享文件可以使用这个服务,因为它更加方便简单。
首先两个Linux系统下载软件nfs-utils,然后在服务器端设置共享目录和777的权限。
然后在nfs的配置文件写上允许共享的目录和允许共享的主机,共享的权限限制。
vim /etc/exports
/nfsfile 主机ip(rw,sync,root_squash)
重启和启动rpcbind和nfs-server服务。
然后在客户机,showmount -e 服务机ip,查询服务器可以使用的共享文件夹等消息。然后创建文件挂载到服务器ip和共享文件夹里,
mount -t nfs ip:/nfsfile /nfsfile
再打开fstab使配置永久生效。

经历了这么多的配置步骤后是不是感觉好繁琐,这个挂载是一直存在我们的资源中,可以使用autofs自动挂载在不需要使用的时候自动不挂载,需要的时候进入挂载目录立刻自动挂载。
安装autofs服务,
处于生产环境中的Linux服务器,一般会同时管理许多设备的挂载操作。如果把这些设
备挂载信息都写入到autofs服务的主配置文件中,无疑会让主配置文件臃肿不堪,不利于服
务执行效率,也不利于日后修改里面的配置内容,因此在autofs服务程序的主配置文件中需
要按照“挂载目录子配置文件”的格式进行填写。挂载目录是设备挂载位置的上一级目录。
例如,光盘设备一般挂载到/media/cdrom目录中,那么挂载目录写成/media即可。对应的子
配置文件则是对这个挂载目录内的挂载设备信息作进一步的说明。子配置文件需要用户自行
定义,文件名字没有严格要求,但后缀必须以.misc结束。具体的配置参数如第7行的加粗字
所示。
[root@linuxprobe~]#vim/etc/auto.master

#Sampleauto.masterfile
#Thisisanautomountermapandithasthefollowingformat
#key[-mount-options-separated-by-comma]location
#Fordetailsoftheformatlookatautofs(5).

/media/etc/iso.misc
/misc/etc/auto.misc

#NOTE:mountsdonefromahostsmapwillbemountedwiththe
#“nosuid"and"nodev"optionsunlessthe"suid"and"dev”
#optionsareexplicitlygiven.

/net-hosts
在子配置文件中,应按照“挂载目录挂载文件类型及权限:设备名称”的格式进行填写。
例如,
要把光盘设备挂载到/media/iso目录中,
可将挂载目录写为iso,
而-ftype为文件系统格式参
数,iso9660为光盘设备格式,ro、nosuid及nodev为光盘设备具体的权限参数,/dev/cdrom则是
定义要挂载的设备名称。配置完成后再顺手将autofs服务程序启动并加入到系统启动项中:
[root@linuxprobe~]#vim/etc/iso.misc
iso-fstype=iso9660,ro,nosuid,nodev:/dev/cdrom
[root@linuxprobe~]#systemctlstartautofs
[root@linuxprobe~]#systemctlenableautofs
ln-s’/usr/lib/systemd/system/autofs.service’’/etc/systemd/system/multi-user.
target.wants/autofs.service’
接下来将发生一件非常有趣的事情。
我们先查看当前的光盘设备挂载情况,
确认光盘设备没
有被挂载上,而且/media目录中根本就没有iso子目录。但是,我们却可以使用cd命令切换到这
个iso子目录中,而且光盘设备会被立即自动挂载上。我们也就能顺利查看光盘内的内容了。
[root@linuxprobe~]#df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/rhel-root18G3.0G15G17%/
devtmpfs905M0905M0%/dev
tmpfs914M140K914M1%/dev/shm
tmpfs914M8.9M905M1%/run
tmpfs914M0914M0%/sys/fs/cgroup
/dev/sda1497M119M379M24%/boot
[root@linuxprobe~]#cd/media
[root@linuxprobemedia]#ls
[root@linuxprobemedia]#cdiso
[root@linuxprobeiso]#ls-l
total812
dr-xr-xr-x.4rootroot2048May72017addons
dr-xr-xr-x.3rootroot2048May72017EFI
-r–r--r–.1rootroot8266Apr42017EULA
-r–r--r–.1rootroot18092Mar62012GPL
dr-xr-xr-x.3rootroot2048May72017images
dr-xr-xr-x.2rootroot2048May72017isolinux
dr-xr-xr-x.2rootroot2048May72017LiveOS
-r–r--r–.1rootroot108May72017media.repo
dr-xr-xr-x.2rootroot774144May72017Packages
dr-xr-xr-x.24rootroot6144May72017release-notes
[root@linuxprobe~]#df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/rhel-root18G3.0G15G17%/
devtmpfs905M0905M0%/dev
tmpfs914M140K914M1%/dev/shm
tmpfs914M8.9M905M1%/run
tmpfs914M0914M0%/sys/fs/cgroup
/dev/cdrom3.5G3.5G0100%/media/iso
这个就已经自动挂载了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值