AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 457630
Accepted
Steffi Ma
Steffi Ma
Asked: 2018-07-22 02:30:54 +0800 CST2018-07-22 02:30:54 +0800 CST 2018-07-22 02:30:54 +0800 CST

如何写访问默认的 /etc/init.d

  • 772

我正在尝试在 Ubuntu 16 中安装Proteios软件。该软件的要求之一是

  • (*) 对 $SERVICE_PATH 的写入权限(默认 /etc/init.d)

我怎样才能做到这一点?

ubuntu sysvinit
  • 2 2 个回答
  • 3252 Views

2 个回答

  • Voted
  1. Best Answer
    telcoM
    2018-07-22T03:18:25+08:002018-07-22T03:18:25+08:00

    说明说安装脚本应该以 root 身份运行:此时它应该具有对所有内容的完全写入权限。

    如果软件没有以root身份运行,/etc/init.d安装后仍然需要访问,这是很不寻常的,但如果确实需要,可以安排:

    1.) 创建一个组。你可以随意命名它。选项-r使用分配给系统组的 GID 编号范围创建它,因此它不会与与普通用户关联的组混淆:

    sudo groupadd -r proteios
    

    2.) 将需要写入权限的用户添加/etc/init.d到该组:

    sudo usermod -a -G proteios someuser
    

    3.) 将组所有权分配/etc/init.d给新组。如果多个用户需要这个,只需根据需要多次重复此步骤:

    sudo chgrp -R proteios /etc/init.d
    

    4.)分配组写访问权限:

    sudo chmod -R g+rwX /etc/init.d
    

    5.) 确保在该目录中创建的所有新文件默认归该proteios组所有:

    sudo chmod g+s /etc/init.d
    

    我宁愿先在一个废弃的虚拟机中完成所有这些,看看这个 Proteios 软件实际上想要做什么/etc/init.d。该软件似乎有一个内置假设,即安装 Proteios 的计算机将仅用于 Proteios 而不会用于其他任何内容,因此它不需要过多关注安全性或标准约定——这是一个危险的假设。


    如果事实证明该软件只想修改自己的启动脚本,但这样做的方式是仅对脚本本身的写访问权是不够的(例如,它想在创建新文件之前备份旧文件) ,那么我可能不会向真实添加权限/etc/init.d,而是尝试通过在其他地方(例如/opt/proteios/etc/init.d)创建具有适当权限的目录来重定向应用程序,添加

    export SERVICE_PATH=/opt/proteios/etc/init.d
    

    到 Proteios 启动脚本的开头和使用 Proteios 的任何用户的环境,然后从自定义目录中创建的(每个)Proteios 启动脚本创建符号链接回到真实的/etc/init.d:

    sudo ln -s /opt/proteios/etc/init.d/* /etc/init.d/
    

    这样,Proteios 可以随意修改自己的文件,但不能修改其他系统服务。如果它想添加其他以前未知的启动脚本,管理员将需要为它们创建符号链接,如果这些脚本需要在启动时实际启动。这应该可以防止用户通过 Proteios 操作其他系统服务。

    • 3
  2. Kusalananda
    2018-07-22T03:06:25+08:002018-07-22T03:06:25+08:00

    先决条件是对($SERVICE_PATH默认情况/etc/init.d下)和对$CATALINA_HOME.

    该文档没有说明您应该以哪个用户身份运行命令,但该用户需要拥有这两个路径,是对这些路径具有写入权限的组的一部分,或者在运行需要的命令时切换到 root 帐户写入这些路径。

    例如,文档说要config在$CATALINA_HOME/webapps/proteios/WEB-INF. 为此,配置文件必须可由编辑文件的用户写入。

    没有明确说明需要写入这些路径的其他步骤,但我的猜测是运行提到的install,update和init脚本可能需要这个(说明确实说以 root 身份运行这些)。

    • 0

相关问题

  • 使 Apple 键盘设置在 ../hid_apple/parameters/ 中持久化

  • 用文件中的点绘制二维图形

  • 如何验证我使用 9.9.9.9 作为 DNS?

  • 并行安装多个 linux 发行版

  • 自编译 OpenVPN 不会从 systemd 启动

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve