이것에서 어떤 회복? sudo chmod 600. *


8

경고 - 언급 된 명령을 실행 하지 마십시오

그래서 여기에 약간 멍청한 짓을 한 것 같습니다. .sudo / root 전용으로 읽기 / 쓰기로 시작한 디렉토리의 일부 파일에 대한 권한을 변경하려고했습니다 .

한 번에 여러 파일을 변경하려는 시도는 전 세계적으로 끔찍한 일을 한 것으로 보입니다. 디렉토리 안에있는 동안 (루트 디렉토리에 없었습니다) 나는 sudo chmod 600 .*잘 실행했습니다. 지금 전화로 게시하고 있습니다 ... 현재 터미널 창이 열려 있지만 노트북이 제대로 연결되어 있는지 확실합니다. 나는 완전히 끝났다. 유감스럽게도이 질문에는 약간의 시급함이 있습니다.

아 그리고 이것은 내가 추측하는 모든 곳 근처에서 사용 권한을 변경 한 것으로 보입니다. lscd ..명령 도 실행할 수 없습니다 . 명령을 시도 cd /home/brian하거나 cd ~오류를 시도 하거나 bash: cd: /home/brian: Permission Denied시도하면 sudo그냥 말합니다bash: /usr/bin/sudo: Permission Denied

나는이 멍청한 무언가에서 내장 된 복구가 있는지 재부팅 할 것을 두려워하지 않지만, 상황을 악화시키기 전에 여기에 묻으려고한다고 생각했습니다. 내 주 OS가 변환하고 최근에 약간 옹호하는 것처럼 꽤 새로운 Linux입니다. 시도 할 것들에 대한 생각은 대단히 감사하겠습니다.

편집 : 이 명령이 어떻게 / 어디서 실행되었는지에 대한 설명을 원했습니다. 이것은 /.atx $임의의 디렉토리 일 뿐이지 만 아래에서 더 자세한 내용 으로 실행되었습니다 .

내 일반 username으로 로그인하는 동안 세 개의 구성 유형 텍스트 전용 파일이 포함 된 brian터미널을 열었습니다 /.atx. 각 파일 이름은로 시작했습니다 .. 그 디렉토리 / 이름 / 파일은 일반적인 패키지의 일부가 아니며 프로그래밍 방식으로 이동하는 임의의 구성 세트 만 있습니다. 파일에 일부 SQL Server 연결 문자열 정보가 포함되어 있으며 반쯤 모호해지기를 원했습니다.


설명하는 디렉토리 당신이, 당신이 내부했다 추측하고있어 한없이 /root하지 / 당신이 당신의 의미 (나는 당신의 질문에 무엇을보고에서) 이런 짓을 할 때 .*캡처 글로브 /root자체 폴더합니다 ( .모든 파일 / 디렉토리와 함께 현재 작업 디렉토리에 대한 참조를) 그 시작점으로 시작합니다. 시스템에서 변경 방법이 있는지 확실하지 않지만 라이브 USB로 부팅하여 실행 취소 할 수 있습니다. 그러나 100 % 답으로 생각하지 마십시오.
Sergiy Kolodyazhnyy

어떤 방식 으로든 생각과 피드백을 평가하고 상황에 따라 고려하십시오. 이것은 (이 시점에서 위험한 것 같지 않았다 나는 지금 여기에 혼란스러워하고 있습니다 이유의 일부) 난에서 명령을 실행 한 곳의 세부 사항 본문을 업데이트하는거야 .. 그냥 바보 정말
브라이언 Jorden


4
.*명령에 in을 포함하도록 확장 했다고 가정합니다 ... 예를 들어, 디렉토리의 상위 디렉토리 인 경우 예를 들어 /home/brian권한이 /home600으로 설정되어 있고 권한 이 없을 것입니다. /home디렉토리 를 볼 수있는 권한 . 열린 터미널에서 실행할 수 있습니까ls -ld /*
Charles Green

2
askubuntu.com/questions/43621/…을 참조하여 권한 복원을 시도 할 수 있습니다 . 거기에는 여러 스크립트가 있지만 복구 모드에서 apt-get (스크립트를 선호 함)을 사용하여 방법을 게시했습니다. sudo를 사용할 수 없으므로 복구 모드로 부팅해야합니다. wiki.ubuntu.com/RecoveryMode 반드시 remount / rx (wiki 참조)
Panther

답변:


3

휴, 여기의 회복은 실제로 내가 예상했던 것보다 매끄럽고 모든 것이 다시 아주 좋은 모양으로 보입니다.

해당 명령으로 디렉토리를 확장 한 방법에 대한 설명을 해준 @CharlesGreen에게 감사드립니다. 또한 약간 관련된 문제로 복구 모드로 들어가는 것에 대한 정보를 제공하는 @Panther에게 감사드립니다. (둘 다 귀하의 의견을 답변으로 다시 공유하려면 의견을 표명하십시오)

다행스럽게도 링크 된 게시물과 달리이 방법은 매우 간단하게 수정 된 것 같습니다. 내가 실행할 때 보이는 sudo chmod 600 .*아래 하나의 디렉토리에서 명령을 /이 확장 .*의 진정한 루트 디렉토리 변질 권한에 대한 부분 UP .에서 /다른 모든 권한을 넘어 원인을.

이에 대한 "수정"은 드라이브를 읽기 / 쓰기로 다시 마운트하고 기본 루트 ( cd /)로 이동 한 다음 복구 모드로 부팅하는 것 chmod +rx .입니다. 재부팅 후 모든 것이 정상으로 돌아옵니다.

이야기의 도덕, 명령을 실행하면 .*적어도 현재 디렉토리 위의 디렉토리에 영향을 줄 수 있습니다. 나는 .... oops로 시작한 파일에만 영향을 주려고했습니다.

의견을 말하고 도움을 주신 모든 분들께 감사드립니다.


1
아마도 ..일치하는 .*글로브 때문에 부모 디렉토리에 영향을 미쳤습니다 .
Cthulhu

1
더 순수한 껍질을 사용해야하는 또 다른 이유. 예를 들어 zsh 는 기본적으로 확장을 포함 .하거나 포함하지 않습니다 . ...*
muru

1

이에 대한 "수정"은 드라이브를 읽기 / 쓰기로 다시 마운트하고 주 루트 (cd /)로 이동 한 다음 chmod + rx로 복구 모드로 부팅하는 것입니다. 재부팅 후 모든 것이 다시 시작된 것으로 보입니다. 표준.

이 답변을 합격 답변으로 여기게 될 독자들을 위해 명확하게하기 위해 chmod +x일반적인 솔루션으로서 솔루션에 대한 우려가 있습니다. 이 특정 질문은 사용자 홈 디렉토리 인 것으로 보이므로 아래의 일부 우려는 낮을 수 있지만 이것이 비즈니스 서버에 적용되어 여러 사용자 또는 다른 데이터 디렉토리에 영향을주는 경우 솔루션이 제안되지 않습니다.

긍정적 인 측면 에서이 단계는 사용자가 파일에 다시 액세스 할 수 있도록하여 추가 손실을 막기 위해 백업 미디어에 파일을 복사 할 수있게합니다. 그리고 하루가 끝날 무렵에는 이것이 데이터 복구 노력의 주요 목표입니다.

가장 큰 문제는 원본 파일에 현재 누락 된 특정 권한이 적용되었을 수 있다는 것입니다. 일부 프로그램 (특히 ssh)은 파일 권한을 강화하여 보안을 강화하고 +rw폴더와 파일에 권한이 설정되어 있으면 작동하지 않습니다 .

또 다른 문제는 이것이 루트 ( /) 폴더에 반복적으로 적용되는 경우 시스템의 모든 사용자가보고 수정할 수있는 다른 파일이있을 수 있다는 것입니다. 서버가 민감한 데이터 (PCI / 금융 또는 의료 / HIPAA 정보)를 포함 할 수있는 비즈니스 환경에서이 액세스는 감사 결과 및 영향을 초래할 수 있습니다.

개인 / 가정 환경에서이 복구는 완벽하게 허용됩니다. 일부는 조용히 부서 지거나 이상하게 작동 할 수 있습니다.

비즈니스 환경에서는이 복구를 사용하여 데이터에 다시 액세스하는 것이 사용될 수 있지만 궁극적으로 서버를 다시 설치하고 백업에서 복구하여 이와 같은 극적인 변화를 해결해야합니다.

( 당신은 현재 백업을 가지고 있지 않습니까? ;-) )


1
여기에 일반적으로 유용한 조언 / 정보가 있기 때문에 미리 투표했습니다. 내 특별한 상황에서 나는 변경된 유일한 권한이 직접적으로 내부에 /있었고 재귀 적으로 다른 디렉토리로 캐스케이드하지 않았을 정도로 운이 좋았다 . 또한 주목할 가치가 있습니다. 이것은 내 개인 노트북에 있었고 하루 일의 일부를 잃어 버렸을 수도 있지만 (아직 git push를 수행하지 않았음에도 불구하고) "사용자"와 관련하여 다시 설치하는 것은 번거롭고 번거로운 일이었습니다. 신청. 그것이 모든 종류의 서버 였을 때, 나는 일반적으로 닦고 재 구축하는 시간과 노력이 적다는 것에 동의합니다.
Brian Jorden
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.