AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-103357

Rafael Muynarsk's questions

Martin Hope
Rafael Muynarsk
Asked: 2020-03-05 22:44:47 +0800 CST

是否可以禁止特定用户在 /usr/bin 上执行文件而不将所有文件权限更改为 750?

  • 9

chmod我理解使用第一个数字作为用户、第二个数字作为组、第三个作为其他用户在 Linux 上管理权限的概念,如了解 UNIX 权限和文件类型中的此答案所述。

假设我有一个有 5 个用户的 Linux 系统:admin、usera、userb和。默认情况下,用户,和对里面的所有文件都有执行权限,所以这些用户可以使用系统的命令行来执行里面的文件,因为这些文件有 75 5权限。到目前为止,它完全没问题。但是,我想禁止用户执行文件夹上的文件,我知道我可以通过将此文件夹内所有文件的权限更改为 750 之类的权限来实现这一点,但如果我这样做,我会搞砸用户的权限,因为他们也将被禁止执行文件。usercguestuserauserbuserc/usr/binguest/usr/binchmoduserauserbuserc

在我的计算机上,所有文件都/usr/bin属于该组root,所以我知道我可以创建一个newgroup,将所有这些文件的组更改为它并添加usera,userb然后添加userc到newgroup. 但是这样做听起来对系统的默认设置进行了太多修改。有谁知道解决这个问题的更聪明的方法?

PATH在没有需要更改太多文件权限的过于复杂的解决方案的情况下,如何禁止单个用户使用命令行(或在 上执行任何文件)?

permissions path
  • 2 个回答
  • 1447 Views
Martin Hope
Rafael Muynarsk
Asked: 2019-08-30 13:55:08 +0800 CST

如何使用命令行工具替换多行单引号内的文本?

  • 2

我有一个脚本,其中$variable存储了行数不确定的文本。假设我已经命名它script.bash并且它位于$HOME:

#!/bin/bash

# commands on the beginning of my script

variable='Lorem Ipsum is simply dummied 
text of the printing and 
typesetting industry. Lorem Ipsum has been the
industry standard dummy text ever since the 1500s'

# commands at the end of my script

我想创建一个新脚本来更改variableon中的文本script.bash。代码的想法是这样的:

#!/bin/bash

file="$HOME/script.bash"
mynewvariable='one
two
three'

substitute_everything_inside_variable () {
    # code
}

substitute_everything_inside_variable "$mynewvariable" "$file"

只要它只有一行,它就可以用新的一行替换整行,sed如下所示:

sed -i "5s/.*/$mynewvariable/" "$HOME/script.bash" 

但是考虑到我需要替换单引号内的所有内容(并且其中的文本行数是可变的),我不知道如何使用命令行工具来做到这一点。有没有办法在不阅读和解释每一行发生的事情的情况下做到这一点?

shell-script text-processing
  • 3 个回答
  • 492 Views
Martin Hope
Rafael Muynarsk
Asked: 2019-01-01 12:09:18 +0800 CST

是否可以在任何 Linux 机器上激活看门狗?

  • 5

在运行 Raspbian 服务器的Orange Pi Zeroecho 1 > /dev/watchdog上,只需以root 身份运行命令,就可以非常轻松地使用看门狗。这个想法是系统肯定会在执行此命令一段时间后重新启动,因此我需要定期重复此命令以保持系统运行。我们可以cron以 root 身份实现看门狗,并使其在启动时执行以下脚本:

#!/bin/bash
while [ true ]; do
    echo 1 > /dev/watchdog
    sleep 5
done

该脚本在 Orange Pi Zero 上运行良好......但是,在我运行 Ubuntu 18.04 的台式计算机上,该命令echo 1 > /dev/watchdog根本不起作用。是否可以在任何运行 Linux 的设备上激活看门狗?

linux-kernel raspbian
  • 4 个回答
  • 8074 Views
Martin Hope
Rafael Muynarsk
Asked: 2019-01-01 05:51:41 +0800 CST

是否可以检查特定进程是否正在睡眠或运行?

  • 4

我在 Ubuntu 上创建了以下脚本,可以暂停和启动特定进程:

#!/bin/bash

loopProcess () {
   COUNTER=0
   while [  true ]; do
      echo $COUNTER
      sleep 1
      let COUNTER=COUNTER+1 
   done
}

loopProcess &
pidLoopProcess="$!"

while [  true ]; do
   read -p "" state
   if [ "$state" == 'a'  ]; then
      echo "Process is running"
      kill -CONT "$pidLoopProcess"
   elif [ "$state" == 'b'  ]; then
      echo "Process is sleeping"
      kill -STOP "$pidLoopProcess"
   fi  
done

演示它是如何工作的:

在此处输入图像描述

我想知道是否可以使用命令行检查特定进程何时运行或休眠。伪代码将是这样的:

if [ "$(StatePID $pidLoopProcess)" == 'sleeping'  ]; then
    ## do something
fi

我知道使用这个脚本我可以声明一些全局变量并将它们用作标志......但我想知道是否有一个命令行工具可以为我做这件事。在那儿?可能吗?

bash command-line
  • 1 个回答
  • 6634 Views
Martin Hope
Rafael Muynarsk
Asked: 2018-06-30 14:38:29 +0800 CST

是否可以使用 shell 脚本打印变量内容的内容?(间接引用)

  • 13

假设我已经声明了以下变量:

$ var='$test'
$ test="my string"

如果我打印他们的内容,我会看到以下内容:

$ echo $var
$test

$ echo $test
my string

我想找到一种方法来打印内容的内容$var(即 的内容$test)。所以我尝试执行以下操作:

$ echo $(echo $var)
$test

但是这里的结果是$test而不是"my string"......是否可以使用bash打印变量内容的内容?

bash shell-script
  • 4 个回答
  • 11422 Views
Martin Hope
Rafael Muynarsk
Asked: 2018-06-29 16:30:00 +0800 CST

如何用\n替换双引号外的所有空格?

  • 1

我有一个$variable由空格分隔的许多双引号路径

echo $variable

"/home/myuser/example of name with spaces" "/home/myuser/another example with spaces/myfile"

我的变量上的路径数量可能会有所不同,并且不受控制。例如,它可以像以下示例:

example 1: "path1" "path2" "path3" "path4"
example 2: "path1" "path2" "path3" "path4" "path5" "path6" path7" "path8"
example 3: "path1" "path2" "path3" 
example 4: "path1" "path2" "path3" "path4" "path5" "path6"

我想将双引号外的所有空格替换为新行(\n),同时保留引号内的空格。在这个答案中使用echo $variable | tr " " "\n"like对我不起作用,因为它用新行替换了所有空格。我该怎么做?

bash text-processing
  • 1 个回答
  • 911 Views
Martin Hope
Rafael Muynarsk
Asked: 2018-05-17 05:29:40 +0800 CST

如何根据特定文件夹上发生的更改执行脚本?

  • 1

要更改特定图像的大小,我使用以下命令:

mogrify -geometry x50 my_image.png

每次我拍摄新的打印屏幕时,都会在我的~/Pictures文件夹中保存一张图像。我想制作一个脚本来监视我的Pictures文件夹并采取行动将我的新图像的缩小版本复制到我计算机上的不同文件夹中,例如~/.icons/...

我知道我可以使用 来解决这个问题cron,但我真的不想定期采取行动。我想要一个命令(或脚本),它可以根据日志或类似的东西找出文件夹的不同之处。那可能吗?我该怎么做?

files command-line
  • 2 个回答
  • 575 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve