[quote:hxo0xizw]몇일전에 제 계정(루트)을 /etc/group파일에 있는 cvs라는 그룹에 넣었습니다.
그 뒤부터는 sudo가 안먹히는데요…(비밀번호가 틀렸다고 나옵니다)[/quote:hxo0xizw]
ㅋ 아마도 cvs그룹에 자신을 넣기 위해
[b:hxo0xizw]sudo usermod -G cvs his363[/b:hxo0xizw]
하셨던 모양인데 흔히 하시는 오류입니다.
usermod명령을 사용하실땐 극히 주의하셔야 합니다.
-a (append 추가) 옵션 없이 -G 옵션만으로 저렇게 사용자를 그룹에 넣게 되면
이전에 속해 있던 그룹에서는 그 사용자를 제거해 버리게 됩니다.
예컨데 sudo를 사용하기 위해 이전에 admin그룹에 속해 있었을 텐데
-a 옵션 없이 사용한 결과 his363가 admin그룹에서 제거되고
더이상 sudo를 사용못하게 되죠.
정확한 사용법은
[b:hxo0xizw]sudo usermod -a -G cvs his363[/b:hxo0xizw]
입니다.
뭐 본래 주제로 돌아가서 이유야 어쨌든 일반계정 his363이 sudo를 사용못하게 됐다면
처하신 상황에 따라 두가지 해결방법이 있습니다.어떤분들은 부팅 늦는걸 못견뎌하셔서
Grub boot menu timeout을 0으로 설정하신분들 계시죠? 이런 분들은 grub부팅 메뉴 자체가
나타나지 않으니까 ( 0으로 설정하지 마세요. 라이브 시디가 없으면 빼도 박도 못하고
운영체제 재설치해야하니까요 ㅋ) 라이브시디를 사용하시고
[quote:hxo0xizw]### vulpes님의 지적으로 조금 고칩니다.
Grub boot menu timeout을 0으로 설정하신분들도 "순간을 잘잡아" Escape 키나 Shift 키를
쳐주면 메뉴가 뜬다고 합니다(저는 성공해보지 못했습니다).grub 이나 grub2 메뉴가 뜨자마자
방향키를 쳐서 무한대기 모드로 들어가면 타임아웃 적용을 받ㄴ지않고 리커버리 모드를 선택할수 있다고 합니다.[/quote:hxo0xizw]
아닌 분들은 재부팅하신 뒤 grub 부팅메뉴에서 recovery mode를 선택하시면 됩니다.
- 리커버리 모드의 경우
사용중인 컴퓨터에 우분투만 설치되어 있다면 부팅시에 Escape 키를 누르면 grub부팅 메뉴가 나타납니다.
다른 운영체제와 듀얼 부팅하고 있다면 Escape 키 안눌러도 grub부팅 메뉴가 나오구요.
Ubuntu 9.10 (Karmic)경우는 사용중인 컴퓨터에 우분투만 설치되어 있다면 Shift 키를 눌러야 부팅 메뉴가 나옵니다.
주의하세요.
이제 이 부팅메뉴에서 (여러 커널이 설치된 경우라면 원하는 커널의) recovery mode를 선택한뒤 부팅이 완료되면
나타나는 여러 옵션중에 Drop to root shell prompt 옵션으로 방향키를 써서 선택한뒤 엔터를 눌러줍니다.
이제 룻쉘에서 원하는 사용자를 admin그룹에 다시 넣어 줍니다. -a 옵션 꼭 넣으세요 ㅋ.
usermod -a -G admin his363
exit
해서 빠져나오면 다시 recovery 메뉴가 보일겁니다.
resume normal boot을 선택해서 정상부팅하면 이제 된겁니다.
- 라이브 시디의 경우
라이브시디로 부팅한뒤 부팅메뉴에서 "Try Ubuntu without any change to your computer" 를 선택
부팅이 끝나면 터미널을 열고
sudo fdisk -l
해서 나온 결과중에 자신의 리눅스의 /가 설치된 파티션(예컨대 /dev/sda1)을 찾아서
적당한 마운트 포인트를 만든뒤 마운트 해줍니다.
(라이브시디 디폴트 계정은 ubuntu,패스워드는 없습니다.
즉 패스워드 요구하면 그냥 엔터치면 된다는 의미)
$ sudo mkdir /media/mylinux
$ sudo mount /dev/sda1 /media/mylinux
$ sudo chroot /media/mylinux
이제 다음 명령으로 원하는 계정(예컨대 his363)을 admin그룹에 추가해줍니다.
usermod -a -G admin his363
reboot
!!!사족 1.
이런 과정을 거치고나면 이런 생각이 드실수도 있습니다
recovery mode는 바로 root계정이 되게 해주니 상당히 보안에 취약한것 아닌가?
recovery mode에 아무나 접근 못하게 하기 위해서는 grub 패스워드를 설정하면 됩니다.
아니 아예 BIOS 패스워드를 설정할수도 있습니다.
하지만 근본적으로 말해서 내 컴퓨터에 누군가 물리적으로 접근가능하면
사실상 어떤 방법으로도 접근을 막을 수가 없는게 사실입니다.
grub패스워드는 live cd 로 부팅하면 소용이 없게 되고
bios패스워드도 하드 디스크를 빼서 다른 컴퓨터에 연결해버리면 역시 무용지물이 되구요.
!!! 사족 2.
아 왜 룻 패스워드 안찾아 주고 admin어쩌고 하라는 거야?
하시는 분들릏 위해 sudo의 작동 원리에 대해 설명을 좀 드리자면
sudo 는
/etc/sudoers 파일에 있는
Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
란 부분과
/etc/group 파일의
admin
113:his363,aaabbb,cccddd
항목을 바탕으로 예컨대 룻계정없이도 his363 aaabbb cccddd 이들 세 사용자는
자신들의 패스워드만으로 룻권한 명령을 사용할수 있게 됩니다.
왜 admin그룹에 사용자를 추가하기만 하면 되는지 아시겠지요?