当前位置:  开发笔记 > 编程语言 > 正文

来自root帐户的Bash脚本和用户主目录(Linux)

如何解决《来自root帐户的Bash脚本和用户主目录(Linux)》经验,为你挑选了1个好方法。

我正在bash中为Linux上的应用程序编写安装脚本.

此脚本将一些文件复制到/ usr/bin和/ usr/share中,因此需要由root用户执行,此外它还会在$ HOME目录中为配置文件创建一个隐藏目录.

问题是:如果普通用户想要安装程序,他需要是root用户.但如果他是root用户,$ HOME目录将是/ root /而不是/ home/username.



1> Jonathan Lef..:

...而且,如果UserA安装软件,但UserB运行它,UserB将不会有隐藏目录/home/UserB.此外,隐藏目录/home/UserA将由root拥有,而不是userA.

因此,您需要让应用程序创建隐藏目录,而不是安装程序.

另一种可能的选择是不安装在系统目录中; 一个可能的替代位置是/usr/local.但是,即使这样也需要root权限.想想它是否可以安装在其他地方,以及它如何定位其材料.

但是,要求安装root权限并不是世界末日 - 对某些人来说是一种麻烦,但并非完全无序.但要求所有使用root权限的人都会出现故障 - 如果使用它的每个人都需要运行安装程序,那就太糟糕了.

最后一点(现在):如果你使用sudo,它不会改变$ HOME的值,即使你获得root权限也是如此.但是,要求每个使用您的应用程序的人都拥有sudo特权也不是一件好事.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有