我有一个程序,该程序使用evhttpd传递附加参数以从服务器获取数据,而无需使用SSH。我试图找到一种将命令ls -l
发送到目录的方法,以便仅尝试限制可以读取的文件。
curl -s -g6 [$IPv6]:7749/ls?args=/var/log
This will list all file names as I want.
curl -s -g6 [$IPv6]:7749/ls?args=l?args=/var/log/
ls: l?args=/var/log/: No such file or directory
我正在寻找以下输出:
ls -l /var/log
-rw-r--r-- 1 root root 67193 Jun 1 00:21 messages
-rw-r--r-- 1 root root 6267 May 31 13:09 messages.0.gz
-rw-r--r-- 1 root root 47939 Jun 1 00:06 warnings
-rw-r--r-- 1 root root 6531 May 24 17:50 warnings.0.gz
由于该程序的其余部分随后将筛选所有可读文件并将其提取:
var1=$(ls -l | awk '{print $1,$9}' | sed /--w/g | awk '{print $2}')
我要寻找的结果将在上方,其中提供了权限以及文件名。也许还有另一种我不知道的无需SSH即可获取此信息的方法?