首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何暂时离开fakeroot环境

如何暂时离开fakeroot环境
EN

Unix & Linux用户
提问于 2020-04-20 18:06:33
回答 1查看 307关注 0票数 0

若要运行某些测试,我希望取消对文件夹的写入权限。这是一个最小的例子:

代码语言:javascript
复制
$ mkdir test
$ chmod a-w test
$ touch test/test || printf '%s\n' "write permissions successfully revoked"
touch: cannot touch 'test/test': Permission denied
write permissions successfully revoked

但是,如果我使用fakeroot运行它,这是行不通的:

代码语言:javascript
复制
$ fakeroot sh  
# mkdir test
# chmod a-w test
# touch test/test || printf '%s\n' "write permissions successfully revoked"
# ls test
test

有关为什么不能工作的解释,请参见下面的问题,例如:与更改的权限有关

然而,我的问题是:我怎样才能避开这一切呢?我可以暂时禁用chmod命令的fakeroot吗?或者我可以让fakeroot的许可更改永久不变吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-04-20 18:08:50

fakeroot正在使用一个LD_PRELOAD黑客来加载一个小型共享库,该库覆盖了一些库函数,如chmod(2)chown(2)等。有关详细信息,请参阅ld.so(8)手册(这个站点上还有很多示例)。

只要运行LD_PRELOAD环境变量未设置或设置为空字符串的命令,就不会加载该库:

代码语言:javascript
复制
$ fakeroot sh
$ chown root:root fo.c
$ LD_PRELOAD= chown root:root fo.c
chown: changing ownership of 'fo.c': Operation not permitted
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/581376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档