2401_88866096 2024-11-10 01:07 采纳率: 0%
浏览 4

linux 第八题真的干不出来!

这第八题到底是什么坑?
琢磨了一千零一夜
请各位支招!
必定感激不尽!

img

img

  • 写回答

2条回答 默认 最新

  • 无疆76 2024-11-10 08:35
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据您提供的描述,我理解您正在尝试解决Linux环境下的脚本编写和文件权限问题。我会尽力帮助您解决这些问题。

    关于第八题的问题描述较为模糊,所以我将根据之前的描述进行解答。假设您的问题是如何使得新建的vistor用户能够直接运行srun但不能通过sh间接运行。这里的关键是使用chmod命令设置适当的权限,以及使用文件访问控制列表(ACL)对特定用户进行权限控制。下面是如何实现这个需求的步骤:

    首先,创建vistor用户(如果已经存在该用户,可以跳过这一步):

    useradd vistor
    

    接着,使用chmod命令为srun设置执行权限,但不允许任何人通过sh间接运行它。这个操作可能比较复杂,因为无法直接阻止通过sh间接运行的情况。但是我们可以设置执行权限只对特定用户开放,这样即使通过sh间接运行也需要验证该用户的权限。具体操作如下:

    给srun设置执行权限,但只允许特定的用户执行:

    chmod 700 srun  # 仅设置拥有者的执行权限
    chown vistor srun  # 将文件拥有者更改为vistor用户
    

    接下来是使得vistor用户可以通过sh间接运行run.sh的步骤。将run.sh的权限设置为可读可写可执行:

    chmod 755 run.sh  # 设置拥有者有读、写和执行权限,组用户和其他用户只有读和执行权限
    

    同时,您需要确保run.sh中的func函数可以正确执行计算积和和的操作。如果计算没有问题的话,最后确保文件的所有权已经更改到vistor用户,并且设置了适当的权限。这样vistor用户就可以直接运行srun并通过它间接运行run.sh中的函数了。不过请注意,这种方法并不能完全阻止通过sh间接运行的行为,但可以限制非授权用户的直接执行权限。如果需要更严格的控制,可能需要考虑使用其他安全机制或系统配置。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月10日