标签: configuration

是否可以在 sshd_config 中打断长行?

具体AllowUsers参数:

例如转换这个

AllowUsers user1 user2 user3 user4
Run Code Online (Sandbox Code Playgroud)

对此

AllowUsers
    user1
    user2
    user3
    user4
Run Code Online (Sandbox Code Playgroud)

ssh configuration

19
推荐指数
2
解决办法
5527
查看次数

使用 git 来管理 /etc?

我正在考虑一个系统,在/etc远程 git 存储库中跟踪的位置。我正在考虑 git 工作流程,其中每个主机都有一个不同的分支。

每台机器上的每个以前的版本都可以轻松跟踪、比较和合并。

如果/etc必须在多台机器上提交修改,则可以通过一些合并脚本轻松完成。

如果发生“不需要的”/etc更改,这可能很明显(甚至可以调整警报脚本以查看)。

有人用过这样的配置吗?它有任何安全问题吗?

configuration git

19
推荐指数
2
解决办法
6544
查看次数

配置中的反向 ssh 隧道

如何使用我的 ./ssh/config 文件建立反向 ssh 隧道?

我正在尝试重现此命令

ssh -R 55555:localhost:22 user@host
Run Code Online (Sandbox Code Playgroud)

在我的 .ssh/config 文件中,这样当我输入时,ssh host我会以用户身份和反向隧道通过 ssh 连接到主机。配置文件接受的命令是命令行标志的更详细的对应物。根据 ssh 手册页和 ssh_config 手册页,似乎相应的设置是 BindAddress。

在我的 .ssh/config 文件中,我有:

Host host
     Hostname host
     User user
     BindAddress 55555:localhost:22
Run Code Online (Sandbox Code Playgroud)

当我尝试时,这个和轻微的变化导致连接被拒绝

ssh localhost -p 55555
Run Code Online (Sandbox Code Playgroud)

一旦登录到主机。如果我在第一次 SSH 到主机时在顶部明确给出命令,同样的工作正常。我的配置文件在没有反向隧道命令的情况下也能工作;ssh host我以用户身份登录到主机。

ssh configuration ssh-tunneling

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

在 shell 脚本中找出用户的默认 shell

我想知道是否有办法在 shell 脚本中找出当前用户的默认 shell?

用例:我正在编写一个为命令设置别名的脚本,这个别名是在 shell 脚本中设置的。

!# /bin/bash
alias = 'some command to set the alias'
Run Code Online (Sandbox Code Playgroud)

脚本中有一个逻辑,它尝试查找执行脚本的用户的默认 shell 并将此别名添加到相应的 ~/.bashrc 或 ~/.zshrc 文件中

但是当我在脚本前面添加一个shebang并明确要求它使用bash时,这里发布的答案总是按预期返回bash,尽管我是在ZSH终端上执行这个脚本的。

有没有办法获取执行脚本的 shell 类型,而不管 shebang 设置如何?

我正在寻找一种适用于 Mac 和所有基于 linux 的小酒馆的解决方案。

shell configuration

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

automount nfs:不可靠服务器的 autofs 超时设置 - 如何避免挂断?

我正在为我们的平板共享运行一个小型服务器。它主要是带有一些附加服务的文件服务器。客户端是 Linux 机器(主要是 Ubuntu,但也有其他一些发行版)和介于两者之间的一些 Mac(-Book)(但它们对于问题并不重要)。服务器运行的是Ubuntu 11.10 (Oneiric Ocelot)“服务器版”,我从中进行设置和测试的系统运行的是 11.10“桌面版”。我们使用 Samba(我们更熟悉)运行我们的共享很长一段时间,然后迁移到NFS(因为我们在 LAN 中没有任何 Windows 用户并想尝试一下),到目前为止一切正常.

现在我想使用autofs设置自动挂载以平滑一切(到目前为止,每个人都在需要时手动挂载共享)。自动安装似乎也有效。问题是我们的“服务器”不是 24/7 全天候运行以节省能源(如果有人需要服务器上的东西,他/她会打开它然后关闭它,所以它每天只运行几个小时)。但是由于 autofs 设置客户端挂断时服务器没有运行时经常退出。

  • 即使服务器没有运行,我也可以很好地启动所有客户端。

  • 但是,当我想显示一个目录(在终端或 nautilus 中)时,该目录包含指向共享的符号链接,/nfs而服务器未运行时,它会挂起至少两分钟(因为 autofs 无法连接到服务器但保持尝试,我假设)。

    • 有没有办法避免这种情况?这样挂载会延迟到目录更改或访问该目录的内容?不是在“查看”下共享的链接时/nfs?我认为不是,但也许有可能不尝试访问它这么长时间?只需给我一个空目录或“无法找到/连接到该目录”或类似的内容。
  • 当服务器运行时,一切正常。

  • 但是当服务器关闭时,卸载共享之前,工具(如dfll)挂起(假设是因为他们认为共享仍然存在但服务器将不再响应)。

    • 当连接丢失时,有没有办法自动卸载共享?
  • 此外,当服务器关闭并且它们仍然安装了共享时,客户端也不会关闭或重新启动。它们在“杀死剩余的进程”中挂起(看起来是无限的)并且似乎什么也没发生。

我认为这一切都归结为安装和卸载的简洁超时值。并且可能在与服务器的连接丢失时删除所有共享。

所以我的问题是:如何处理这个?作为奖励:是否有一种/nfs无需挂载真实共享即可在内部链接的好方法(autofs 选项或可能使用/nfs在挂载发生或类似情况时被替换的伪 FS )?

我的设置

NFS设置是非常基本的,但我们很好,到目前为止(使用服务的NFSv4):

/etc/default/nfs-common

NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
Run Code Online (Sandbox Code Playgroud)

/etc/idmapd.conf

[General]
Verbosity = 0
Pipefs-Directory = …
Run Code Online (Sandbox Code Playgroud)

file-server configuration automounting nfs autofs

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

vim:在底部隐藏状态行

有时我使用非常小的终端窗口并需要每一块可用空间。所以我想隐藏vim状态行。

我已经set laststatus=0隐藏了状态行之一。但是还有另一个内容-- INSERT --"filename.ext" 22L 500C

我怎样才能隐藏这条线?

vim configuration

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

如何使 meld 中的文本可读?

几个月前,meld开始表现得很奇怪。常见的行几乎无法阅读,并显示为黑色背景上的深灰色文本。

融合失败

奇怪的是,以 root 身份运行它很好(使用kdesudo meld),尽管主题不那么漂亮。

根融合作品

如何为 meld 指定文本的颜色选项?

我正在使用:

  • 拱形Linux
  • KDE 4.14.3(也见于 4.14.2)
  • 融合 3.12.2(也见于 3.12.1)
  • gtk3 3.14.6(也见于 3.14.5)

故障排除

KDE系统设置

meld使用 GTK3,所以我摆弄系统设置 > 通用外观和行为 > 应用程序外观 > GTK > 选择一个 GTK3 主题。这种变化反映在 meld 中,但我选择的三个选项都没有改变文本。(可用的选项是 Default、Emacs 和oxygen-gtk;后者在上面的屏幕截图中使用。)

手动修改配置文件

我查找~gtk以他们的名字命名的文件。

~/.gtkrc-2.0
~/.gtkrc-2.0-kde4
~/.config/gtk-2.0
~/.config/gtk-3.0
~/.kde4/share/config/gtkrc
~/.kde4/share/config/gtkrc-2.0
Run Code Online (Sandbox Code Playgroud)

有趣的是gtk,它的名字中没有任何东西/root。因此,我尝试删除一些~文件,看看是否可以为我的用户获得相同的效果。我认为所有gtkrc-2.0文件都与融合无关。

首先,我删除了~/.config/gtk-3.0,但这没有效果,并在我打开 meld 时重新创建。

唯一的其他选项似乎是~/.kde4/share/config/gtkrc,因此删除了它并开始融合,这不受影响。但是,该文件并未重新创建,并且它包含一些可能相关的行(例如text[ACTIVE] = { 1.000, 1.000, 1.000 })。我不确定(丢失的)文件是否已加载。我试过了kbuildsycoca4 …

kde configuration gtk gtk3

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

GitKraken 不再在 Ubuntu 18.04 上启动

当我昨天打开我的 Ubuntu 18.04 并想启动 GitKraken 时,它不起作用。单击它的图标后,我看到该进程如何尝试在左上角(“活动”旁边)启动,但几秒钟后,该进程似乎停止了,什么也没有发生。尝试从控制台启动 GitKraken 也失败,并显示以下两条消息:

/snap/gitkraken/58/bin/desktop-launch: line 23: $HOME/.config/user-dirs.dirs: Permission denied
ln: failed to create symbolic link '$HOME/snap/gitkraken/58/.config/gtk-2.0/gtkfilechooser.ini': File exists
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的 Linux 技能太有限,无法解决这个问题。我尝试过的唯一一件事是chmod 777 $HOME/.config/user-dirs.dirs因为Permossion denied但这并没有帮助。

编辑:正如terdon在他的评论中所建议的那样ls -ld ~/.config/user-dirs.dirs,这是它的输出:

-rwxrwxrwx 1 myusername myusername 633 Mai 6 10:30 /home/mayusername/.config/user-dirs.dirs

然后,我发出了mv ~/snap/gitkraken/58/.config/gtk-2.0/gtkfilechooser.ini gtkfilechooser.ini.bak命令,然后尝试启动 GitKraken。我没有再开始显示:

/snap/gitkraken/58/bin/desktop-launch: line 23: /home/myusername/.config/user-dirs.dirs: Permission denied

ln: failed to create symbolic link ...我最初的帖子中的错误没有出现。ll目录中的exe 剪切~/snap/gitkraken/58/.config/gtk-2.0给了我以下输出:

drwxrwxr-x 2 myusername myusername 4096 Jun  3 16:44 …
Run Code Online (Sandbox Code Playgroud)

permissions configuration

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

~/.config 指的是什么以及如何将文件放在那里?

我想在 Debian 系统上为 Geany 编辑器设置一个插件。这是一个主题更改插件,所以我正在遵循本手册。它说:

最简单的方法是将存档的内容复制到 ~/.config/geany/filedefs/ 文件夹中。

我不明白这个。他们是什么意思~/.config?那是安装 Geany 的默认目录吗?我有它的文件,/usr/lib/geany但这似乎不是他们谈论的位置。

debian configuration geany

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

不会分配伪终端,因为 stdin 不是终端

我正在尝试通过没有 nc 的服务器设置自动 SSH 跳转。

这从命令行工作:

ssh -A gateway ssh steve@target
Run Code Online (Sandbox Code Playgroud)

(我已将我的公钥添加到 SSH 代理中)。

但是,将其添加到 ~/.ssh/config 不会:

Host target
  User steveb
  ProxyCommand ssh -A gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.


^CKilled by signal 2.
Run Code Online (Sandbox Code Playgroud)

试图强行解决问题-t很有趣但无济于事。

ProxyCommand ssh -A -t gateway ssh steve@targetip

$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal. …
Run Code Online (Sandbox Code Playgroud)

ssh rhel configuration tty

17
推荐指数
2
解决办法
7万
查看次数

标签 统计

configuration ×10

ssh ×3

autofs ×1

automounting ×1

debian ×1

file-server ×1

geany ×1

git ×1

gtk ×1

gtk3 ×1

kde ×1

nfs ×1

permissions ×1

rhel ×1

shell ×1

ssh-tunneling ×1

tty ×1

vim ×1