我正在为工作开发一个 ksh 脚本。 (我是 shell 脚本的新手)
我有 root 访问权限,但该脚本的未来用户不会。假设另一个用户名为 User1。
脚本中包含对系统中其他可执行文件的命令。当 User1 运行脚本时,这些可执行文件会对 User1 抛出“权限被拒绝”的错误。如何暂时允许 User1 访问脚本中的可执行文件?不仅仅是访问,而是实际运行命令。
我尝试过使用它的许多变体,umask
这有助于在脚本中创建和读取文件,但对执行必要的命令没有任何影响。我也尝试过使用,chmod
但 User1 也无法访问该命令本身,因此在运行脚本时会引发错误。你能想到什么办法来解决这个问题吗?
一些背景:
- AIX(腻子)
$ oslevel; 7.2.0.0
- 克什93
剧本:
#!/bin/ksh
# My Script Introduction
........
# commands from /bin that deny permission to User1
.....
exit
请仅使用 KSH 语法。预先非常感谢您为我提供的任何帮助或见解。
答案1
我想出了一个解决方法。
User1 无法访问的命令本身就是脚本。因此,我手动将这些脚本中的逻辑实现到我的脚本中。这允许 User1 执行命令所需的行为,而无需实际调用命令。
感谢大家抽出宝贵的时间。