在Linux系统中,挂载是将一个文件系统加入到系统目录树的一种操作。在挂载操作中,文件系统可以以不同的挂载方式挂载到目录上,常见的挂载方式有读写挂载和只读挂载两种。
创新互联主营南湖网站建设的网络公司,主营网站建设方案,app软件开发公司,南湖h5微信小程序开发搭建,南湖网站营销推广欢迎南湖等地区企业咨询
只读挂载是指在挂载文件系统时,将其以只读模式挂载到目录上。在这种挂载方式下,文件系统中的数据无法被修改或删除,只能被读取。只读挂载虽然不方便在文件系统中进行修改,但也带来了一些好处,可以保护文件系统的完整性,有效预防数据被误删或篡改。
那么如何进行Linux的只读挂载呢?下面我们来介绍几种方法。
一、在挂载时指定只读模式
最简单的方法就是在挂载时指定只读模式,在挂载命令中添加一些参数即可,例如:
“`
mount -o ro /dev/sdb1 /mnt
“`
其中“-o ro”指定只读模式,就可以避免在此挂载点上进行写操作。
二、修改文件系统属性
为了避免在挂载时忘记指定只读模式,在文件系统中修改属性也是一种不错的方法。可以将文件系统属性设置为只读,然后再挂载即可。
需要卸载文件系统,然后运行以下命令:
“`
tune2fs -E mount_opts=ro /dev/sdb1
“`
其中,“tune2fs”命令用于调整文件系统参数,“-E mount_opts=ro”指定文件系统属性为只读模式。“/dev/sdb1”为要修改的分区路径。
修改完属性后,再将该分区挂载即可。
三、使用只读存储介质
除了可以在挂载时和修改文件系统属性之外,还可以使用只读存储介质来实现只读挂载。只读存储介质可以是CD、DVD、只读U盘等,这些设备都不支持写入操作,因此将其挂载到Linux系统上也会是只读模式。
当需要写入数据时,可以将数据写入到其他设备中。只读存储介质的好处在于可以保证文件系统的完整性,不会因为误删或修改数据而出问题。
四、使用文件系统快照
文件系统快照是一种通过复制文件系统来保护数据完整性的方法。对于只读挂载,可以先创建一个文件系统快照,然后以只读模式挂载该快照。
例如,可以使用LVM快照来实现文件系统的快照保护。首先创建一个快照,如下所示:
“`
lvcreate -n snap -L 10G -s /dev/myvg/mydata
“`
其中,“snap”是快照的名称,“10G”是快照的大小,“/dev/myvg/mydata”是要快照的分区。
创建快照后,在不改变原始数据的情况下,可以以只读模式挂载该快照,如下所示:
“`
mount -o ro /dev/myvg/snap /mnt
“`
通过快照的方式,可以保护文件系统完整性,避免数据被篡改或误删。
只读挂载是保护文件系统完整性的一种方法。可以根据自己的需求在挂载时指定只读模式,修改文件系统属性,使用只读存储介质,或者使用文件系统快照的方式进行保护。在实际操作中,需要针对不同的场景进行选择,并制定相应的安全策略,确保数据的安全性和完整性。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
方案A:使用linux-ntfs
特点:本方案使用简单,易于操作;但是挂载成功后却是只读
实现:
1. 下载linux-ntfs的RPM包带咐
# wget
2. 安装下载后的RPM包
# rpm -ivh kernel-module-ntfs-2.6.18-92.el5-2.1.27-0.rr.10.11.x86_64.rpm
3. 检查ntfs模块是否被加载进系统
# /in/modprobe ntfs
# cat /proc/filesystems
nodev selinuxfs
ext3
nodev rpc_pipefs
nodev autofs
ntfs
4. 查看NTFS系统的编号
# /in/fdisk -l |grep NTFS
/dev/sdc 7 HPFS/NTFS
5. 挂载NTFS文件系统
# mkdir -p /mnt/ntfs/
# mount -t ntfs /dev/悔扒sdc1 /mnt/ntfs/
END. 此时如无意外应该已经成功挂载蠢前纯了一个只读的NTFS系统,可使用mount命令进行查看。
方案B:使用fuse和ntfs-3g
特点:本方案需要下载2个包,对其进行源码安装;挂载成功后即可读写挂载分区
实现:
1. 下载源码安装包
# wget
# wget
2. 安装下载后的源码包
# tar -zxf fuse-2.7.4.tar.gz
# ./configure –prefix=/usr/local/fuse-2.7.4
# make
# make install
# tar -zxf ntfs-3g-2023.4.4.tgz
# ./configure –prefix=/usr/local/ntfs-3
# make
# make install
3. 检查fuse模块是否被加载进系统
# /in/modprobe fuse
# cat /proc/filesystems
nodev selinuxfs
ext3
nodev rpc_pipefs
nodev autofs
ntfs
nodev fuse
fuseblk
nodev fusectl
4. 查看NTFS系统的编号
# /in/fdisk -l |grep NTFS
/dev/sdc 7 HPFS/NTFS
5. 挂载NTFS文件系统
# mkdir -p /mnt/ntfs/
# mount -t ntfs-3g /dev/sdc1 /mnt/ntfs/
一、BIOS 加电自检
当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的.
BIOS 的工作
1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给操作系统
2.寻找启动磁盘,每一种BIOS都会有开机启动菜单,可以在菜单里设置以哪个设备启动系统
比如:光驱,硬盘,网络等等,这个菜单可以设置多个选项,依照设置次序在设备上寻找启动信息
3.找到了启动硬盘,接着BIOS就会在磁盘上找启动扇区,找到内核启动系统.
1)先试着寻找之一个扇区,也就是主引导记录MBR(Master Boot Record)
2)如果之一个扇区上没有没有存在操作系统,再去寻找标记为BOOT的分区.
不论是MBR还是BOOT分区,存储操作系统的空间都只有446字节;
如果没有在上面提到的位置找到操作系统的内核,那么BIOS就无法继续启动工作.
而我们的内核往往会大于446个字节,存放在磁盘的其他位置上,既然446装不下内核,又为了能顺利的找到放在其他位置上的内核,
人们想出了一个办法就在446字节里写了一个小程序,当BIOS试着启动操作系统时旁返就会执行这个小程序,然后再由小程序来载入其他位置的内核.这个小程序就是启动载入器(boot loader)
二、BOOT Loader
linux的boot loader(上文提到的小程序) 常见的有两种:lilo grub
因为lilo存在着一个1024柱面的限制,并且更改了磁盘上的启动信息文件后需要重新启动系统才能同步446字节的内容,因为lilo的缺陷,已经被grub所取代.现在的绝大多数类linux系统都采用grub做boot loader;
grub则没有了lilo各种限制,而且方便到能修改系统文件的启动内容就可以立刻与446内容同步.
那么我们就看看grub的内容 它存在于 /boot/grub中
GRUB有几个重要的文件,STAGE1、STAGE1.5、STAGE2
STAGE1:它只有512字节,通常放在MBR中,它的作用很简单,就是在系统启动时用于装载STAGE2并将控制权交给它。
STAGE2:GRUB的核心,所有的功能都是由它实现。
STAGE1.5:介于STAGE1和STAGE2之间,是它们的桥梁,因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,
所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2。根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。它存放于1-63的柱面之间.
引导顺序如下:STAGE1->;STAGE1.5->;STAGE2,
主要的配置文件时 grub.conf
里面选项含义:
title:一个操作系统引动的标头,可以使多个
root :指明所需文件存在于哪个磁盘哪个分区上 (hd0,0)表示之一个硬盘,之一个分区,可参考/boot/grub/device.map
kernel:内核文件的名字,并且会有一些加载内核时的参数 or代表以只读方式加载
initrd:包含一些附加的驱动程序
三、内核启动
内核启动后会向bios查询电脑的所有硬件信息,然后自己接手下来管理这些设备,以便提供给linux使用
内核会试着驱动这些设备,这些设备的驱动一部分包含在内核中,叫做静态驱动,一部分以模块的方式(动态)存放文件系统中,由
于此时还未挂载任何文件系统,因此还不能使用文件系统中的模块,这里只能驱动在内核中存在的硬件驱动程序的对应设备.想驱动内核中未包含的硬件运乱饥驱动就需要加载文件系统.
内核会尝试挂陪冲载根文件系统,根文件系统至少包含 /etc /bin /in /lib /dev 这5大目录
他们5个缺一不可.都会导致系统无法启动
根文件系统挂载是以只读方式挂载的,因为这时linux还在启动阶段,并不稳定,避免破坏系统资料
四、启动INIT服务
顺利的挂载了根文件系统后,就会启动init服务
内核会按 /in/init /etc/init /bin/init 顺序寻找init程序,
如果找不到则内核报错 这里存在一个参数 init=/bin/sh 如果启动时指定了则最后执行/bin/sh
而不会产生内核报错.也被称为快速启动,因为它忽略了很多启动初始化工作.
启动init的目的就是为了初始化系统环境,启动了init就证明了内核已经顺利启动,接下来就由init服务来建立linux使用环境
init做了什么?它会读取 /etc/inittab 文件,根据这个文件的信息来进行初始化工作.
会执行三个脚本 /etc/rc.d/rc.sysinit /etc/rc.d/rc /etc/rc.d/rc.local
rc.sysinit 主要的功能用来建立系统的基本环境
启动udev selinux子系统
udev负责产生 /dev中的文件,selinux负责增强系统的安全性
设定核心参数 sysctl -p 加载 /etc/sysctl.conf
设定系统时间 将硬件时间设定为系统时间
加载键盘和交换分区 swapon -a -e
设置主机名,挂载文件系统,并将根重新挂载为可读写的.
加载动态驱动模块
USB设备与RAID & LVM
卸载 /initrd/ 目录
rc 脚本设置启动级别 linux中有许多不同的启动级别,不同的启动级别会制定不同的服务
根据指定rc的参数会对应执行 /etc/rc.d/rc.d/ 中的连接脚本文件 以S开头的则启动
rc.local 前两个脚本都是系统至关重要的脚本,如果我们想在启动过程中放置一些其他程序
应该使用rc.local脚本中 因为S99local存在于rc.d中
三个RC脚本执行完毕后,就会建立虚拟主控制台 执行 /bin/login 就提供了用户登陆界面了
如果是图形 L5级别的话,会启动X window登录界面
所有的启动就都已经完毕
用户环境初始化
输入用户名和密码系统验证,然后会执行
/etc/profile
/etc/profile.d/*.sh $HOME/.bash_profile
/etc/bashrc
$HOME/.bashrc
启动级别
0 关机
1 单用户
2 多用户模式但带网络但不能远程登录
3 不受限多用户模式 TUI
4 保留
5 图形模式
6 重新启动
查看启动级别
# runlevel
N 3
N是上次的级别,3是当前级别 也就是说机器开机就是3级别
切换级别
init 5
挂载文件系统
/etc/fstab
之一项 是要mount的存储装置的实置或者用卷标
第二项 要挂到哪个目录位置
第三项 指定要挂载的系统格式
第四项 mount时要设定的状态,只读或defauls
第五项 提供DUMP功能,在系统DUMP时需要BACKUP的标志位,其内定位置是 0
第六项 设定开机时文件系统是否要check
除了root的文件系统其必要的check为1 其他视需要而定 默认是0
LABEL=/boot /boot ext3 defaults 1 2
作者“xudeqiang”
ehci_hcd 0000:00:1d.7:port 2 rest err -110
hub 2-0:1.0:hub_port_status failed (err = -32)
md:Autodeltecting RAID arrays
md:Autorun….
md:…autorun DONE
VFS:connot open root device “sda1” or unknow-block(0,0)
please oppend a correct “root=” boot option ; here are the available partitions:
Kernel paric-not syncing: VFS : unable to mount root fs or unknown-block(0,0)
也许是分区没分对,或者LVM
关于linux 只读挂载的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港云服务器机房,创新互联(www.cdcxhl.com)专业云服务器厂商,回大陆优化带宽,安全/稳定/低延迟.创新互联助力企业出海业务,提供一站式解决方案。香港服务器-免备案低延迟-双向CN2+BGP极速互访!
分享文章:Linux只读挂载:如何保护文件系统的完整性?(linux只读挂载)
URL分享:http://www.shufengxianlan.com/qtweb/news42/248742.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联