现在我无法 chmod 它回来.. 或使用我的任何其他系统程序。幸运的是,这是在我一直在玩弄的虚拟机上,但是有什么办法可以解决这个问题吗?系统为 Ubuntu Server 12.10。
我试图重新启动到恢复模式,不幸的是,由于在 init-bottom 可用性运行后权限未授予某些程序,我现在根本无法启动到系统中 - 系统只是挂起。这是我看到的:
Begin: Running /scripts/init-bottom ... done
[ 37.062059] init: Failed to spawn friendly-recovery pre-start process: unable to execute: Permission denied
[ 37.084744] init: Failed to spawn friendly-recovery post-stop process: unable to execute: Permission denied
[ 37.101333] init: plymouth main process (220) killed by ABRT signal
Run Code Online (Sandbox Code Playgroud)
在此之后,计算机挂起。
我有一个需要使用特定 python 安装运行的 Python 脚本。有没有办法制作一个shebang以便它运行$FOO/bar/MyCustomPython?
我难住了。我的/home目录中有一个可执行的脚本:
[user@server ~]$ ll
total 4
-rwx------ 1 user user 2608 Jul 15 18:23 qa.sh
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试用sudo它运行它时说它找不到它:
[user@server ~]$ sudo ./qa.sh
[sudo] password for user:
sudo: unable to execute ./qa.sh: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是一个全新的版本。没有进行任何会导致问题的更改。事实上,脚本的重点是确保它实际上是根据我们的策略构建的。也许它不是并且sudo实际上在构建过程中被破坏了?
我还应该注意,我可以sudo在其他目录中使用其他命令运行。
编辑:脚本(不是/bin/bash我写的,所以请不要把它写在我身上;))
#! /bin/bash
. /root/.bash_profile
customer=$1
if [ -z "$customer" ]; then
echo "Customer not provided. Exiting..."
exit 1
fi
space ()
{
echo
echo '###########################################################################'
echo '###########################################################################'
echo '###########################################################################'
echo
}
g=/bin/egrep
$g …Run Code Online (Sandbox Code Playgroud) 我的例子是 Minecraft。在 Linux 上运行 Bukkit 时,我可以删除或更新 /plugins 文件夹中的 .jar 文件,只需运行“重新加载”命令即可。
在 Windows 中,我必须关闭整个服务器进程,因为当我尝试删除或替换它时,它会抱怨当前正在使用 .jar 文件。
这对我来说很棒,但为什么会发生?Linux 在这里做了什么不同的事情?
我正在编写一个程序来测试学生编写的程序。恐怕我不能相信他们,我需要确保它不会对运行它的计算机造成严重影响。
我正在考虑让一些崩溃测试用户对系统资源的访问受限并以该用户身份运行程序,但从我目前在网上发现的情况来看,制作虚拟系统将是最安全的选择......
有人可以帮助我选择正确的方法吗?安全对我来说是一个大问题。另一方面,我不想要一个矫枉过正的解决方案,并且浪费很多时间来学习我并不真正需要的东西。
为什么sshd重新启动时需要绝对路径,例如/usr/sbin/sshd而不是sshd
是否有任何安全隐患?
PS错误信息:
# sshd
sshd re-exec requires execution with an absolute path
Run Code Online (Sandbox Code Playgroud) 振作起来,这个问题可能会显得幼稚和/或愚蠢,因为我对类 Unix 系统的内部工作以及一般的编程比较陌生。
准备好?好的!我会经历大约 3 个可笑的水平,随着我的进行而增加。
一个正在运行(在此处插入您的 linux 发行版:此后将使用 Ubuntu),另一个正在运行,比如说 Mac OS X。
编译一个等效的程序,让我们这样说:
int main()
{
int cat = 33;
int dog = 5*cat;
return dog;
}
Run Code Online (Sandbox Code Playgroud)
代码非常简单,因为我还不想考虑共享库的含义。
在各自的系统上编译时。输出之间的主要区别不是 ELF 与 Mach-O 的问题吗?如果要剥离格式的每个二进制文件,留下一个平面二进制文件,反汇编的机器指令是不是一样?(根据编译器的习惯/倾向,可能会有一些差异)。
1.)如果要开发一个程序来重新打包从我们的 Ubuntu 系统生成的平面二进制文件,以 Mach-O 格式,它会在 Mac OS X 系统中运行吗?那么,如果只有上面假设程序的编译后的二进制文件,并且有这个用于重新打包平面二进制文件的神秘工具,那么简单的程序是否能够在 Mac OS X 系统上运行?
我们现在有一个带有源代码的程序,例如:
#include <stdio.h>
int main()
{
printf("I like tortoises, but not porpoises");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
2.)假设这个程序被编译并静态链接,我们的神奇程序是否仍然能够以 Mach-O 格式重新打包原始二进制文件并使其在 mac os X 上运行?看到它不需要依赖任何其他二进制文件,(在这种情况下,mac系统不会有)
3.)如果我们使用这个假设的程序将所有必需的共享库转换为 Mach-O 格式,然后使用动态链接编译上面的程序会怎样。程序还能成功运行吗? …
例如:
$ node
-bash: /usr/local/bin/node: No such file or directory
$ foo
-bash: foo: command not found
Run Code Online (Sandbox Code Playgroud)
有什么不同?在这两种情况下,node和foo无效的命令,但它似乎像Unix那样只是找不到node二进制?卸载程序时,例如node,有没有办法清理它,以便我得到
$ node
-bash: node: command not found
Run Code Online (Sandbox Code Playgroud)
编辑:
type命令的结果:
$ type node
node is hashed (/usr/local/bin/node)
$ type foo
-bash: type: foo: not found
Run Code Online (Sandbox Code Playgroud) 输入/usr/bin/env sed -f终端工作。
但如果将其用作shebang,
#!/usr/bin/env sed -f
s/a/b/
Run Code Online (Sandbox Code Playgroud)
脚本将无法执行:
/usr/bin/env: sed -f: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我有点相信它与-f有关。但是如何解决这个问题呢?
在 NixOs 上运行非 nixos 可执行文件有哪些不同的方法?我也想看看手动方法。
executable ×10
linux ×3
bash ×2
security ×2
shell-script ×2
chmod ×1
command-line ×1
env ×1
filesystems ×1
nixos ×1
path ×1
permissions ×1
programming ×1
python ×1
scripting ×1
sed ×1
sshd ×1
windows ×1