fakeroot

fakeroot

简介

fakeroot ubuntu manpage的解释如下

fakeroot - run a command in an environment faking root privileges for file manipulation

fakeroot建立一种环境,在里边运行的命令可以以假的root权限操作文件。 读完上面这一句还是不太明白它有什么用,到底怎么用。
下面又有一句

This  is useful for allowing users to create archives (tar, ar, .deb
       etc.) with files in them with root permissions/ownership.  Without fakeroot one would need
       to  have  root privileges to create the constituent files of the archives with the correct
       permissions and ownership, and then pack them up, or  one  would  have  to  construct  the
       archives directly, without using the archiver.

它主要用来打包或者用来生成image,假如没有fakeroot,要做具有root权限文件的包的话,需要做的事情既多又麻烦, 首先切换到root权限,修改目录中所有文件为root权限,打包, 完了之后还需要把权限改回来。
有fakeroot就很方便了,在fakeroot环境中,只需要做打包动作,里边的所有文件自动的都是root权限。

fakeroot使用

rootfs目录是一份根文件系统目录,它的用户和组是本机登陆用户
fakeroot_第1张图片
进入fakeroot环境,文件的owner和group自动变为root。 exit 退出fakeroot, 文件的owner和group还原。
退出fakeroot后就返回普通用户状态,fakeroot只在运行过程中起作用。
在fakeroot中打包
fakeroot_第2张图片
可以看到包内的uid和gid是root用户的id。
所以这份image使用时他内部文件的权限就是root权限。

fakeroot的一般用法是fakeroot – script, script是shell脚本,把需要再root权限执行的命令写在脚本里边。
参考
https://blog.kghost.info/2011/02/11/使用fakeroot模拟root权限执行程序/

你可能感兴趣的:(Linux,Programming,&,Tools,fakeroot)