- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
启用setuid(rws) 的文件权限。
文件所有者:vaisakh
vaisakh@computer:~/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
切换到另一个用户 var23
vaisakh@computer:~/me$ su var23
Password:
重新检查权限
var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
var23 也可执行
var23@computer:/home/vaisakh/me$ ./vaisakh.sh
Its vaisakh
total 4
-rwsr-xr-x 1 vaisakh vaisakh 60 May 3 17:05 vaisakh.sh
Checking the write permission.
注意: 只有 vaisakh(所有者)有写入权限。
但是由于启用了 s(setuid),文件将在拥有者 (vaisakh) 的权限 (rws) 下执行。
( 意味着它将允许 'var23' 写入文件 )
var23@computer:/home/vaisakh/me$ vim vaisakh.sh
var23编辑文件后,再次检查文件权限。
var23@computer:/home/vaisakh/me$ ls -l
total 4
-rwxr-xr-x 1 var23 var23 67 May 3 17:09 vaisakh.sh
var23@computer:/home/vaisakh/me$
文件内容vaisakh.sh.
var23@computer:~/var23/Prometheus/me1$ cat vaisakh.sh
#!/bin/sh
echo "Its vaisakh"
ls -l
var23@computer:~/var23/Prometheus/me1$
问题:
setuid是否只适用于执行标志?
例如:- 如果实际文件权限为4711,则非所有者用户无法读取它。 为什么不提升所有者权限 4711 并允许其他人阅读内容。
最佳答案
Note: Only the vaisakh(owner) have write permission.
But since the s(setuid) is enabled, file will execute with owner(vaisakh)'s permission(rws).
没有。 setuid 位仅对 true 可执行文件有意义,对脚本或文本文件均无效。
我在 chmod (1)
的联机帮助页上说(强调我的):
4000 (the setuid bit). Executable files with this bit set will run with effective uid set to the uid of the file owner...
但是当您运行一个 shell 脚本时,可执行文件确实是 /bin/sh
(或您使用的任何 shell)。
那么在编辑时发生了什么? vim
实际上以只读模式打开原始文件(应该警告它不可写)。在保存时,原始文件被重命名为备份文件,并使用当前文件内容创建一个普通的新文件。根据编辑器配置,备份文件可能会立即删除。因此,真正重要的是对包含该文件的文件夹的写入权限。顺便说一句,这也解释了为什么文件丢失了 setuid 位。
关于linux - 困惑 : File ownership changed with setuid special permission flag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50154737/
我想检查是否可以限制架构的所有权不被另一个角色继承。我有一个托管架构,它由角色A拥有(具有所有权特权)。角色B继承角色A,但我不希望角色B继承所有权特权。。这种设置在雪花中可能吗?也就是说,在这种情况
以下代码: public string add_button_tooltip_markup { get { return add_button.get_tooltip_markup (); }
我一直在研究 Cake 的 Auth/ACL 组件。我已经阅读了文档并完成了教程,但我仍然对我实际可以完成的事情不满意。我见过couple的other接近,但我不能说,因为我确实有一个直接的赢家。在我
对措辞表示歉意,我真的找不到其他方式来表达它。 我有一个像这样的历史表: id date from_id to_id 1 2010-01-01 A B 1
由于我的母语不是英语,所以我可能会遗漏一些东西,所以也许这里有人比我更了解。 取自WSASend MSDN 上的说明: lpBuffers [in] A pointer to an array of
我阅读了以下帖子 association owned by classifier and association owned by relationship in UML Setting the as
仍在寻找解决方案 (2/24/16) 我的用户模型与组之间存在 has_many :through 关系。所以用户有很多组,组有很多用户,但我也想由一个用户建立组的所有权,他可以做出最终的决定。 这个
我正在编写一个小的 Java 程序,它应该运行一个外部程序将图像复制到系统剪贴板(即 Windows 7“截图工具”),等待它完成,将图像从剪贴板保存到磁盘并将 URL(可以从中访问图像)复制到剪贴板
我在图形应用程序上工作,并且一直在使用共享指针和唯一指针,主要是因为它为我处理内存重新分配(又名方便),这可能很糟糕(如果这就是我使用它们的原因)。 我最近在 Stackoverflow 上阅读了一个
我对 Android 11 中的存储更改有疑问。如果我理解正确,应用程序可以读取/写入/删除它创建的文件。我也可以像这样访问这些文件: File path = new File(Environment
谁能帮我澄清一下QML Repeater docs意思是首先说 “Items instantiated by the Repeater are inserted, in order, as child
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有一个方法将间接指针作为参数,如果有错误,则将其设置为错误对象。我正在尝试打开尽可能多的警告。但其中之一 - Implicit ownership types on out parameters -
我正在使用 Boost.Python 向 python 公开一个 C++ 树类。节点类持有子节点列表并提供方法 void add_child(Node *node) Node 类获取提供的 Node
基于 this Stroustrup 建议“函数中的指针不应表示所有权” 问题> 有人可以给我一些详细的解释吗?最好能举例说明。 谢谢 最佳答案 如果某个代码负责删除指针或将所有权转移给其他人,则该指
我正在尝试在 docker 容器中运行 postgresql,但当然我需要让我的数据库数据保持持久性,所以我尝试使用仅数据容器来公开卷以在此位置存储数据库。 所以,我的数据容器有这样的 Dockerf
我对string::assign方法的理解有些差距。考虑以下代码: char* c = new char[38]; strcpy(c, "All your base are belong to us!
我有一个基于 Ruby on Rails 的站点,我需要在其中运行 rake assets:precompile 以获得正确的预编译 Assets 。但是,每当我运行此命令时,我应用程序的 tmp 目
我已经设置了一个服务帐户来复制用户上传的文件。如何将所有权转移到不同的电子邮件地址? 我有: new_permission = {'value': 'me@example.com', 'type':
我一直在尝试包装 CPointer 类型的 native 对象,认为该对象控制底层 native 对象的生命周期。 在 C++ 术语中,我会做类似的事情: class T { private: U
我是一名优秀的程序员,十分优秀!