!["!!"에 해당하는 BSD가 있습니까?](https://rvso.com/image/1267757/%22!!%22%EC%97%90%20%ED%95%B4%EB%8B%B9%ED%95%98%EB%8A%94%20BSD%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
적절한 상승된 권한이 없는 명령을 내리는 경우가 종종 있습니다.
우분투에서는 사용할 수 있습니다
sudo !!
그러면 sudo 권한으로 동일한 명령이 실행됩니다. OpenBSD에도 동등한 것이 있습니까?
편집: OpenBSD의 버전에 대해 좀 더 구체적으로 설명했어야 했습니다. 저는 sudo가 기본적으로 설치되어 있는 OpenBSD 4.8을 사용하고 있습니다. 이미 루트 외에 사용자를 생성하고 해당 사용자가 sudo를 사용할 수 있도록 sudoers 파일을 편집했습니다.
내 질문은 "!!"에 대한 기본 제공 단축키가 이미 있는지입니다. 이전 명령을 사용하려면
답변1
sudo
Ubuntu 또는 OpenBSD보다 최소 10년 전에 개발을 시작한 독립 소프트웨어 패키지입니다.
OpenBSD의 pkg_add를 사용하여 이를 시스템에 적용하는 것이 좋지만 OpenBSD의 FAQ는 다음과 같습니다.새 패키지 설치을 사용하는 예제가 있으므로 sudo
이미 설치되어 있어야 합니다.
혼자 일 하나요 !!
(즉, 없이 sudo
)? 그렇지 않은 경우 Ubuntu에서 사용하는 것과 다른 셸을 사용하도록 설정되었을 수 있습니다.
답변2
다른 모든 답변을 명확히 하기 위해 이는 !!
쉘 기록 메커니즘의 일부입니다. 문제는 sudo가 아니라 쉘, 더 구체적으로 루트일 때 쉘에 있다고 생각합니다.
BSD를 사용해 본 지 꽤 오랜 시간이 지났지만 BSD는 좀 더 '전통적인' UNIX인 경향이 있습니다. 즉, 여전히 실제 Bourne 쉘(읽기: bash만큼 기능이 없음)을 루트 쉘로 사용한다는 의미입니다. 이 경우 '실제' Bourne 쉘은 히스토리 메커니즘이 없음을 의미합니다. 이는 시스템 복구를 위한 것입니다.(*)
루트에 로그인하면 원하는 대로 exec /bin/bash
기록 이 있는 쉘을 실행할 수 있습니다.exec /bin/tcsh
이전 트릭은 일반적으로 tcsh 또는 bash 로그인 쉘, 동일한 홈 디렉토리 및 uid 0이 있는 'toor'라고 불리는 루트 동등 계정을 갖는 것이었습니다. 루트에 sudo를 사용하지 않고 , sudo toor
그런 다음 배쉬에서. 새로운 매력이 무엇인지 잘 모르겠습니다.
(*) 이유는 루트의 쉘이 /sbin/sh이고 정적으로 링크되어 있기 때문입니다. 이는 최소한의 종속성이 있음을 의미합니다. 쉘이 /bin/bash이고 /usr에 대한 라이브러리 종속성이 있고 이제 /usr이 손상되면 쉘이 없는 것입니다. 쉘이 /sbin/sh이고 최소한 /sbin이 마운트 가능하다면 몇 가지 작업을 수행할 수 있습니다.
답변3
이 사이트는 당신에게 도움이 될 것입니다:http://linux-bsd-sharing.blogspot.com/2009/03/howto-using-sudo-on-freebsd.html
또한 BSD에서 관리 작업은 일반적으로 루트 사용자 계정에서 직접 처리됩니다. Ubuntu에서는 루트 관리자 계정이 비활성화되고 모든 관리 작업은 사용자 계정을 통해 수행되며 sudo 프로그램에서 확인됩니다.
BSD를 설치할 때 원하는 루트 비밀번호를 묻는 메시지가 표시되어야 하며, 지정한 비밀번호를 사용하여 루트에 로그인할 수 있어야 합니다. Gnome(또는 데스크톱으로 사용하는 모든 항목)에서 로컬 루트 로그인이 비활성화된 경우 터미널에서 "su -" 명령을 사용하여 루트로 로그인할 수 있으며 루트 비밀번호를 묻는 메시지가 표시됩니다. 루트로 로그인하면 해당 계정이 모든 권한을 가지므로 원하는 모든 작업을 수행할 수 있습니다.
일반적으로 보안상의 이유로 루트로 로그인하여 모든 것을 그런 방식으로 실행하는 것은 권장되지 않습니다. 루트로 실행하는 모든 프로그램에는 루트 권한이 있습니다. 이는 하드 드라이브의 모든 항목을 삭제하도록 설계된 프로그램을 실행하는 경우 해당 프로그램에 그렇게 할 수 있는 권한이 있음을 의미합니다. 그렇기 때문에 루트에 로그인할 때 항상 주의해야 합니다. 로그인하고 필요한 작업을 수행하십시오. 완료되면 안전을 위해 사용자 계정으로 돌아가세요.
답변4
OpenBSD에는 기본 시스템에 자체 구현이 내장되어 있으므로 사용자가 파일에 있는 경우 /etc/sudoers
문제는 쉘이 sh
Ubuntu에서 사용했던 것과 동일한 기능을 제공하지 않는 기본 Bourne일 수 있다는 것입니다.
나는 당신이 명령을 사용하여 bash를 설치 pkg_add -r bash
하고 그것을 설정할 수 있다고 믿습니다 chsh -s /usr/local/bin/bash
. (나는 이것이 올바른 경로라고 믿습니다. 나는 FreeBSD에 더 익숙하지만 포트/패키지 시스템은 둘 다 비슷하다고 생각합니다).