相关疑难解决方法(0)

如何获取在Bash中通过管道传输给另一个进程的进程的PID?

我试图在Bash中实现一个简单的日志服务器.它应该将文件作为参数并在具有netcat的端口上提供.

( tail -f $1 & ) | nc -l -p 9977
Run Code Online (Sandbox Code Playgroud)

但问题是当netcat终止时,尾巴会被遗忘.(澄清:如果我不分叉尾程,它将继续运行,即使netcat终止.)

如果我以某种方式知道尾巴的PID然后我可以杀死它.
显然,使用$!将返回netcat的PID.

如何获得尾部过程的PID?

bash pid pipe

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

RealUID,已保存的UID,有效的UID.这是怎么回事?

这是一个set-root-uid程序

$ls -l
-rwsr-sr-x 1 root root 7406 2011-12-13 22:37 ./x*
Run Code Online (Sandbox Code Playgroud)

源代码:

int main(void) {
    printf(
        "         UID           GID  \n"
        "Real      %d  Real      %d  \n"
        "Effective %d  Effective %d  \n",
             getuid (),     getgid (),
             geteuid(),     getegid()
    );

seteuid(600);
    printf(
        "         UID           GID  \n"
        "Real      %d  Real      %d  \n"
        "Effective %d  Effective %d  \n",
             getuid (),     getgid (),
             geteuid(),     getegid()
    );

setuid(1000);

    printf(
        "         UID           GID  \n"
        "Real      %d  Real      %d  \n"
        "Effective %d  Effective %d  \n",
             getuid (),     getgid (), …
Run Code Online (Sandbox Code Playgroud)

linux privileges setuid

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

在ansible中使用chown命令?

我在 ubuntu 中有一个命令

  sudo chown $(id -u):$(id -g) $HOME/.kube/config 
Run Code Online (Sandbox Code Playgroud)

我想转换成ansible脚本。我在下面试过

- name: Changing ownership
      command: chown $(id -u):$(id -g) $HOME/.kube/config
      become: true 
Run Code Online (Sandbox Code Playgroud)

但我收到如下错误

致命:[ubuntu]:失败!=> {“已更改”:t> 致命:[ubuntu]:失败!=> {"changed": true, "cmd": ["chown", "$(id", "-u):$(id", "-g)", "$HOME/.kube/config"] , "delta": "0:00:00.003948", "end": "2019-07-17 07:22:31.798773", "msg": "非零返回码", "rc": 1, "start ": "2019-07-17 07:22:31.794825", "stderr": "chown: invalid option -- 'u'\nTry 'chown --help' 了解更多信息。", "stderr_lines": ["chown : 无效选项 -- 'u'", "Try 'chown --help' 了解更多信息。"], "stdout": "", "stdout_lines": []}rue, "cmd": ["chown",

编辑: 文件模块也不起作用。

  - name: Create a symbolic …
Run Code Online (Sandbox Code Playgroud)

chown ansible ansible-2.x

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

以root身份运行程序时的结果很奇怪

这是一个演示我的问题的程序的完整源代码(操作系统是Ubuntu 14.04 32位,如果重要的话):

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc, const char *argv[])
{
   int status, fd;

   printf("CURRENT UID: %d, CURRENT GID: %d\n", getuid(), getgid());

   fd = open("/dev/ttyS0", O_WRONLY);
   if(fd < 0)
   {
      printf("Error opening /dev/ttyS0: %s\n", strerror(errno));
      return 1;
   }
   printf("Successfully opened /dev/ttyS0\n");
   close(fd);

   /* DROP PRIVILEGES */

   setgid(1000);
   setuid(1000);

   printf("CURRENT UID: %d, CURRENT GID: %d\n", getuid(), getgid());

   fd = open("/dev/ttyS0", O_WRONLY);
   if(fd < 0)
   {
      printf("Error opening /dev/ttyS0: %s\n", strerror(errno));
      return 1; …
Run Code Online (Sandbox Code Playgroud)

c linux ubuntu

5
推荐指数
1
解决办法
165
查看次数

Linux系统中euid,suid和ruid之间的区别

我想知道euid,suid和ruid之间的区别。
我知道suid(设置用户ID)是什么,但是我想知道这3个之间的区别。

linux acl

-1
推荐指数
1
解决办法
2705
查看次数

标签 统计

linux ×3

acl ×1

ansible ×1

ansible-2.x ×1

bash ×1

c ×1

chown ×1

pid ×1

pipe ×1

privileges ×1

setuid ×1

ubuntu ×1