小编Mat*_*Mat的帖子

为什么mount需要root权限?

为什么 Linux 要求用户是根用户/使用 sudo/每个挂载特别授权才能挂载某些东西?关于是否允许用户挂载某些东西的决定似乎应该基于他们对源卷/网络共享和挂载点的访问权限。非根挂载的几个用途是将文件系统映像挂载到用户拥有的方向,并将网络共享挂载到用户拥有的目录。似乎如果用户可以控制安装方程的两边,一切都应该很酷。

访问限制说明:

我觉得我应该能够挂载用户可以访问的任何内容,否则用户将拥有该用户拥有的挂载点。

例如,在我的计算机上, /dev/sda1 由用户 root 和具有权限的组磁盘拥有brw-rw----。因此,非 root 用户不能弄乱 /dev/sda1 并且显然 mount 不应该允许他们挂载它。但是,如果用户拥有 /home/my_user/my_imagefile.img 和挂载点 /home/my_user/my_image/ 为什么他们不能在该挂载点上挂载该图像文件:

mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop
Run Code Online (Sandbox Code Playgroud)

正如科尔马克指出的那样,存在一个 suid 问题。因此,必须添加一些限制以防止 suid 成为问题以及潜在的其他一些问题。也许一种方法是让操作系统将所有文件视为属于进行安装的用户。但是对于简单的读/写/执行,我不明白为什么这会是一个问题。

用例:

我在实验室有一个帐户,我的家庭空间限制为 8GB。这是很小的,非常非常烦人。我想从我的个人服务器安装一个 nfs 卷,以从本质上增加我拥有的空间量。然而,因为 Linux 不允许这样的事情,我被困在 scp 文件来回保持在 8GB 限制之下。

linux mount linux-kernel

55
推荐指数
5
解决办法
2万
查看次数

内核有 main() 函数吗?

我正在学习设备驱动程序和内核编程。根据 Jonathan Corbet 的书,main()设备驱动程序中没有功能。

所以我有两个问题:

  • 为什么我们不需要main()设备驱动程序中的函数?
  • 内核本身有main()功能吗?

谁可以给我解释一下这个?

drivers linux-kernel

54
推荐指数
3
解决办法
2万
查看次数

如何手动创建DEB文件?

我想手动创建一个 DEB 文件。我只想提供一个包含要安装的数据的文件夹,以及一个安装后要执行的脚本。

这可能吗?

debian

52
推荐指数
2
解决办法
6万
查看次数

如何在不安装的情况下查看软件包版本?

我想在安装之前查看软件包的版本。我怎样才能做到这一点?

debian apt package-management

42
推荐指数
3
解决办法
4万
查看次数

crontab中的斜杠是什么意思?

我在系统中看到了一个 crontab 记录。

0-55/5 * * * *   root  <command>
Run Code Online (Sandbox Code Playgroud)

我阅读了crontab -e示例文件,我知道第一个位置代表分钟。但我无法弄清楚/(斜线)那里的含义。谁能给我解释一下意思?

cron

37
推荐指数
1
解决办法
3万
查看次数

Linux 上的 proc 文件系统多久更新一次?

procLinux 上的文件系统多久更新一次?是 20 毫秒(时间量程)吗?

linux proc

34
推荐指数
2
解决办法
8611
查看次数

为什么`sort &lt;(ls -l)` 有效,而`sort &lt; (ls -l)` 失败?

今天我通过这篇文章学习了一些关于 fifo 的东西:命名管道简介,其中提到了cat <(ls -l).

我使用 做了一些实验sort < (ls -l),它弹出一个错误:

-bash: syntax error near unexpected token `('`
Run Code Online (Sandbox Code Playgroud)

然后我发现我在命令中错误添加了一个额外的空格。

但是,为什么这个额外的命令会导致这个失败呢?为什么重定向符号必须靠近(?

bash process-substitution

32
推荐指数
2
解决办法
2056
查看次数

在 LVM 中交换分区?

我想知道将交换分区放入逻辑卷组是否有任何缺点(例如性能),还是与将其作为单独的主/逻辑分区“完全相同”?

我喜欢这样一个事实,即它可以在必要时轻松调整大小,但不确定可能的缺点。

应用案例:CentOS 7 Webserver。

partition swap lvm system-installation

31
推荐指数
1
解决办法
3万
查看次数

挂载错误“不是块设备”

我正在尝试使用 mount 命令进行olddir访问newdir

mount olddir newdir
Run Code Online (Sandbox Code Playgroud)

为什么会出现以下错误?

mount: olddir 不是块设备

mount

30
推荐指数
2
解决办法
13万
查看次数

如何检查文件系统是否使用脚本挂载

我是脚本新手……我可以做非常基本的事情,但现在我需要帮助。

我有一个本地文件系统,只有在需要备份时才会挂载。

我从这个开始。

#!/bin/bash
export MOUNT=/myfilesystem

if grep -qs $MOUNT /proc/mounts; then
  echo "It's mounted."
else
  echo "It's not mounted."; then
  mount $MOUNT;
fi
Run Code Online (Sandbox Code Playgroud)

正如我所说,我在脚本方面非常基础。我听说你可以mount通过查看返回码来检查命令的状态。

RETURN CODES
       mount has the following return codes (the bits can be ORed):
       0      success
       1      incorrect invocation or permissions
       2      system error (out of memory, cannot fork, no more loop devices)
       4      internal mount bug
       8      user interrupt
       16     problems writing or locking /etc/mtab
       32     mount failure
       64     some mount succeeded
Run Code Online (Sandbox Code Playgroud)

我不知道如何检查。任何指导?

bash mount shell-script

27
推荐指数
3
解决办法
12万
查看次数