zoukankan      html  css  js  c++  java
  • fakeroot与sudo的区别

    fakeroot 可以用来模拟 root 权限,以便建立特定权限与档案拥有者的压缩文件案(tar, ar, .deb 等)。透过 LD_PRELOAD 的 dynamic loader 功能,用户不必实际拥有 root 权限。fakeroot最初是为了创建debian包使用的。
    例如Debian在生成package的时候,编译完之后,不能立刻在当前环境执行make install,需要执行make install DESTDIR=$(pwd)/debian/tmp把生成的文件安装到build目录的里面$(pwd)/debian/tmp。然后使用那个目录里面 的全部内容生成Debian包(实际上包里面还会包含control和maintainer script等)。这个包里面的文件所有者必 须是root,所以需要以root来执行打包命令。但是应该避免在制作Debian包的时候使用root权限。为了解决这个矛盾,fakeroot被开发 出来了。在fakeroot环境中,操作文件就像使用root操作文件一样。但是,实际上系统中文件的权限还是原来的权限。这个包里面的文件所有者必须是 root,所以需要以root来执行打包命令。

    2fakeroot与sudo的区别

    fakeroot不能获得root的权限,sudo可以。
    fakeroot只是伪装成root,它不能改变需要root权限才能改变的文件,它只是让程序执行时按照有root权限的情况来运行,而对文件的操作实际上是在普通用户下进行的。
    1
    2
    fakeroot tar cvf /tmp/local.tar /usr/local
    sudo tar cvf /tmp/local.tar /usr/local
    上面两条命令都会在/tmp下建立local.tar,tar内的文件名都会以/开头,但前一条命令生成的文件属于当前用户,后一条命令生成的文件是root的。

    3示例

    fakeroot 透过 faked 纪录每个档案权限。
    以下的范例是由 fakeroot 执行 bash,并特定指令你可以注意到使用的指令必须拥有超级使用者权限才可正确执行。而这些权限都是暂时由 fakeroot 仿真并纪录。注销 bash 后,所有的档案依然保持原有权限。
    $ whoami
    joost
    $ fakeroot /bin/bash
    # whoami
    root
    # mknod hda3 b 3 1
    # ls -ld hda3
    brw-r--r-- 1 root root 3, 1 Jul 2 22:58 hda3
    # chown joost:root hda3
    # ls -ld hda3
    brw-r--r-- 1 joost root 3, 1 Jul 2 22:58 hda3
    # ls -ld /
    drwxr-xr-x 20 root root 1024 Jun 17 21:50 /
    # chown joost:users /
    # chmod a+w /
    # ls -ld /
    drwxr-xr-x 20 root root 1024 Jun 17 21:50 /
    # chown joost:users /
    # chmod a+w /
    # ls -ld /
    drwxrwxrwx 20 joost users 1024 Jun 17 21:50 /
    # exit
    $ ls -ld /
    drwxr-xr-x 20 root root 1024 Jun 17 21:50 //
    $ ls -ld hda3
    -rw-r--r-- 1 joost users 0 Jul 2 22:58 hda3
  • 相关阅读:
    CPU、内存、硬盘、指令之间的关系
    hadoop配置
    python logging
    python 多线程一(lock)
    Python+OpenCV图像处理(七)—— 滤波与模糊操作
    Python+OpenCV图像处理(六)—— ROI与泛洪填充
    Python+OpenCV图像处理(五)—— 像素运算
    The MathType Dll cannot be found 问题解决办法
    Python+OpenCV图像处理(四)—— 色彩空间
    Python+OpenCV图像处理(三)—— Numpy数组操作图片
  • 原文地址:https://www.cnblogs.com/timssd/p/4735278.html
Copyright © 2011-2022 走看看