小编Mic*_*zek的帖子

为什么我仍然收到带有公钥身份验证的 ssh 的密码提示?

我正在使用我在这里找到的 URL:

http://web.archive.org/web/20160404025901/http://jaybyjayfresh.com/2009/02/04/logging-in-without-a-password-certificates-ssh/

我的 ssh 客户端是 Ubuntu 64 位 11.10 桌面,我的服务器是 Centos 6.2 64 位。我已按照指示进行操作。我仍然在 ssh 上收到密码提示。

我不知道接下来要做什么。

ssh key-authentication

597
推荐指数
17
解决办法
99万
查看次数

如果命令成功或失败,如何有条件地做某事

我怎样才能在 bash 中做这样的事情?

if "`command` returns any error";
then
    echo "Returned an error"
else
    echo "Proceed..."
fi
Run Code Online (Sandbox Code Playgroud)

bash control-flow

437
推荐指数
5
解决办法
75万
查看次数

获取通过管道传输到另一个进程的退出状态

我有两个进程foobar,用管道连接:

$ foo | bar
Run Code Online (Sandbox Code Playgroud)

bar总是退出 0;我对foo. 有什么办法可以得到吗?

shell pipe exit

392
推荐指数
11
解决办法
20万
查看次数

“车轮”组的名字从何而来?

wheel在* nix计算机组通常是指基团与某种根状的访问。我听说在某些 *nix 上它是有权运行的用户组su,但在 Linux 上似乎是任何人(尽管您自然需要 root 密码)。在我使用的 Linux 发行版上,它似乎是默认情况下有权使用的组sudo;他们有一个条目sudoers

%wheel ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

但这都是切线的。我的实际问题是:为什么叫这个组wheel?之前听过各种解释,不知道对不对。有谁知道这个词的实际历史?

su sudo history group

249
推荐指数
4
解决办法
12万
查看次数

允许在 shell 脚本上使用 setuid

setuid权限位告诉Linux与业主,而不是执行者的有效用户ID运行程序:

> cat setuid-test.c

#include <stdio.h>
#include <unistd.h>

int main(int argc, char** argv) {
    printf("%d", geteuid());
    return 0;
}

> gcc -o setuid-test setuid-test.c
> ./setuid-test

1000

> sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test
> ./setuid-test

65534
Run Code Online (Sandbox Code Playgroud)

但是,这仅适用于可执行文件;shell 脚本忽略 setuid 位:

> cat setuid-test2

#!/bin/bash
id -u

> ./setuid-test2

1000

> sudo chown nobody ./setuid-test2; sudo chmod +s ./setuid-test2
> ./setuid-test2

1000
Run Code Online (Sandbox Code Playgroud)

维基百科

由于安全漏洞的可能性增加,许多操作系统在应用于可执行 shell 脚本时会忽略 setuid 属性。

假设我愿意接受这些风险,有没有办法告诉 Linux 将 shell 脚本上的 setuid …

shell security scripting setuid

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

卸载:设备忙。为什么?

运行时umount /path我得到:

umount: /path: device is busy.
Run Code Online (Sandbox Code Playgroud)

文件系统很大,所以lsof +D /path不是一个现实的选择。

lsof /path, lsof +f -- /path, 并且fuser /path都没有返回。fuser -v /path给出:

                  USER        PID ACCESS COMMAND
/path:            root     kernel mount /path
Run Code Online (Sandbox Code Playgroud)

这对于所有未使用的挂载文件系统来说是正常的。

umount -lumount -f不是我的情况不够好。

我如何弄清楚为什么内核认为这个文件系统很忙?

mount

214
推荐指数
7
解决办法
62万
查看次数

如何使用 find 命令搜索多个扩展名

我可以jpg使用以下方法获取所有图像:

find . -name "*.jpg"  
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能将png文件添加到结果中呢?

find regular-expression

210
推荐指数
4
解决办法
20万
查看次数

Linux 是 Unix 吗?

因此,有许多不同版本的 Unix:HP-UX、AIX、BSD 等。 Linux 被认为是 Unix 克隆,而不是 Unix 的实现。所有“真正的”Unices 都是原版的真正后代吗?如果不是,Linux 与 Unix 的区别是什么?

unix linux history

203
推荐指数
5
解决办法
10万
查看次数

在 xfce4-terminal 中复制粘贴添加 0~ 和 1~

我使用 xubuntu 14.04,64 位。时不时地,当我尝试在 xfce4-terminal 中粘贴一些文本时,它不是要粘贴的预期文本,而是被0~和包围1~,例如:

0~mvn clean install1~
Run Code Online (Sandbox Code Playgroud)

文本应该是mvn clean install- 我通过将内容粘贴到其他各种应用程序(gnome-terminal、gedit 等)中来验证这一点。除 xfce4-terminal 外,每个应用程序都会正确粘贴内容。我在互联网上找不到任何参考资料(不幸的是,很难在 google.com 上搜索带有特殊字符的文本......)。为什么会发生这种情况?

xfce4-terminal

150
推荐指数
4
解决办法
7万
查看次数

如何修复 CentOS 上的“无法为 repo 找到有效的 baseurl”错误?

我完成了 CentOS 6 的安装,但是当我尝试运行时,yum update我得到:

[root@centos6test ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os
error was 14: PYCURL ERROR 6 - "" Error: Cannot find a valid baseurl for repo: base
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我该如何解决?

centos

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