gpt4 book ai didi

php - 编辑 sudoers 文件不生效

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:20 26 4
gpt4 key购买 nike

各位程序员,

我正在做我的学士项目,遇到了一点问题。

目标是创建一个 Web 应用程序,它可以操作和修改 WAGO PLC 750-8202(您可以将其想象成某种工业 Raspberry PI)的 I/O,它运行带有 lighttpd Web 服务器的嵌入式 Linux。我制作了一些使用 PLC 提供的 DAL(HAL) 函数的 C 脚本。

现在我想将它与我的网络应用程序/站点链接起来。我有一个简单的 PHP 页面(忽略按钮,它什么都不做):

<html>
<head>
<title>PHP Test</title>
</head>
<body>
<button value="CLICK ME">CLICK ME</button>
<?php
echo system("kbusdemo1");
?>
</body>
</html>

kbusdemo1 执行但没有正确使用 DAL 提供的功能,它给我一个错误。如果我以 root 身份运行该脚本,它会完美运行。我发现问题在于 www 用户权限(我的网络服务器 lighttpd 使用),所以我尝试使用

编辑 sudoers
sudo nano /etc/sudoers

Visudo 没有在PLC linux 系统中实现,所以我不得不直接打开它。我将其更改为下面发布的代码,但如果我尝试以 lighttpd 用户身份(使用 su www)运行 C 脚本,它仍然不起作用。我做错了什么?

感谢您的建议。

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root ALL=(ALL) SETENV: ALL
admin ALL=NOPASSWD: /etc/config-tools/get_user_info user
ALL=NOPASSWD: /etc/config-tools/get_user_info
www ALL=(ALL) NOPASSWD:ALL

# Uncomment to allow people in group wheel to run all commands
# and set environment variables.
# %wheel ALL=(ALL) SETENV: ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: SETENV: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

最佳答案

谢谢大家的帮助。我让它工作了,我没有从 PHP 文件中将脚本调用为 sudo。正如您所建议的,我更改了 sudoers 中的行以仅允许一个特定的脚本,因此对我来说没有安全漏洞。

关于php - 编辑 sudoers 文件不生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43734661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com