小编Cyk*_*ker的帖子

为什么远程 Bash 源 .bash_profile 而不是 .bashrc

Bash手册说:

Bash 尝试确定它何时在其标准输入连接到网络连接的情况下运行,如由远程 shell 守护程序(通常rshd)或安全 shell 守护程序执行时sshd。如果 Bash 确定它正在以这种方式运行,它会读取并执行来自 的命令~/.bashrc(如果该文件存在且可读)。

这个 Bash 来源~/.bashrc

ssh user@host :
Run Code Online (Sandbox Code Playgroud)

但是这个 Bash 来源~/.bash_profile

ssh user@host
Run Code Online (Sandbox Code Playgroud)

根据规范,我没有看到这两个命令的区别。在这两种情况下,stdin 是否都连接到网络连接?

bash ssh

37
推荐指数
2
解决办法
4万
查看次数

运行ssh命令时如何设置PATH?

假设用户/bin/bash/etc/passwd. 然后ssh user@host command使用 Bash 运行命令。但是,该 shell 既不是登录也不是交互式的,这意味着既不是~/.bash_profile也不~/.bashrc是来源。在这种情况下如何设置PATH环境变量以便可以找到并执行可执行文件?是否建议在实际命令前加上source ~/.bashrc?

bash ssh

29
推荐指数
2
解决办法
5万
查看次数

使用 `eval echo` 总是安全的吗?

eval通常不鼓励使用,因为它允许执行任意代码。但是,如果我们使用eval echo,那么看起来字符串的其余部分将成为 的参数,echo因此它应该是安全的。我在这方面正确吗?

bash echo

21
推荐指数
3
解决办法
9699
查看次数

为什么 Debian 将用户同步的登录 shell 设置为 /bin/sync?

sync是 Debian 自己创建的用户帐户之一。我想知道为什么 Debian 将其登录 shell 设置为/bin/sync而不是/bin/false. Debian 如何使用这个用户帐户?

users debian passwd

17
推荐指数
1
解决办法
6120
查看次数

ssh 如何运行命令?

我在客户端和服务器上都使用 Bash。通过 SSH 运行命令时:

  • ssh <host> 'declare' 给出一个 shell 变量列表。

  • ssh <host> 'mount' 给出挂载点列表。

但是,declare是 Bash 内置mount命令,而是外部命令。如果服务器上有一个内置的 shell 和一个同名的外部命令,SSH 如何知道要运行哪个?

shell ssh

15
推荐指数
1
解决办法
1681
查看次数

当 ssh 客户端的参数后跟一个交互式程序时,为什么 sshd 不使用伪终端?

连接到 SSH 服务器的正常方法是ssh username@ip_address. 但是用户可能只想在远程机器上运行程序。所以程序名称跟在正常参数之后,即ssh username@ip_address <program_name>. 例如,ssh username@ip_address ls。除了交互式程序(也接受用户输入以及提供输出),例如top. 输出是

未设置 TERM 环境变量。

这意味着 sshd 和 top 程序之间没有连接(伪)终端。解决方案是-t在整个命令现在变成的地方添加参数ssh -t username@ip_address top

我的问题是为什么默认情况下 sshd 不能也使用伪终端与非交互式程序进行通信,因此不需要-t为交互式程序添加参数?

ssh pty

11
推荐指数
2
解决办法
4948
查看次数

netcat 是否支持代理身份验证?

如何处理:

nc: Proxy error: "HTTP/1.1 407 Proxy Authentication Required"
Run Code Online (Sandbox Code Playgroud)

nc-P代理用户名的选项,但密码是什么?

netcat

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

如何将字符串值与 seccomp 进行比较?

某些 Linux 系统调用(例如execve, openat)具有字符串类型参数。但是SCMP_CMPseccomp提供的比较函数好像是比较两个指针。那么如何使用 seccomp 将进程可以打开的文件限制到特定目录?有没有办法让用户提供一个通用的比较功能?

linux syscalls

8
推荐指数
0
解决办法
280
查看次数

X 服务器可以有多个显示器吗?

这是我在man X以下内容中找到的内容:

短语“显示器”通常用于指共享一组通用输入设备(键盘、鼠标、平板电脑等)的监视器集合。大多数工作站往往只有一个显示器。然而,更大的多用户系统通常有多个显示器,因此可以有多个人同时进行图形工作。为避免混淆,当启动该显示器的 X 服务器时,机器上的每个显示器都被分配一个显示器编号(从 0 开始)。显示编号必须始终在显示名称中给出。

我的问题是:如果我们想使用多个显示器,我们是否需要启动多个 X 服务器,或者所有这些显示器都可以由单个 X 服务器处理?是否可以在不同的显示器上共享键盘、鼠标和显示器?

编辑。这里的显示指的是X窗口系统定义的概念,而不是单个监视器。我知道有支持多头配置的 Xinerama 和 XRandR 技术。

x11 display

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

Linux 上文件缓存的合适块大小是多少?

设备块大小通常为 512 字节,而文件系统块大小通常为 4096 字节。他们为什么不同?为什么 512B 和 4KB 是设备和文件系统块大小的不错选择?什么块大小最适合缓存用户空间库中的磁盘读取?

filesystems cache block-device

6
推荐指数
1
解决办法
1890
查看次数

标签 统计

ssh ×4

bash ×3

block-device ×1

cache ×1

debian ×1

display ×1

echo ×1

filesystems ×1

linux ×1

netcat ×1

passwd ×1

pty ×1

shell ×1

syscalls ×1

users ×1

x11 ×1