相关疑难解决方法(0)

粘性位如何工作?

SUID

粘着位应用到可执行程序标记系统,以保持节目的图像在内存中后,该程序运行完毕。

但我不知道它在内存中存储了什么。在这种情况下,我如何才能看到它们。?

filesystems permissions

160
推荐指数
2
解决办法
31万
查看次数

了解 UNIX 权限和文件类型

chmod直到今天,我才真正了解如何工作。我遵循了一个向我解释了很多事情的教程。

例如,我了解到您拥有三个不同的权限组:

  • 业主 ( u)
  • 组 ( g)
  • 大家(o

基于这三个群体,我现在知道:

  • 如果文件归用户所有,则用户权限决定访问权限。
  • 如果文件所在的组与用户所在的组相同,则组权限决定访问权限。
  • 如果用户不是文件所有者,并且不在组中,则使用其他权限。

我还了解到您拥有以下权限:

  • 读 ( r)
  • 写 ( w)
  • 执行 ( x)

我创建了一个目录来测试我新获得的知识:

mkdir test
Run Code Online (Sandbox Code Playgroud)

然后我做了一些测试:

chmod u+rwx test/
# drwx------
chmod g+rx test/
# drwxr-x---
chmod u-x test/
# drw-r-x---
Run Code Online (Sandbox Code Playgroud)

经过一段时间的鬼混后,我想我终于掌握chmod了使用此命令设置权限的方法。


但...

我还有几个问题:

  • 什么是d在开始代表什么?
  • 包含插槽的名称和用途是什么?它还能容纳哪些其他值?
  • 如何设置和取消设置?
  • 这有什么价值d?(因为你只有 7=4+2+1 7=4+2+1 7=4+2+1)
  • 为什么人们有时会使用0777而不是777来设置他们的权限?

但因为我不应该问多个问题,所以我会尝试用一个问题来问它。

在基于 UNIX 的系统(例如所有 Linux 发行版)中,关于权限,第一部分 ( d) …

linux ls permissions chmod

85
推荐指数
4
解决办法
7万
查看次数

我可以创建一个 *super* 超级用户,以便我实际上可以拥有一个可以拒绝 root 权限的用户吗?

我认为拥有比 root 用户更高权限的用户可能是有利的。

你看,我想保留所有的活动和几乎所有现有的 root 用户权限,就像现在一样。

但是,我希望能够在极其孤立的情况下拒绝root 权限。

这样做的好处之一是可以防止在更新期间安装某些不需要的文件。这只是一种可能优势的示例。

因为 apt-get 更新是由 root 或以 sudo 权限运行的,所以 apt-get 能够在更新期间替换某些不需要的文件。

如果我可以拒绝这些特定文件的这些权限,我可以将它们设置为指向/dev/null或可能有一个空白占位符文件的 simlink,该文件可能具有拒绝在更新期间替换文件的权限。

此外,我不禁想起在接受其中一位 Ubuntu 创作者采访时所说的一句话,当时他说用户如何更好地信任“我们”(指的是 Ubuntu 开发者)“因为我们有 root " 这是对如何使用 root 权限执行系统更新的参考。

简单地改变安装过程来解决这个问题绝对不是我在这里感兴趣的。既然我已经对拥有拒绝 root 访问权限的想法有了一种品味,我想找出一种方法来实现这一点,只是为了做到这一点。

我只是想过这个,到目前为止还没有花任何时间在这个想法上,我相当有信心可以解决这个问题。但是,我很想知道这是否已经完成,或者这是否可能不是一个新想法或概念。

基本上,似乎应该有某种方法可以让超级超级用户拥有超出系统权限的权限仅一级。


注意:虽然我觉得接受的答案最符合标准,但我真的很喜欢@CR 的答案。还。

我想在树上创建一个实际用户(我),但我想我只需要在有一天我有时间弄清楚的时候坐下来。

此外,我不是要在这里选择 Ubuntu;如果我对它感到消极,我不会将它用作我的主要发行版。

users root permissions sudo

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

如何使用 capsh:我正在尝试以最少的功能运行无特权的 ping

我正在 Debian Gnu/Linux 上试验功能。

我已将 /bin/ping 复制到我当前的工作目录。正如预期的那样,它不起作用,它最初是 setuid root。

然后,我通过执行 来为我的 ping 提供最小的功能(不是 root)sudo /sbin/setcap cap_net_raw=ep ./ping,并且我的 ping 可以正常工作。

然后sudo /sbin/setcap -r ./ping撤销那个能力。它现在没有按预期工作。

我现在尝试使用capsh.

capsh 没有权限,所以我需要以 root 身份运行它,然后删除 root 并因此删除所有其他权限。

我想我也需要secure-keep-caps,这在 中没有记录capsh,但在能力手册中。我从/usr/include/linux/securebits.h. 它们看起来是正确的,因为输出--print显示这些位是正确的。

我已经摆弄了几个小时,到目前为止我有这个。

sudo /sbin/capsh --keep=1 --secbits=0x10 --caps="cap_net_raw+epi" == --secbits=0x10 --user=${USER} --print -- -c "./ping localhost"

但是ping有错误ping: icmp open socket: Operation not permitted,这是当它没有能力,会发生什么。也--print说明了Current: =p cap_net_raw+i,这还不够我们需要e。 …

capabilities

24
推荐指数
4
解决办法
1万
查看次数

为什么要以系统用户身份运行服务?

我有一个关于 UNIX 世界的一般问题。

我目前在家里运行 Ubuntu 并在设备上安装了传输,它作为传输 debian用户运行并保存文件。我想知道将它更改为我自己的用户是否有意义,这样与文件交互更容易,我不需要sudo?为什么这样做是个坏主意?

users ubuntu files transmission

21
推荐指数
1
解决办法
3165
查看次数

更改我拥有的文件的 gid(组)的权限被拒绝

看来我仍然想念有关权限工作方式的一些事情。顺便说一句,我在 debian 7 系统上。刚才我有我下载的这个文件,它属于myuser:myuser,即用户和组都设置为我。它也驻留在我的$HOME目录中,因为那是我下载它的地方。

到现在为止还挺好。现在我想与电脑的其他一些用户共享这个文件,为此我想将文件的组所有权切换到组“用户”。但是失败了:

nass@quarx:~/xmas_carol$ chgrp -R users * 
chgrp: changing group of movie.mov': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

文件夹的内容是:

-rwxr-xr-x 1 nass nass 2482411461 Feb  6 03:57 movie.mov
Run Code Online (Sandbox Code Playgroud)

我对权限的情况感到模糊。有人能解释一下吗

permissions

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

真实有效的用户 ID 是如何工作的?

当普通用户想要更改 passwd 文件时,用户将通过 setuid 获得有效用户访问权限。用户暂时成为 root,可以编辑密码。

但是,您只能正确编辑密码,而不是其他所有人?但是,您的有效用户访问权限是 root。那么为什么除了您的密码之外,您不允许更改其他密码?

当你用 setuid 运行一个程序时,当有效用户是 root 而真正的用户 ID 仍然是你的名字时,这实际上意味着什么?

setuid

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

为什么即使我有组权限,也会收到“权限被拒绝”错误?

我正在尝试在 Manjaro Linux 中运行一个名为“Dofus”的游戏。我已经用打包器安装了它,把它放在/opt/ankama文件夹下。该文件夹的所有权(以及其中的每个文件)是 root 用户和游戏组。按照安装包的指示,我已将自己(用户familia)添加到游戏组中(如果不这样做,“每次尝试运行更新程序时我都必须输入密码”)。

但是,在运行游戏时,它在输入我的密码后崩溃(这不应该是必需的)。检查日志,我遇到了一些类似的错误:

[29/08 20:44:07.114]{T001}INFO    c/net/NetworkAccessManager.cpp L87  : Starting request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D
[29/08 20:44:07.291]{T001}INFO    c/net/NetworkAccessManager.cpp L313 : Request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D Finished (status : 200)
[29/08 20:44:07.292]{T001}ERROR   n/src/update/UpdateProcess.cpp L852 : Can not cache script data
Run Code Online (Sandbox Code Playgroud)

所以,我怀疑 Permission Denied 错误。启动后片刻出现错误信息在此处输入图片说明

这意味着“写入磁盘时发生错误 - 请验证您是否拥有足够的权限和足够的磁盘空间”。

然后,经过一些研究,我遇到了“auditd”,它可以记录文件夹中的文件访问。设置好之后,查看哪些文件访问不成功,就是这个结果

所有这些错误实际上都指向一个唯一的文件,/opt/ankama/transition/transition,并带有对 ( open)的系统调用。此文件的权限为rwxrwxr-x( 775)。所以,我对它有 rwx 权限,但它给了我一个错误exit -13,这是一个EACESS错误(权限被拒绝)。

我已经尝试重新启动计算机,登录和注销。他们都没有工作。

如果我将文件夹权限设置为familia:games,它就可以毫无问题地运行,我什至不需要输入密码。然而,这种方式似乎不太对。即使我有读/写/执行权限,为什么我会收到 Permission Denied 错误的任何想法?

马克说过我可能需要在路径前缀的所有目录中获得 +x 权限。路径本身是/opt/ankama/transition/transition …

permissions games audit linux-audit

9
推荐指数
1
解决办法
2万
查看次数

如何创建一个只有 sudo 可以读取的文件?

我想在我的计算机上有一个文件来存储特定的令牌(而不是让它们只是导出到 shell env)。因此,我希望令牌只能由 sudo 读取,因此访问它需要授权。如何编写只能由 sudo 读取的文件?

sudo chmod

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

特定文件夹的用户权限列表

如何获取有权访问某个文件夹的用户及其拥有哪些权限的列表?

我已经尝试过最常见的,如“ls”、“namei”或“getfacl”

linux users permissions

7
推荐指数
1
解决办法
4万
查看次数