익숙하지 않은 UNIX 또는 Linux 시스템 (루트로)에 로그인합니다. 자신에게 방향을 정하고 어떤 종류의 시스템을 사용하고 있는지 파악하기 위해 어떤 명령을 실행합니까? 사용중인 하드웨어 유형, 실행중인 운영 체제 유형 및 권한 및 보안과 관련하여 현재 상황이 무엇인지 어떻게 알 수 있습니까?
입력 한 첫 번째와 두 번째 명령은 무엇입니까?
답변
이중 사용 질문! 소프트웨어 고고학자 나 사악한 해커가이 질문에 대한 답을 사용할 수 있습니다! 자, 나는 무엇입니까?
난 항상 사용하는 데 사용되는 ps -ef
대 ps -augxww
I가 무엇인지 알아. Linux 및 System V 박스는 “-ef”및 “-augxww”의 오류를 좋아하는 경향이 있으며, 그 반대의 경우 BSD 및 이전 SunOS 시스템의 경우도 마찬가지입니다. 의 결과는 ps
당신에게 많은 것을 알려줄 수 있습니다.
루트로 로그인 할 수 있습니다, 그것은 리눅스 머신의 경우에, 당신은해야 lsusb
하고 lspci
– 그 하드웨어의 상황이 무엇인지 알고으로 당신에게 방법의 80 %를 얻을 것이다. dmesg | more
현재의 모든 문제를 이해하는 데 도움이 될 수 있습니다.
단계적으로 폐지되기 시작했지만 ifconfig -a
일반적으로 네트워크 인터페이스와 네트워킹에 대해 많은 것을 알 수 있습니다. 유선 이더넷처럼 보이는 출력에서 보이는 인터페이스에서 실행 mii-tool
및 / 또는 정보를 얻을 수 있습니다.ethtool
ifconfig
박차 ip route
또는 netstat -r
어쩌면 사용중인 네트워크 인터페이스에 대해 뭔가 라우팅 인터넷 프로토콜에 대한 정보, 그리고 수 있습니다.
mount
호출은 디스크 (들) 그들이 어떻게 장착하고에 대해 알 수 있습니다.
Running uptime
을 누른 다음 last | more
현재 유지 보수 상태에 대해 알려줄 수 있습니다. 가동 시간이 100 일 이상이면 은유 적으로 말하면 “오일과 유체를 교체 할 때입니다”라는 의미 일 것입니다. 달리기 who
도
보고 /etc/resolv.conf
및 /etc/hosts
해당 컴퓨터의 DNS 설정에 대해 알 수 있습니다. 아마 할 nslookup google.com
또는 dig bing.com
DNS가 대부분 작동하는지 확인합니다.
유닉스 나 리눅스 또는 BSD의 변형을 결정하기 위해 어떤 오류 ( “명령을 찾을 수 없음”)와 어떤 변형 ( “ps -ef”대 “ps augxww”)이 작동하는지 항상 주목할 가치가 있습니다.
C 컴파일러의 존재 여부는 중요합니다. 수행 which cc
또는 더 나은, which -a cc
그들을 찾을 수 있습니다.
답변
cat /etc/*release*
어떤 배포판이 실행되고 있는지에 대한 개요를 얻는 좋은 명령입니다.
답변
http://bhami.com/rosetta.html 은 검토하기에 편리 할 수 있습니다. 그렇지 않으면 일반적으로 /etc
(계정, 초기화 항목, OS 맛에 대한 힌트 등) 아래 crontab -l
를 둘러보고 ps
배울 내용을 목록을 살펴 봅니다.
또한 “루트로”는 리눅스 관리자가 모든 Solaris 호스트 이름을로 설정 한 시스템을 수정해야했기 때문에 매우 무섭습니다 -f
.
또한 df
위험한 명령입니다. 오, 사람들이 I / O 차단에 매달린 좋은 방법입니다. 따라서 적어도 마운트를 조사하거나 다른 세션을 열 수 있다는 것을 알 때까지는 실행하지 마십시오.
(아주 간단한 명령을 사용하여 uname
, cd /etc; ls
, cat
, $PAGER
)는, 호스트가 무엇인지 알아낼 때까지 그것으로 당신이있는 거 익숙하지 않은 경우 로제타를 확인하거나 항상 명령에 어떤 명령이나 플래그를 가정하기 전에 매뉴얼 페이지를 읽기가에 무엇을합니까 더 인기있는 시스템.
답변
dmidecode
그리고 lspci
일반적으로 당신에게 시스템에서 실행되는 하드웨어가 무엇의 좋은 아이디어를 줄 것이다. 이것이 일반적으로 실행되는 서버 netstat -tlpn
인 경우 서버의 목적을 제공합니다. df -hP
시스템의 현재 저장소를 확인하기위한 좋은 명령입니다. lsb_release -a
어떤 배포판인지 알려주세요.
[root@vle02 ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 6.7 (Santiago)
Release: 6.7
Codename: Santiago
실행 last
하면 누가 시스템을 사용하는지 알려야합니다. 이 서버에 합법적으로 액세스했다고 가정하면 종종 서버에 로그인 한 사람 중 한 명에게 서버에 대한 자세한 정보를 요청할 수 있습니다.
벤더 중립 보안 점검 : 종종 방화벽에 고유 한 구성 데이터가 있으므로 실행하는 iptables -nvL
것이 유용합니다. 또한 로컬 사용자 만 사용하는지 또는 ldap / kerberos / winbind / sssd / whatever를 사용하도록 구성되어 있는지 확인하려면 배포판의 pam 구성 파일을 확인해야합니다.
에 나타나는 서비스 구성을 검사 할 수도 있습니다 netstat -tlpn
. 예를 들어, 아파치가 표시되면 /etc/http/conf/httpd.conf
(RHEL, /etc/apache2
Ubuntu에서) 어떤 웹 사이트가 실행 중인지 확인하십시오. 또는 apachectl -S
구성된 모든 가상 호스트 목록을 얻기 위해를 수행 할 수 있습니다. 내가 실제로 할 수있는 일은 아파치를 예제로 제공하고 데몬의 구성을 다른 것으로 확인하는 것입니다.
RHEL rpm -qa --last | head
에서는 시스템 업데이트를 마지막으로 수행 한 시간 도 확인 했습니다. SELinux가 다음을 통해 활성화되어 있는지 확인합니다.getenforce
답변
다른 아이디어들 :
/proc
파일 시스템의 유무는 Mac ,
FreeBSD 또는 Linux 를 사용하고 있는지 여부를 나타낼 수 있습니다
.- 패키지 관리는 Linux 배포판과 배포판이 다릅니다. 데비안 기반의 것은 Deepin, Ubuntu, Mint; Red Hat과 Fedora는 어느 시점까지 m을 얻었지만 이제 Fedora에는 DNF가 있습니다 . 아치는 팩맨을 사용합니다. 그래서 우리는 다음과 같이 할 수 있습니다 :
ls /usr/bin | grep 'apt\|yum\|pacman'
- 특정 포트에 특정 서비스의 존재를 볼 때
netstat -tulpan
.sshd
웹 서버 일 수 있습니다ftp
.