sudo 명령없이 소유권 변경


5

우분투 서버를 설정하고 FTP 클라이언트가 /etc/폴더 에 액세스하도록 허용하려고했습니다 . 그래서이 chown명령을 사용하여 계정에서 사용할 수있게했습니다. 그러나 이로 인해 소유권이 변경 sudo되어 파산되었습니다. sudo소유자가 루트가 아니기 때문에 명령을 실행할 수 없으며을 사용해야하므로 소유자를 변경할 수 없습니다 sudo.

내가 루트로 복구 모드로 부팅하고 실행 시도 chown -R root /etc하고 chown -R 0 /etc있지만, 어느 쪽도했다.

어쨌든 우분투를 다시 설치하지 않고이 문제를 해결할 수 있습니까?


이 유형의 권한은 discretionary access controls입니다. 운영 체제가 재량으로이를 존중해야하는지 여부를 결정할 수 있기 때문에 재량이라고합니다. 다른 시스템에 드라이브를 마운트하거나 Linux Live CD를 부팅하여 해당 시스템을 통해 루트를 획득하고 권한을 적절히 설정하여 DAC를 재정의 할 수 있습니다.
allquixotic

답변:


3

재부팅하고 오른쪽 Shift 키를 누른 상태에서 grub2 부팅 메뉴를 불러옵니다. 그런 다음이 지시 사항에 따라 단일 사용자 모드를 시작하십시오.

grub에서 단일 사용자 모드로 부팅하려면 어떻게합니까?

단일 사용자 모드에서는 자동으로 루트 사용자이므로 파일 권한을 수정할 수 있습니다.

일반적으로 말하자면 파일 소유권이 변경된 경우입니다. 당신은 실행할 수 있습니다 :

chown -R root:root /etc

소유권과 그룹이 기본 루트로 다시 변경됩니다.

여기에 우분투 서버 12.04 LTS가 있으며 / etc 아래에 다른 그룹 소유권을 가진 적은 수의 파일 / 디렉토리가 있습니다. 이 외에도 모든 파일은 루트가 소유합니다. 그룹 소유권이 다른 파일은 다음과 같습니다.

/etc:
-rw-r----- 1 root daemon   144 Oct 26  2011 at.deny
drwxr-s--- 2 root dip     4096 Aug 22 12:01 chatscripts
-rw-r----- 1 root shadow   697 Oct 31 12:58 gshadow
-rw-r----- 1 root shadow  1569 Oct 31 13:00 shadow

/etc/chatscripts:
-rw-r----- 1 root dip  656 Aug 22 12:01 provider

따라서 처음 chown을 먼저 실행 한 후 해당 파일에서 chgrp 명령을 실행할 수 있습니다. 그런 다음 모든 것을 원래 상태로 복원해야합니다. 평균 사용자가 10 분 이상 걸리지 않아야합니다.

e.g. 
  chgrp shadow /etc/shadow

아, 그리고 마지막 단계. 변경을 완료 한 후 재부팅하십시오.

/> reboot

1

ubuntu-cd를 사용하여 컴퓨터를 부팅하고 해당 파일 시스템을 마운트하고 이러한 파일에 대한 권한 및 소유권을 수동으로 수정할 수 있습니다.

그러나 / etc에는 수정해야 할 파일이 많이 포함되어 있습니다. 시간이 다소 걸릴 수 있습니다.


실제로 모든 라이브 CD가 작동하면 기본적으로 루트로 로그인되어 있습니다.
nerdwaller 2016

소유권을 어떻게 수동으로 수정합니까?
Thegluestickman

또한 나머지를 chown을 통해하는 것보다 sudo 폴더를 고칠 수 있습니까?
Thegluestickman 21시 38 분

"chown root : root / etc"뿐만 아니라 한꺼번에 할 수도 있습니다. 다음에는 비밀번호없이 원하는 폴더에 대한 권한이있는 관리자 그룹에 자신을 추가하십시오. "visudo"및 "groupadd"를 사용할 수 있습니다.
nerdwaller 2016

1

수정해야 할 경우 먼저 사용 권한이 무엇인지 확인하십시오. 그것들이 모두 root : root가 아닐 수도 있습니다. 최악의 경우는 그렇지 않으며 왜 다른 것이 작동하지 않는지 알아 낸 후에 나중에 이것을 많이 발견합니다.

어딘가에 동일한 버전의 Ubuntu를 설치하십시오. 모든 권한을 확인하십시오.

그것들이 모두 root : root라면 루트 프롬프트를 얻습니다. liveCD를 부팅하거나 단일 사용자 모드로 부팅합니다. (예 : init = / bin / bash를 사용하는 LILO 또는 shift-GRUB). / etc를 포함하는 파일 시스템을 마운트하고 올바른 권한으로 파일을 숨 깁니다.

모든 파일이 root : root가 아닌 경우 값을 설정하는 스크립트를 구성 할 수 있습니다 (이전에 설정 한 것과 동일한 설치를 사용하여 해당 값이 무엇인지 찾아보십시오).

새로 설치 한 것이 좋은 경우 다른 설치에서 등 을 복사 해보십시오 (예 : 이전 / etc를 다른 위치로 이동 (예 : mv 등)하여 백업 한 후 pendrive에서 새로 복사 할 수 있습니다). 비밀번호 파일을 덮어 쓰므로 어떤 비밀번호가 설정되어 있는지 확인해야합니다.)

그러나 이것이 여전히 설치중인 비교적 새로운 설치 인 경우 : 다시 설치하십시오.

가장 빠르고 안전하지만 교육 수준이 가장 낮습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.