鉴于:记录中有 40 列。我想替换第 35 列,以便将第 35 列替换为第 35 列的内容和“$”符号。想到的是这样的:
awk '{print $1" "$2" "...$35"$ "$36...$40}'
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是因为当列数大到 10k 时它是不可行的。我需要一个更好的方法来做到这一点。
我想确保我的程序只能由xyz
使用 root 权限的用户运行。为此,我设置了 setuid 位:
chmod u+s program1.sh
ls -l program1.sh
rwsr-x--- 1 root house 1299 May 15 23:54 program1.sh
Run Code Online (Sandbox Code Playgroud)
此外,我将用户添加xyz
到house
组中,以便只有xyz
root 用户可以运行 program1.sh。
在 program1.sh 中有
id -u
Run Code Online (Sandbox Code Playgroud)
以便它可以向我显示有效 ID。
program1.sh
以 root 身份运行,它显示root
. 但是使用该xyz
帐户运行时,它显示xyz
. 似乎它没有以 root 权限运行。我不知道这里出了什么问题。
我有一个预处理命令来输出文件
./preprocess.sh > preprocessed_file
Run Code Online (Sandbox Code Playgroud)
并且preprocessed_file
将像这样使用
while read line
do
./research.sh $line &
done < preprocessed_file
rm -f preprocessed_file
Run Code Online (Sandbox Code Playgroud)
有什么方法可以将输出定向到while read line
零件而不是输出到 preprocessed_file?我认为除了使用这个 temp 之外应该有更好的方法preprocessed_file
。
我想只允许具有允许 ip(s) 的机器通过 ssh 登录到我的系统。
例如,userA
只能使用ipxx.xx.xx.xx
或yy.yy.yy.yy
通过ssh登录,其他ip不能登录userA
。并且userB
只能使用 ipzz.zz.zz.zz
通过 ssh 登录,除了 zz.zz.zz.zz
可以使用userB
.
我应该如何设置我的 Linux 来实现这一点?
我想r-x
为其他人设置新创建的目录的默认权限,并将新创建的文件(非目录文件)的默认权限设置为---
.
如果我将 umask 设置为 2,则目录权限获取r-x
但文件获取r--
。
我找不到任何方法来实现我想要的umask
。
最终,我希望其他人能够遍历目录但不能读取文件的内容。我认为这是一个非常合理的要求,但最终似乎没有这样的设置。
linux ×4
permissions ×2
awk ×1
chmod ×1
networking ×1
privileges ×1
replace ×1
root ×1
setuid ×1
sftp ×1
shell ×1
ssh ×1
umask ×1