问题

使用的电脑是ubuntu系统,安装系统时一路默认安装,下来发现分了两个分区, /root分区和/data分区

/data分区空间比较大,在目录下面创建sh执行文件,或者使用gcc编译生成一个执行文件,运行的时候都提示没有权限。

分析

先开始怀疑两个分区的环境变量不一样,但是分别再两个目录下面查看环境变量,都是一样的。

再分析两个分区,两个磁盘,需要挂载到文件系统,查看/data的挂载点:

root@tracy-PC:~# mount|grep data
/dev/nvme0n1p5 on /data type ext4 (rw,relatime)

可以看到括号里的rw,可以看出只有读写,而不是我们常见的rwx

解决

sudo vim /etc/fstab/
将挂载的option改为defaults,然后重启电脑,即可
#/dev/nvme0n1p5 LABEL=DATA
#UUID=e3a33607-cdb7-4d9f-81d8-a0aaa632fef1 /data ext4 rw,user,x-gvfs-show,nosuid,nofail 0 0
UUID=e3a33607-cdb7-4d9f-81d8-a0aaa632fef1 /data ext4 defaults 0 0

扩展



        

分别来解释一下各自的用处:
要挂载的分区或存储设备


挂载的目录位置 挂载分区的文件系统类型,比如:ext3、ext4、xfs、swap 挂载使用的参数有哪些。举例如下:

auto - 在启动时或键入了 mount -a 命令时自动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执行此分区的二进制文件。
noexec - 不允许执行此文件系统上的二进制文件。
ro - 以只读模式挂载文件系统。
rw - 以读写模式挂载文件系统。
user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
users - 允许所有 users 组中的用户挂载文件系统.
nouser - 只能被 root 挂载。
owner - 允许设备所有者挂载.
sync - I/O 同步进行。
async - I/O 异步进行。
dev - 解析文件系统上的块特殊设备。
nodev - 不解析文件系统上的块特殊设备。
suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
nosuid - 禁止 suid 操作和设定 sgid 位。
noatime - 不更新文件系统上 inode 访问记录,可以提升性能。
nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能。
flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.

dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0。

fsck 读取 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。