linux挂载命令mount-43

linux挂载命令mount

在linux里面所有的可存储设备都需要挂载后才可以正常使用,不过硬盘是系统自动挂载,但是u盘,光盘,移动硬盘等就需要我们手动进行挂载了。
相当于为设备分配一个盘符。
一、查询与自动挂载
1、挂载查询
[root@localhost ~]# mount -l
查询系统中已经挂载的设备,-l会显示卷标名称。与不加-l效果一样。
如图:
挂载查看命令mount

2、自动挂载
[root@localhost ~]# mount -a
依据配置文件/etc/fstab的内容,自动挂载
需要注意的是光盘和u盘或移动硬盘都不要设置为自动挂载,因为一旦光驱里没有光盘媒体或移动设备出问题就会导致系统检测失败而崩溃。

二、挂载命令的格式
[root@localhost ~]# mount [-t 文件系统][-L 卷标名] \
[-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,硬盘的文件系统为ext3、ext4。光盘设备的文件系统类型为iso9660。

-L 卷标名: 挂载指定卷标的分区,而不是按照设备文件名挂载。
-o 特殊选项:可以指定挂载的额外选项。

这个命令看起来挺复杂,但其实我们平时用的时候一般不用加选项,直接用mount+设备文件名+挂载点即可,比如我们前面学习的挂载光驱:
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom
也就是说如果不加选项的话就代表选项为默认。

1、这里特别说明一下-o特殊选项,这个额外选项有好多参数:
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新。

async/sync : 异步/同步,默认为异步

auto/noauto :自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动。

defaults: 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项。

exec/noexec:执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许

remount :重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

rw/ro:读写/只读,文件系统挂载时,是否具有读写权限,默认为rw

suid/nosuid: 具有/不具有suid权限,设定文件系统是否具有suid和sgid的权限,默认是具有

user/nouser :允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区

usrquota :写入代表文件系统支持用户磁盘配额,默认不支持

grpquota : 写入代表文件系统支持组磁盘配额,默认不支持。

2、这里我们比较常用的就是从新挂载参数remount,以及exec/noexec.
比如我们修改了挂载分区文件系统的一些参数,而不想从新启动系统,这时候就只需要从新挂载一下这个分区就可以了,命令写法:
[root@localhost ~]# mount -o remount /home
这样就从新挂载了/home分区了。

3、exec一般主要用于服务器系统中用户上传文件的目录分区设置为不允许执行可执行的文件,避免用户上传了木马病毒执行后影响了整个系统。
用法比如:
[root@localhost ~]# mount -o remount,noexec /home
这样就禁止了home分区里的可执行文件的执行能力。remount,noexec两个参数中间用逗号隔开,也就是添加多个参数的话中间用逗号隔开。
而正常情况下不建议大家修改这些分区系统默认选项。

那么其实有的时候我们某个可执行文件不能执行并不一定是权限的问题,可能就是这个分区被禁用了执行文件的执行。
比如我们先把home目录的分区参数设置为不允许执行可执行文件,
[root@localhost ~]# mount -o remount,noexec /home
然后我们来到Home目录下。
[root@localhost ~]# cd /home
如图:
mount -o特殊选项
然后我们在这个目录下添加一个可执行脚本
[root@localhost ~]# vi hello.sh
linux里我们所有的脚本文件内容都必须以#!/bin/bash开头,代表我们后面的内容是bash脚本,
如图:
linux脚本编辑
然后wq保存,并且给他赋予可执行权限755.

那么这个时候我们来执行一下这个脚本,执行脚本的写法为:
./hello.sh
或者用绝对路径也一样:
/home/hello.sh
然后大家看看是不是能执行,如图:
linux挂载命令 noexeo参数
看,他竟然说我们权限不够,图中我们看到了,首先这个文件是有执行权限x的,最主要的是我们是root超级用户啊,为什么都不可以执行呢?

呵呵,原因很简单,因为刚才我们设置了这个目录的可执行文件的禁止执行参数noexec,所以任何人都不能执行。
那么我们现在把/home目录的参数修改为exec,就是可执行,然后我们再试试这个脚本是不是可以执行,如图:
linux挂载命令mount
看,现在是不是就可以执行了,输出了hello world。

这就是exec和noexec的作用,正常操作服务器的时候,我们就可以把普通用户用于上传的目录设置为禁止执行,这样就维护了服务器的安全。

本教程原创作者:mageo,出自每集博客,尊重作者劳动,转载请注明出处:http://www.ql2015.cn,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值