zoukankan      html  css  js  c++  java
  • Never use absolute path when you create tar

    In unix, especially Solaris, the tar file is dangerous if you create a tar file with absolute path.

    For example:

    We have an very important config files here, if you change the content may cause some problem

    1 bash-2.03$ ls -ltr /home/limingwei/config.txt
    2 -rw-r--r--   1 limingwei mqm            3 Apr  4 15:46 /home/limingwei/config.txt
    3 bash-2.03$ cat /home/limingwei/config.txt
    4 hi

    Someday, you need to tar the file for some reason, and you tar the file with absolute path.

    1 bash-2.03$ tar -cvf config.tar /home/limingwei/config.txt
    2 a /home/limingwei/config.txt 1K
    3 bash-2.03$ ls config.tar
    4 config.tar

    Then a few days later, the content of the config is changed due to some reason. Now the correct content is not "hi". It is "hello world"

    bash-2.03$ cat /home/limingwei/config.txt
    hello world

    So in this situation, if someone who is not clear about this tar file. He may untar this file for some reason.

    bash-2.03$ ls -l config.tar
    -rw-r--r--   1 limingwei mqm         2048 Apr  4 15:47 config.tar
    bash-2.03$ tar -xvf config.tar
    tar: blocksize = 4
    x /home/limingwei/config.txt, 3 bytes, 1 tape blocks
    bash-2.03$ cat /home/limingwei/config.txt
    hi
    bash-2.03$

    Now you can see. The someone`s untar option have overwrite our correct config file.

    So the point is never use absolute path when you create tar. And more importantly, you need to check the tar file before you untar it. Check it with -t option.

    bash-2.03$ tar tvf config.tar
    tar: blocksize = 4
    -rw-r--r-- 100009/105      3 Apr  4 15:46 2013 /home/limingwei/config.txt

    If the someone did this before untar the file, config file will not be overwrite.

  • 相关阅读:
    Intellij idea使用过程中遇到的一些问题
    微信小程序云函数Windows下安装wx-server-sdk
    计算文件MD5的方法
    IntelliJ IDEA取消自动import所有import *
    在IntelliJ IDEA中使用VIM
    STS启动时卡在loading加载 dashboard.ui
    NoSuchMethodError
    BeanUtils.copyProperties和PropertyUtils.copyProperties的使用区别
    一致性哈希算法介绍
    Maven修改本地仓库路径
  • 原文地址:https://www.cnblogs.com/kramer/p/2995537.html
Copyright © 2011-2022 走看看