썸넬

rwx (읽기/쓰기/실행) 의미. 8진수(755, 644) 표기법.chmod +x로 실행 권한 부여 전후 비교.ls -al 로 파일 별 설정되어있는 권한 확인 가능.chmod 777 = 보안 자살 행위집 현관문을 뜯어내고 "누구나 들어와서 자고 가도 됨"이라고 써 붙이는 것과 동일하다..
읽기(4) + 쓰기(2) + 실행(1) 모든 권한을 모두(User, Group, Others)에게 부여하는 최악의 설정이니 사용 시 주의할 것.
다시 한번..
읽기(4) + 쓰기(2) + 실행(1)
id_rsa, my.cnf) 권한이 777이면 "위험하다"고 판단해 실행 자체를 거부함.권한 오류 뜬다고 무지성 777 금지. 학부 연구생 때 권한 오류 뜬다고 chown 777 했다가 교수님께 혼났다. 그때는 뭐가 문제인지 잘 몰랐다. 아래 규칙 준수할 것.
755 (나만 쓰기, 남은 들어오기만 가능)644 (나만 쓰기, 남은 읽기만 가능)755chmod가 아니라 *chown으로 소유자를 변경하는 것이 정답.chmod 600 (나만 읽기/쓰기) 설정 후 다른 사용자로 접근 시도해보기 (Permission denied 유도).sudo touch로 루트 소유 파일 생성 후, 내 계정으로 소유권 가져오기(chown user:user).R 옵션으로 디렉터리 하위 모든 파일 소유권 한 번에 변경./etc/passwd와 /etc/group.
이 두 파일을 열어보면 모든 사용자와 그룹의 ID 정보를 원본 그대로 확인할 수 있음.
/etc/passwd사용자의 UID(User ID)와 기본 그룹(Primary GID)을 확인하는 파일.
cat /etc/passwd사용자명:암호:UID:GID:설명:홈디렉터리:쉘ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
/etc/group그룹의 이름과 GID, 그리고 해당 그룹에 속한 멤버 목록을 확인하는 파일.
cat /etc/group그룹명:암호:GID:멤버리스트sudo:x:27:ubuntu,pi
파일을 눈으로 읽기 힘들다면 그냥 id 명령어를 치는 것이 제일 빠름.
Bash
id # 내 정보 확인
id pi # 특정 사용자 정보 확인
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom)...
group id는 잘 기억해야한다..
가능은 하지만, "시스템 자폭 버튼"을 누르는 것과 같음. 절대 권장하지 않음.
단순 텍스트 파일처럼 보이지만, 리눅스 시스템의 척추에 해당함. vi나 nano로 직접 열어서 수정하면 발생하는 치명적 문제점과 안전한 대안을 정리함.
user:x:1000:...).:) 하나를 지우거나 오타를 낸 상태로 저장하면, 즉시 모든 사용자의 로그인이 막히거나 부팅 중 시스템이 멈춤. (복구하려면 싱글 유저 모드로 들어가야 하는 대공사 발생)./etc/passwd에만 있는 게 아님./etc/shadow, 그룹 비밀번호는 */etc/gshadow에 분산 저장됨.vi로 열고 있는 동안 시스템이 계정 정보를 업데이트하려 하면 충돌 발생. 데이터 손실 가능성 있음.리눅스는 안전하게 수정하라고 전용 도구를 만들어 둠. 이걸 쓰는 것이 국룰.
usermod -u [새UID] [사용자명]groupmod -g [새GID] [그룹명]usermod -aG [그룹명] [사용자명]/etc/shadow, 홈 디렉터리 권한, 관련 그룹 정보까지 알아서 싹 다 맞춰줌.사용자 아이디(이름) 자체를 pi 에서 andrew로 바꾸려면 -l (Login name) 옵션을 써야 함. 또한, 이름만 바꾸면 홈 디렉터리 이름은 그대로 남으므로 홈 디렉터리도 같이 이동시켜야 완벽함.
로그인 중인 계정은 이름을 바꿀 수 없음.pi 계정을 수정하려면, pi에서 로그아웃하고 root나 다른 관리자 계정으로 로그인해야 함.
진짜로 UID(식별 번호)를 바꾸고 싶은 경우라면 아래처럼 사용함.
Bash
sudo usermod -u 2000 andrew
andrew의 내부 ID 번호가 1000번에서 2000번으로 바뀜. (파일 소유권 문제 생길 수 있어 주의 필요).라즈베리 파이의 Root 계정은 기본적으로 잠겨 있음(Locked). (비밀번호가 없어서 로그인 불가).
상황에 따라 두 가지 방법이 있음.
현재 계정(pi)에서 Root 쉘로 전환만 하는 방법. 가장 안전함.
Bash
sudo -i

$에서 #으로 바뀌며 Root 권한 획득.exit 입력하면 원래 계정으로 돌아옴.로그인 화면에서 ID에 root를 입력하고 싶다면 비밀번호를 만들어야 함.
Bash
sudo passwd root
root로 로그인 가능.위 2번을 해도 SSH 접속은 기본적으로 차단되어 있음. 설정 파일을 고쳐야 함.

/etc/ssh/sshd_config 파일에서 설정이 안되어있기 때문에 비밀번호를 입력해도 접속이 안되는 모습설정 파일 열기:
Bash
sudo vi /etc/ssh/sshd_config
내용 수정:
PermitRootLogin 항목을 찾음 (보통 주석 # 처리 되어 있음).yes로 변경.Ini, TOML
#PermitRootLogin prohibit-password
PermitRootLogin yes

SSH 재시작:
Bash
sudo systemctl restart ssh

Root 계정 원격 접속 허용은 해킹 1순위 타겟이 됨.
가능하면 1번 방법(sudo -i)을 사용하고, 외부 인터넷에 연결된 기기라면 3번은 절대 하지 말 것.
root 계정을 다시 잠그려면 비밀번호를 잠금(Lock) 상태로 만들면 됩니다.
터미널에 아래 명령어를 입력하세요.
Bash
sudo passwd -l root
l (Lock): 비밀번호를 무효화하여 잠급니다.root로 로그인이 거부됩니다.sudo -i를 통한 루트 권한 획득은 여전히 가능합니다 (이건 관리자 기능이라 정상임).
만약 아까 /etc/ssh/sshd_config에서 원격 접속을 허용(yes)했다면, 다시 막아야 안전합니다.
파일 열기:Bash
sudo vi /etc/ssh/sshd_config
수정:
PermitRootLogin yes → PermitRootLogin prohibit-password (또는 no)로 변경.#을 붙여서 주석 처리 (기본값으로 돌아감).적용:Bash
sudo systemctl restart ssh

다시 원상복구 해놨다.
두 가지 방법이 있음. adduser를 쓰는 것이 훨씬 편하고 강력함.
adduser (추천)우분투/라즈베리 파이 같은 데비안 계열에서 쓰는 대화형 명령어. 알아서 홈 폴더 만들고, 쉘 설정하고, 비밀번호까지 물어봐줌.
Bash
sudo adduser [새사용자명]
/home/[새사용자명] 자동 생성 + 기본 설정 파일(.bashrc 등) 자동 복사.
useradd -m (옵션 필수)리눅스 표준 명령어. 옵션 없이 쓰면 홈 폴더를 안 만듦. 반드시 -m 옵션을 붙여야 함.
Bash
sudo useradd -m [새사용자명]
m (Make home): 홈 디렉터리를 생성하라는 옵션.sudo passwd [새사용자명]으로 비번을 따로 설정해줘야 함.sudo adduser newuser (편함)sudo useradd -m newuser (깔끔함)