읽기 전용 bash 쉘을 여는 방법

읽기 전용 bash 쉘을 여는 방법

일부 파일을 수정하지 않고 찾아보고 싶습니다. 특정 명령을 사용하지 않을 수 있다는 것을 알지만, 예상치 못한 일이 일어날까 봐 걱정됩니다.

아무것도 쓸 수 있는 권한이 없는 bash 하위 쉘을 생성하는 방법이 있습니까? 그것은 마치 bash donotmakechanges.

다른 사용자를 생성할 수도 있겠지만 그건 너무 지나친 것 같습니다.

답변1

바인드 마운트를 사용하여 디렉토리 트리를 읽기 전용으로 마운트할 수 있습니다. 루트 액세스가 필요합니다.

# mount -o ro --bind /home /home_ro
# cd /home_ro
# touch file
touch: cannot touch ‘file’: Read-only file system

그런 다음 /home_ro를 탐색하세요.

답변2

sudo -u nobody bash

지침

  1. 다른 모든 사용자가 액세스할 수 있는 파일에는 계속 액세스할 수 있습니다. 예를 들어, everyone's파일:

    $ touch everyone\'s
    $ chmod 222 everyone\'s
    

    여전히 다음과 같이 작성할 수 있습니다 nobody.

    $ sudo -u nobody touch everyone\'s
    
  2. 당신은 다른 누구도 접근할 수 없는 파일에 접근할 수 있습니다. 예를 들어, nobody's파일:

    $ touch nobody\'s
    $ sudo chown nobody nobody\'s
    

    일반 사용자는 다음을 쓸 수 없습니다:

    $ touch nobody\'s
    touch: cannot touch "nobody's": Permission denied
    

    그러나 다음을 통해 작성할 수 있습니다 nobody.

    $ sudo -u nobody touch nobody\'s
    
  3. 사용자는 nobody다음에 설명된 대로 이 목적으로 이를 사용할 수 없습니다.https://askubuntu.com/a/674397/1086669

  4. 실행하려면 권한이 필요합니다.sudo

그 외에도 일반적으로 쓰기 가능한 파일을 읽기 전용으로 렌더링합니다.

$ touch mine
$ sudo -u nobody touch mine

관련 정보