是否可以visudo在包含的其他文件的上下文中对文件执行健全性检查/etc/sudoers.d?
设想:
我想向文件中添加一个新文件/etc/sudoers.d本身是正确的并且它通过了visudo -c解析器。
但是,它确实包含Cmnd_Alias与etc/sudoers.d.
如果移动到 a/etc/sudoers.d它会破坏sudo命令并Alias '<name>' already defined near line出错。
题:
有什么方法可以用来检查新文件sudo在放入后是否不会破坏sudoers.d?
或者,sudo如果遇到任何错误,是否有任何方法可以忽略/停止处理包含的文件?
我想只允许具有允许 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 来实现这一点?
我正在尝试编写一个非常简单的mkcd命令:
#!/bin/bash
mkdir $1
cd $1
Run Code Online (Sandbox Code Playgroud)
目录已创建,但更改目录部分似乎没有运行。
根据评论更新:
mkcd () {
mkdir "$1"
cd "$1"
}
Run Code Online (Sandbox Code Playgroud)
我试图首先将它作为本地文件运行:
./mkcd
Run Code Online (Sandbox Code Playgroud)
我的最终位置是/opt/bin,两个位置似乎都不起作用。
我需要使用旧 Debian 存储库中的依赖项来安装特定版本的 tomcat ( 6.0.16 ) 。apt-get install
旧存储库可以在以下位置找到:http://snapshot.debian.org/archive/debian/[date]/...
但是有很多存储库。怎样才能轻松找到好的呢?
我想在 Linux 终端中创建一个 bash 脚本以进入一个文件,如果它为空,则将其删除:
#!/bin/bash
echo " Enter name of a directory"
read Dir
for Directory in $( ls $HOME )
do
test -d $HOME/$dir
if [ $# -eq 0 ]
then
for filename in $( ls $HOME/$Dir )
do
test -d $HOME/$dir/$filename
if [ ! -s "$filename" ]
then
rm $HOME/$dir/$filename
else
echo " not empty"
fi
done
else
echo " $Dir is not a directory"
fi
done
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码,但它不起作用。它识别创建的文件,但即使为空也不会删除它。Salah 显示没有这样的文件或目录
我想使用 kpasswd 来更改我的密码。由于我必须为多个领域执行此操作,因此我想自动传递密码。我想在 bash 中设置一个变量并将其传递给 kpasswd,以某种方式。:) 变量设置没有问题,但是将其传递给 kpasswd,这是一个问题。
我该怎么做?
从man kpasswd似乎没有我可以传递的标志,所以我在考虑使用 printf 或其他一些解决方案。不幸的是,这不起作用:
printf "$PWD\n$PWD\n" | kpasswd $KERBEROS_USERNAME@DOMAIN
Run Code Online (Sandbox Code Playgroud)
其他一些细节:
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
$ kpasswd --version
kpasswd (Heimdal 1.5.1apple1)
Run Code Online (Sandbox Code Playgroud) 我正在使用 manjaro。我正在尝试使用:torify whois, torsocks whois, proxychais whois。我试图用sudo命令来做到这一点,所有这些命令都给了我相同的输出:
[Feb 23 21:15:57] PERROR torsocks[3181]: socks5 libc connect: Connection refused (in socks5_connect() at socks5.c:185)
getaddrinfo(whois.verisign-grs.com): Non-recoverable failure in name resolution
[manjaro@manjaro Desktop]$
Run Code Online (Sandbox Code Playgroud)
我让朋友在他的发行版上做同样的操作,对他来说效果很好:(有人可以帮我吗?
我有一个像
#!/usr/bin/expect
.....
spawn passwd
expect "password:"
send "password"
....
....
....
~/test.sh
Run Code Online (Sandbox Code Playgroud)
在执行此操作时,我无法运行 bash script test.sh。
如何在 Expect 脚本中执行 Linux 命令/bash 脚本?
在我编辑/etc/sudoers.d/my_sudoers文件后,nano我无法使用sudo.
尝试使用时出现以下错误sudo:
sudo: parse error in /etc/sudoers.d/my_sudoers near line 4
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)
我确切地知道出了什么问题,但我无法编辑该文件,因为它归 root 所有。
我不能chown用来更改所有权,因为这将涉及使用sudo.
pkexec 尚未在服务器上安装或配置,所以我不确定这是否是一个选项。
我曾尝试使用复制命令进行备份,但出现相同的错误。
有人可以告诉我如何解决这个问题吗?
请不要建议重新启动服务器,因为这不是一个选项。
bash ×4
linux ×2
scripting ×2
shell ×2
sudo ×2
alias ×1
bsd ×1
command-line ×1
debian ×1
dependencies ×1
expect ×1
kali-linux ×1
manjaro ×1
networking ×1
permissions ×1
prompt ×1
repository ×1
sftp ×1
snapshot ×1
ssh ×1
tor ×1
whois ×1