실수로 "chown www-data : www-data / -R"을 루트로 실행했습니다.


26

방금 몇 초 전에 이것을 실행했습니다. 내가 할 관리 Ctrl- C나는 일을 시작 무엇을 실현 한 빨리.

지금까지 시작한 유일한 디렉토리는 /bin입니다.

나는 다른 일을 두려워합니다. 지금까지는 su더 이상 일반 사용자로 사용할 수 없다는 것을 깨달았습니다 .

운 좋게도 여전히 다른 루트 터미널이 열려 있습니다. 어떻게해야합니까?


26
당신이 거기에 잡힌 것처럼 들립니다.
ta.speot.is는

4
이제 백업의 중요성을 이해했습니다. 정기적으로하십시오.
Juliano

최소한 그는 루트에서 chmod하지 않았습니다. 그것은 완전한 재앙입니다. 최소한 루트에서 rm -rf를 사용하면 디스크 공간을 더 확보하고 전체 시스템 재설치를 준비 할 수 있습니다. chmod는 전체 시스템 재설치 외에는 복구하기 어려운 실제 혼란을 남겨 둡니다. 울타리 양쪽에 풀이 갈색이에요?
Fiasco Labs

답변:


10

/ bin /의 대부분은 root : root가 소유해야하므로 다음을 실행하면 해당 파일의 소유권을 수정할 수 있습니다.

chown root:root -R /bin/ 

setuid 비트가 / bin / su에 올바르게 설정되어 있는지 확인하고 다음과 같이 수정할 수 있습니다.

chmod 4755 /bin/su

1
우분투에서는 sudo와 동일한 작업을 수행하는 것이 특히 중요합니다. 루트 암호가 기본적으로 설정되어 있다고 생각하지 않습니까? 그건 그렇고, 실제로 루트 쉘 대신 sudo를 사용하는 것이 좋습니다. sudo를 입력하는 데 걸리는 0.5 초는 일반적으로 트랙에서와 같은 실수를 중지합니다. 그냥 루트 쉘에서 작업하는 ... 미스에 쉽게
번드 하우

4
paste.ubuntu.com/362468 는 Ubuntu 9.10 데스크탑의 "ls -l / bin"입니다. 정확히 같은 파일이 설치되어 있지는 않지만 적어도 특별한 권한이 필요한 파일에 대한 힌트를 제공해야합니다.
andol

@ Bernd : 관리 작업을 많이하지는 않지만 루트로하는 것보다 바보 같은 일이 적다는 것을 알았습니다. 절대 다시는 루트 비밀번호를 사용할 수 없습니다. (아니, 우분투에는 기본 루트 비밀번호가 없으며 MacOSX에는 비밀번호가 없다고 생각합니다.)
David Thornley

@David : OS X에는 기본 루트 암호가 없으며 암호를 설정하는 것은 대부분 실수입니다. IMO. 거의 항상 더 좋은 방법이 있습니다. 문제는 Mac이 안전하지 않다는 것입니다. RK, Virii, Botnet 클라이언트 및 c의 수익성을 높이기 위해 더 큰 설치 기반을 갖추면 많은 재미를 볼 것으로 기대됩니다.
Bernd Haug

36

Redhat 사용자 :

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

데비안 / 우분투 사용자 :

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

화면이 실행되는 동안이 작업을 두 번 이상 수행하십시오.

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

지불 아주 가 잘못된 권한을 가진 것에 대해 불평하는 경우, 다른 화면 창에 그것을 수정해야하기 때문에 출력에 세심한주의를.

화면에서 충돌 코스 :

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

솔라리스 사용자 :

당신은 망했어.

pkgchk -R / -f -a

모든 권한을 재설정하지만 setuid-ness는 여전히 손상됩니다. 백업 또는 다른 solaris 시스템을 사용하여 setuid / setgid 스크립트 및 파일을 찾아 수동으로 수정하십시오.

백업에 관한 중요한 것

당신이 그것들을 가져가는 것이 아니라 회복 할 수 있다는 것입니다.

다른 사람들이 백업을 수행하라는 조언을했지만 테스트를해야한다고 덧붙이고 싶습니다. 유닉스 시스템을 사용하는 경우 , 파일을 주기적으로 다른 머신에 덤프 할 수없고 모든 것이 작동하는지 확인할 이유없습니다 .


FreeBSD 사용자 : 이런 종류의 실수를하지 않을 것입니다;)
einstiien

10
@einstiien Yep, FreeBSD 사용자는 바로 rm -rf무대 로갑니다 .
grawity

@grawity : lol, 좋은 것.
einstiien

가난한 솔라리스 사용자 :(
Mircea Chirea

3

영향을받는 바이너리의 set-uid 플래그도 제거되었을 수 있습니다. 이것은 chown의 보안 기능입니다. 다른 시스템에 set-uid 또는 set-gid 플래그가있는 바이너리를 확인하고 바이너리에도 설정하십시오.


3

RPM을 사용하여 파일 권한을 재설정하는 방법에 대한 자세한 내용을 설명하려고했지만 더 많은 정보가 있는 사이트를 찾았습니다 . 또한 우분투 / 데비안 (일반적으로 .debs)은 그것을 지원하지 않는다고 언급합니다.

그러나 일반적으로 원하는 옵션은 다음과 같습니다.

rpm --setugids {packagename}

이것은 태그로 표시된 바와 같이 우분투 시스템에 있습니다. 이는 rpm 및 .RPM 대신 dpkg 및 .DEB가 사용됨을 의미합니다.
Kevin M

2

이것이 데비안 시스템이라면 모든 것을 다시 설치해야합니다.


0

백업 작업이 있습니까? 그렇다면 bin 폴더를 복원하십시오.

그렇지 않으면 동일한 버전의 우분투를 설치 한 다른 상자와 chown작동중인 설치에서 찾은 것을 살펴보십시오.


0

이것을 시도하십시오 : / bin 디렉토리에서 모든 www-data를 찾으십시오

# find /bin -user www-data

그런 다음 www-data를 원래 사용자로 다시 변경하십시오.

# find /bin -user www-data -exec chown ORiginalUser {} \;

# then change www-data back to oringal group
# find /bin -group www-data -exec chgrp originaluser {} \;

0

훌륭한 답변에 감사드립니다. 모든 것이 이제 수정 된 것 같습니다.

/ bin / su가 chmod'd를 4755로 한 번 작동했습니다 (왜 chown이 suid 비트를 변경했는지 확실하지 않습니다)

나는 알지 못했지만 / home 디렉토리를 통해 작업하기 시작했지만 충분히 쉽게 해결할 수있었습니다 (각 dir에 대해 user : group을 사용자에게 설정하십시오)

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