我的问题是关于我的自定义shell脚本和自定义shell脚本目录本身的权限和所有权设置。这仅用于我个人计算机的安全性,但我想知道任何情况下的最佳实践。
我的脚本目录是/ usr / local / scripts /
我应该给自己写自己脚本的权限吗?或者root应该是唯一的?
其他人是否应该拥有只读权限?
root应该拥有我的任何脚本/目录的所有权吗?
我仍然在学习UNIX权限,因此试图了解具有某些权限的某些文件的含义仍然在某种程度上使我无法理解。提前谢谢。
答案 0 :(得分:1)
首先,我建议您将无特权的脚本(不需要以root身份执行的脚本)放在您的主文件夹中(通常的做法是将它们放在{{1}中一些发行版甚至将此目录添加到~/bin
,因此您可以从任何目录执行它们。这样您就不必写入root拥有的目录,从而无需成为root用户来编辑它们。
关于执行权限,几乎总是,如果您具有读取权限,则可以通过复制到另一个位置并赋予其执行权限,或者通过以脚本作为第一个参数启动解释器来执行它(例如。{ {1}})。
我认为给别人读取和执行我的脚本权限没有问题,请记住它们将以执行用户的权限执行,而不是你的权限。无论如何,如果他们掌握了知识,他们就能够编写并执行它们。
如果您将脚本放在主目录之外,它们应该是拥有的,并且只能由root编辑(它们可以被所有人读取和执行)。这样,如果root执行它,它知道没有其他人可以更改文件,因此它是安全的。
答案 1 :(得分:0)
我应该给自己写自己脚本的权限吗?或者root应该是唯一的?
我没有看到不给自己写权限的安全理由 - 手动维护系统目录中的脚本是不方便的。如果这些脚本仅供个人使用,最好将脚本放在主目录中的某个位置,可能是~/bin
,然后通过shell中的shell启动脚本将该目录添加到PATH
变量的开头。主目录。这样,您就不需要任何特殊权限来测试脚本。
其他人是否应该拥有只读权限?
除非您想保密脚本的内容,否则授予其他人read
和execute
权限应该不会有问题。
root应该拥有我的任何脚本/目录的所有权吗?
重要的是,其他用户必须没有脚本的写入权限。只要拥有者是您并且您是分配给该文件的组的唯一成员,您就不必担心安全性。将您的脚本放在主目录之外是不方便的,但事情应该没问题。