제목 그대로…
루트 패스워드 짝퉁으로 알아내는법말고…
원래 디폴트로 알수없게 되어있는게 맞나요???
예전 리눅스및 유닉스도 루트암호는 알 수 없어요.
예전에는 password가 crypt를 사용해서 만들어 졌는데…
이건 기본적으로 역변환이 안되는 알고리즘이거든요.
암호를 비교하기 위해서는 crypt명령으로 생성된 암호와 기존 암호화된 암호를 비교합니다.
지금은 shadow패드워드 및 보안 기능이 더 강화되었을 것이므로…
루트 암호는 알아낼 수 없다고 보는게 맞죠.
다만… 커널 부트옵션에서 single모드를 지원하면…(우분투에서는 복구모드)
암호 입력 없이 관리자권한으로 들어갈 수 있습니다.
그래도 관리자암호는 알아낼 수 없지요.
의도가 달라졌네요…
의도는
리눅스 설치시…예전엔 root 권한패스워드 설정하고
직접 root 로 들어갔는데,
리눅스 우분투 일반버젼도 그렇고, 서버 버젼도 그렇게
제가 root 일 수는 없는건가요??
그냥 sudo 만 써야하는건지 궁금해서요…
sudo passwd root
해보시면 관리자 패스워드를 설정하실 수 있습니다.
관리자 패스워드를 설정하신 후 로그인 하시면 되는데…
그래픽환경의 경우, 관리자권한으로 로그인을 기본적으로 허용하는지 확인 안해봤네요.
보통은 관리자는 로컬컴퓨터에서 콘솔 로그인만 허용을 합니다.
각종 네트웍서비스나 X등은 아마도 막혀 있을겁니다.
이건 pam, xhost, XAuthority, apparmor등으로 제한되었을 가능성이 큽니다.
sudo bash나 sudo su - 등을 이용해서 직접 루트가 될 수 있습니다.
루트로 바로 로긴을 하지 못하도록 막는 것은 보안이 아니라 사용상의 문제 때문입니다. 사용자가 실행한 매우 간단한 명령 하나로 시스템 전체가 망가지는 것을 막기 위해서 루트로는 직접 로긴을 하지 못하도록 하는 것입니다.
윗분 말씀 처럼 그렇지는 않습니다.
X프로토콜로 접속해 보면 아마 루트로 로그인 안될겁니다. 예전에는 그랬습니다.
로컬 콘솔로 로그인은 암호입력 없이도 로그인하게 복구모드도 만들어 놓았습니다.
그건 단순히 사용자의 실수 문제가 아니라 보안 때문이며,
sudo의 용도 역시, 그런것이 아니라…
루트권한이 필요할때 잠시 권한을 빌리고 사용하지만 이내 일정 시간후 권한을 잃게 만들어 졌습니다.
이건… 사용자가 자리를 비울때나… 보안상의 문제로 이렇게 만들어 놓은 겁니다.
쉽고 간단히 생각해 보면…
sudo /bin/rm -rf / 명령을 어떻게 막습니까?
https://help.ubuntu.com/community/RootSudo
Benefits of using sudo
Some benefits of leaving Root logins disabled by default include the following:
The Ubuntu installer has fewer questions to ask.
Users don’t have to remember an extra password (i.e. the root password), which they are likely to forget (or write down so anyone can crack into their account easily).
It avoids the "I can do anything" interactive login by default (e.g. the tendency by users to login as an "Administrator" user in Microsoft Windows systems), you will be prompted for a password before major changes can happen, which should make you think about the consequences of what you are doing.
sudo adds a log entry of the command(s) run (in /var/log/auth.log). If you mess up, you can always go back and see what commands were run. It is also nice for auditing.
Every cracker trying to brute-force their way into your box will know it has an account named Root and will try that first. What they don’t know is what the usernames of your other users are. Since the Root account password is locked, this attack becomes essentially meaningless, since there is no password to crack or guess in the first place.
Allows easy transfer for admin rights, in a short term or long term period, by adding and removing users from groups, while not compromising the Root account.
sudo can be setup with a much more fine-grained security policy.
The Root account password does not need to be shared with everybody who needs to perform some type of administrative task(s) on the system (see the previous bullet).
The authentication automatically expires after a short time (which can be set to as little as desired or 0); so if you walk away from the terminal after running commands as Root using sudo, you will not be leaving a Root terminal open indefinitely.
그러고보니 help ubuntu… 여기도 한글화되면 참좋겠네요…
sudo 가 보안 면에서 유리하기 때문에 sudo를 씁니다. 일단 sudo bash 정도 명령어면 루트쉘을 돌릴 수 있으니까 쓰는데 불편하지는 않습니다. 뭐… 어떤 사람들은 su 치다가 sudo bash 하려니 엄청 불편하다… 그러는 경우도 있습니다만.
일단 sudo가 좋은 점은 예를들어 관리자가 여럿일 때 유리합니다. root를 관리자로 지정해 놓으면 관리자 여럿이 암호를 공유해야 합니다. 일단 이렇게 암호를 공유하려면 서로 통신을 해야 하니 암호가 새어나갈 가능성이 생기겠죠.
또, 이렇게 관리자들끼리 암호를 공유하려면 불편합니다. 비번 바꾸면 매번 연락해야지… 일 좀 하려고 루트로 들어가려는데 암호 막히지… 이러면 무지 귀찮아요. 그런데 sudo를 쓰면 개개인마다 자기 아이디로 로그인해서 그냥 자기 암호 알아서 관리하면 됩니다. 또, 해킹을 당했을 때 로그에도 누구 아이디로 어떻게 뚫렸는지 알 수 있어서 해킹 대처하기도 좋습니다.
그리고 우분투나 기타 데스크탑 위주 배포폰들이 root를 채용하지 않는 것은 인터페이스 쪽 문제도 있습니다. 의외로 사용자들에게 root나 관리자 개념을 가르치려면 무지 헛갈려 합니다. 왜 내 컴퓨터를 쓰는데 아이디를 두개 만들어야 하는지 학습을 해야 합니다. 이것보다는 그냥 sudo를 써서 관리자 권한이 필요할 때 한번씩 더 로그인을 시키는 것이 자연스럽고 편리합니다. 다행히 요즘은 맥 윈도우7까지 모두 거의 sudo와 같은 인터페이스를 갖고 있죠.
어쨌든 루트 권한 패스워드는 만들고 싶으면 만드시면 됩니다. sudo passwd root 하면 당연히 root사용자의 패스워드가 만들어 집니다.
[quote="chxooi":3d9twsvb]의도가 달라졌네요…
의도는
리눅스 설치시…예전엔 root 권한패스워드 설정하고
직접 root 로 들어갔는데,
리눅스 우분투 일반버젼도 그렇고, 서버 버젼도 그렇게
제가 root 일 수는 없는건가요??
그냥 sudo 만 써야하는건지 궁금해서요…[/quote:3d9twsvb]
그냥 참고만 하시기을 바라며 이 방법은 아주아주 비권장하는 방법입니다… 자신의 계정을 root로 만들어서 들어가고 싶다… 일단 보안적인 문제가 발생할수있습니다,
하지만 sudo나 su -와 같은 방법이 아닌 다른 방법으로 로그인때마다 만들어 줄수있습니다… root 권한을 가지면 됩니다. /etc/passwd 파일을 수정하면 됩니다…
즉 root의 권한은 다음과 같이 되어있습니다.
root0:0:root:/bin/bash
자신의 계정도 0:0 로 놓으면 루트권한을 가지게됩니다… 하지만 gui 환경일 경우는 막혀있을겁니다… 먼저 풀어주시야 합니다… 그렇지않으면 로그인화면에서 자신의
계정이 나타나지않을수있습니다. 일단 그리고 다시 말씀드리지만 보안적인 문제가 발생을 핧수있습니다. sudo 명령을 사용할것을 권장합니다…
(우분투 11.04 버젼 기준.)
11.04버젼에서는 root로 로그인하려고 해도 password가 맞지 않다고 로그온을 막습니다.
제가 알기로는 password를 알아낼 수 없도록 해놓은것 같습니다. 왜냐하면 제가 root 패스워드를 따로 설정한 적이 없기 때문입니다.
(추측입니다. 알아내는 방법이 있다면 더 좋겠습니다.)
다음과 같은 방법을 이용하면 우분투 8.04, 9.10 버젼과 똑같은 방법으로 root 로그온이 가능합니다.
- 부팅합니다.
- 자기 ID로 로그온 합니다.
- 터미널 오픈
-
sudo passwd root
- 패스워드 재설정
- 리부팅
- other 클릭
- ID를 root 로 입력
- 5에서 입력한 패스워드 입력
- root로 부팅.
저는 8.04버젼이나 9.10버젼에서 root로만 로그인해서 사용했습니다.
sudo su를 넣는 과정이 귀찮았기 때문입니다.
필요하신분은 위와 같이 사용하시면 될것 같습니다.
보안상의 문제는 본인이 책임져야하겠지요.
이 글에서 달린 답변을 보고 'root 암호가 걸려 있는데 알아낼 수 없다’고 오해하시는 분도 있는 것 같은데, 우분투는 [b:ynmtb9if]root 암호가 아예 설정되어 있지 않습니다.[/b:ynmtb9if] 걸려 있는 것과는 엄연히 다릅니다. 그리고 이런 식으로 암호를 알아낼 수 있게 된다면, 설치할 때 설정한 사용자 계정의 암호도 [b:ynmtb9if]똑같이 알아낼 수 있다[/b:ynmtb9if]고 생각하시면 됩니다. 그건 아무도 바라지 않겠죠.