/ Thùng / đỏ là gì


13

Tôi đã cố gắng truy cập redis-clinhưng vì tôi lười biếng nên tôi đã gõ redvà nhấn tab hai lần, nhưng tôi nhận thấy rằng có một nhị phân thực sự được gọi redlà nằm bên dưới /bin/.

Khi tôi đã làm

cat /bin/red

nó cho thấy

#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"

Bất cứ ý tưởng đó là gì?

Ghi chú. Khi tôi thực thi red, nó chỉ chờ một đầu vào và bất cứ thứ gì tôi nhập vào, nó sẽ lưu nó và chờ một dấu nhắc hoặc trả về khác ?, lưu ý rằng chỉ khi nhấn qnó mới thoát. Ngoài ra, khi chèn các số từ 0-9 và tiếp tục nhập, nó sẽ hiển thị mọi đầu vào bạn đã chèn khi nó lưu những gì bạn đã nhập trước đó

thí dụ:

a <<<-- input
bsa <<< input taken without ?
^C <<<--- hitting ctrl-c
?  <<<--- output

ví dụ2:

v
?
b
?
a
qwrefdf <<-- saved because it didn't output ? after typing "a" up
^C
?
 <<- waiting for input

vì vậy "h" xuất ra "địa chỉ không hợp lệ" và chỉ "a", "x", "c" và "i" chấp nhận đầu vào. mọi thứ khác ngoài kết quả?


3
Đối với những gì nó có giá trị, bạn có thể tự trả lời câu hỏi này bằng cách chạy lệnh dpkg -S /bin/red. Điều này sẽ cho bạn biết rằng tệp là một phần của edgói và apt-cache show edsẽ cung cấp cho bạn một mô tả về gói đó.
David

3
Rất quan trọng: đừng thực thi một cách mù quáng một số ứng dụng mà bạn không biết. Ngay cả Linux cũng có phần mềm độc hại ...
Goufalite

7
Ed là trình soạn thảo văn bản tiêu chuẩn. gnu.org/fun/jokes/ed-msg.html
IMSoP

4
Hoặc thậm chí đơn giản hơn : man red.
OrangeDog

@IMSoP Tôi thích làm thế nào trong trò đùa họ làm cho vi lớn một cách lố bịch ở mức 1,3 MB. Chuyển tiếp nhanh gần 30 năm và nhị phân vim trên hệ thống của tôi thực sự gấp đôi kích thước trò đùa ở mức 2,7 MB: ')
marcelm

Câu trả lời:


28

redđang edở chế độ hạn chế.

$ whatis red
red (1)              - line-oriented text editor

$ man red
shows `ed` man page.

Ngoài ra, mã cho thấy, nó thực thi ed --restrictedtừ bindirvới tất cả các đối số ( "$@").

Đối với một hướng dẫn trên edvà các lệnh của nó, chạy info Ed.

Trong chương Invoking ed:

Định dạng để chạy 'ed' là:

 ed [OPTIONS] [FILE]
 red [OPTIONS] [FILE]

[...]

'-r' '- bị giới hạn' Chạy ở chế độ hạn chế. Chế độ này vô hiệu hóa phiên bản của các tệp ra khỏi thư mục hiện tại và thực thi các lệnh shell.


Các lệnh hữu ích để tạo một số thông tin trong câu trả lời này: file /bin/redcat /bin/red(vì filecho thấy đó là "tập lệnh shell POSIX, văn bản ASCII có thể thực thi).
Tạm dừng cho đến khi có thông báo mới.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.