Se está em /usr/local/bin
ou /usr/bin
é irrelevante.
É apenas um script python que publica seus argumentos ou seu STDIN em um serviço da Web:
#! /usr/bin/python
import sys, os, stat, subprocess
content = ""
mode = os.fstat(0).st_mode
if stat.S_ISFIFO(mode):
content = sys.stdin.read()
elif stat.S_ISREG(mode):
content = sys.stdin.read()
else:
args = sys.argv[1:]
if len(args) == 1 and os.path.exists(args[0]):
with open(args[0], 'r') as infile:
content = infile.read()
else:
str_args = ' '.join(args)
content = str_args
if content != "":
p = subprocess.Popen(["/bin/nc", "paste.linuxmint.com", "9999"], stdin = subprocess.PIPE)
p.communicate(content)
Se seus usuários tiverem acesso à Internet, pastebin
não permitirá que eles façam mais do que o que eles já podem fazer.
BTW, não é legal que bash
permita que você comprima o pythonese acima para apenas?:
/bin/nc paste.linuxmint.com 9999 <<< "${*:-'cat'}"
(Não vai se comportar de forma totalmente idêntica, mas não importa.)