一个香草ss -l列表(在我当前的机器上)许多打开的套接字,具有各种 Netid 类型,其中许多只在 localhost 上侦听。
如何获得所有且仅包含远程机器可以与机器交换数据的所有套接字的列表?
这将包括 TCP、UDP、任何其他传输层协议、RAW 套接字以及我可能不知道的任何其他协议。(ss在这个意义上是完整的吗?)
我相信这将排除 UNIX 套接字(它们仅在本地文件系统上,对吗?或者 UNIX 套接字可以远程操作,它们应该包括在内)。
可以忽略受本地主机限制的侦听器,但我不知道在如何表示/映射本地主机方面是否有任何警告。
基本标准是“如果侦听过程允许,我可以远程入侵任何套接字”。
(我记得ss几年前的命令显示的结果比我现在得到的要少得多。这让我想知道某些发行版是否配置ss为默认隐藏内容。我正在寻找一个ss或类似的实用程序命令,它尽可能可移植, 只要它不会仅仅因为它在不同的环境中运行而隐藏任何东西。此外,从安全理论的角度来看,对于威胁模型,我们可以假设机器完全在我们的控制之下并且运行正常,非恶意软件。)
那么如何列出所有且仅相关的套接字?
我已经PATH=foo设置了/etc/profile
根据/etc/password该root和myaccount用户都/bin/bash作为登录shell。
当我以 身份登录时myaccount,PATH已从 正确设置/etc/profile。如果 I 那么sudo su,PATH不包括在/etc/profile.
如果我sudo su -改为,则/etc/profile来源。我知道无论如何这样做是一种很好的做法,但我不明白为什么有必要使用/etc/profile.
为什么sudo suclobber PATH,无视/etc/profile以及如何使它不?
我有这样的数据:
-----BEGIN PRIVATE KEY-----
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDPzCORz9kUh4yt
73fiG1amQ16jwjXNzNO0d4xUWlrCP3dTfXnvtF35r2N/5Nefw9CcztBUAZACbwtn
(... just sample data ...)
jSYDRr88RZI4QYv9pW0+A8vWS2SJnIPW0fP9mcPOdZXxG/V2rL03YV5xcLCdbuBu
1tunEWZ5VcjfyEDfP7qZdWjGIYselOg=
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
如果我运行gpg --import它说:
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Run Code Online (Sandbox Code Playgroud)
我怎样才能把这个私钥放到 GPG 中?
我有getinfo.sh打印信息或以代码 1 存在的信息。
我想将此脚本的结果存储在 bash 变量中,否则打印错误消息并退出。
如果我运行这个
#!/bin/bash
X=`getinfo.sh` || echo "failed" && exit 1
Run Code Online (Sandbox Code Playgroud)
然后脚本即使getinfo.sh成功也会退出(在这种情况下它不打印任何内容。
另一方面
X=`getinfo.sh` || (echo "failed" && exit 1)
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,来自类 C 语言,但这并没有退出脚本,因为括号创建了一个新的内壳,而退出的是内壳,外壳继续运行。
getinfo.sh如果失败,如何存储和打印并退出的输出?
我可以通过按下ctrl+cshell来中断程序。通常这会杀死程序,但有些程序会捕获信号并继续运行。
我希望能够更积极地杀死此类程序并进行了一些研究。我读到stty -a会列出 tty 快捷方式。这是输出:
speed 38400 baud; rows 27; columns 213; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk …Run Code Online (Sandbox Code Playgroud) 我的目录设置有点像这样
~/code
~/code/src
~/code/build -> /path/to/somewhere/else
Run Code Online (Sandbox Code Playgroud)
最后一个是符号链接。
如果我这样做
cd ~/code/build
ls ..
Run Code Online (Sandbox Code Playgroud)
然后我得到了 的列表/path/to/somewhere,但从其他评论和我自己的经验来看,我希望看到 的列表~/code- 我发誓这曾经是相反的。
我在 Ubuntu 上使用 zsh 和 bash。是否有这样的设置或者它是否深深地融入到 POSIX 之类的东西中?