相关疑难解决方法(0)

/sbin/nologin 和 /bin/false 有什么区别

从技术上讲,除非pam设置为检查您的 shell pam_shells,如果您不在shell 上,这两种方法实际上都不能阻止您的登录。在我的系统上,它们的大小甚至不同,所以我怀疑它们实际上做了一些事情。那么有什么区别呢?为什么它们都存在?为什么我要使用一个?

-rwxr-xr-x 1 root root  21K Feb  4 17:01 /bin/false
-rwxr-xr-x 1 root root 4.7K Mar  2 14:59 /sbin/nologin
Run Code Online (Sandbox Code Playgroud)

shell security login

209
推荐指数
4
解决办法
27万
查看次数

了解 Linux 二进制文件在做什么

我最近有一项任务是理解二进制 Linux 程序。但是,该程序是二进制形式的。

我使用了命令file,stringsobjdump对它在做什么以及它调用了什么函数有一个初步的了解。

似乎二进制文件是用调试信息编译的。我还能学到什么?

linux reverse-engineering

62
推荐指数
1
解决办法
3万
查看次数

显示程序访问哪些文件的工具?

我不会使用像 AppArmor 抱怨模式这样的复杂工具,我需要简单的工具来告诉我特定程序访问了哪些文件。

linux process open-files files

12
推荐指数
3
解决办法
2308
查看次数

为什么`strace` 不显示这个进程正在等待什么?

强者strace让我失望。这怎么可能?


time foo显示foo需要几秒钟才能运行(“真实”),但在用户空间(“用户”)和内核(“系统”)中使用的 CPU 时间可以忽略不计。对于好奇,foo定义如下。

所以它大部分时间都在等待其他东西,而不是执行 CPU 指令。通常,我可以看到它是如何等待的strace——即长时间阻塞的系统调用。不幸的是,这种方法不起作用。

strace -ttt -T -C -w foo显示系统调用、时间戳以及在系统调用中花费的(实际)时间的摘要。但是这个特定的过程显示在系统调用中花费的整体(真实)时间可以忽略不计。


foo实际上是journalctl -b -u dev-hugepages.mount。除了我每次都必须将最后一个参数更改为不同的 systemd 单元才能重现这一点。换句话说,我正在调查的延迟发生在我第一次尝试获取任何一个 systemd 单元的日志时。 编辑:回答主要问题后,我也意识到我遇到这个问题的原因重现了 delay

此过程所花费的时间是一个特定问题,显然并非在所有系统上都会发生。https://github.com/systemd/systemd/issues/7963

performance time strace

11
推荐指数
1
解决办法
1711
查看次数

高山版本排序

sort -V在alpine linux下怎么办?

sort: unrecognized option: V
BusyBox v1.28.4 (2018-12-06 15:13:21 UTC) multi-call binary.

Usage: sort [-nrugMcszbdfiokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...

Sort lines of text

    -o FILE Output to FILE
    -c  Check whether input is sorted
    -b  Ignore leading blanks
    -f  Ignore case
    -i  Ignore unprintable characters
    -d  Dictionary order (blank or alphanumeric only)
    -g  General numerical sort
    -M  Sort month
    -n  Sort numbers
    -t CHAR Field separator
    -k N[,M] Sort by Nth field
    -r  Reverse …
Run Code Online (Sandbox Code Playgroud)

sort alpine-linux

8
推荐指数
1
解决办法
2028
查看次数

为什么 /bin/true 的大小是 27168 字节?

ls -l /bin/true显示它的大小为 27168 字节,而仅返回 0 的 ac 程序要小得多。此外,运行objdump -d /bin/true会产生一个包含许多系统调用的庞大汇编程序。为什么一个“什么也没成功做”的程序需要所有这些?

linux size

2
推荐指数
1
解决办法
370
查看次数