우분투 리눅스를 설치할 때 sudo 권한(관리자 권한)이 필요할 때가 종종 있다.
sudo 권한이 없으면 접근 권한이 있는 디렉토리로 변경하거나 sudo su
명령어를 통해 root 계정으로 컴파일 설치할 수 있는데 이는 보안상 위험하여 일반 계정에 관리자 권한을 부여하여 사용한다.
whoami
id
groups
sudo cat /etc/passwd
사용자 계정 표시 양식
사용자명:패스워드:계졍UID:계정GUI:이름:홈디렉토리:로그인쉘
root:x:0:0:root:/root:/bin/bash #슈퍼유저
user1:x:1000:1000:user1:/home/user1:/bin/bash #사용자계정
www-data:x:33:33:www-data:/var/www:/usr/bin/sbin/nologin #서비스계정
0 : root
1~99 : predefined
100~999 : administrative and system accounts
1000~ : user
sudo adduser 계정명
sudo usermod -aG sudo 계정명
파일 또는 디렉토리를 조회하면 아래와 같이 보일 것이다.
rwxr-xr-x 1 root root 5720 Jul 3 20:06 a.out
rw-r--r-- 1 root root 722 Jul 2 21:12 crontab.bak
출력 결과는 각각 파일종류 및 권한(퍼미션), 링크수, 사용자(소유자), 그룹, 파일크기, 수정시간, 파일이름을 나타낸다.
파일의 권한은 '-rwxr-xr-x'으로 확인할 수 있고
소유권은 'root root'으로 확인할 수 있다.
앞에 있는 root 사용자를 나타내고, 뒤에 있는 root 그룹을 나타낸다.
(리눅스에서는 기본적으로 사용자와 동일한 이름의 그룹을 만든다.)
앞에서부터 3자리씩 끊으면 각각의 권한을 알 수 있다.
파일(-), 디렉토리(d)를 구분
rwx 사용자(owner, 소유자) 권한(퍼미션)
r-x 그룹(group) 권한
r-x 다른 사용자(other) 권한
r : 파일 읽기 권한 - 4
w : 파일 쓰기 권한 - 2
x : 파일 실행 권한 - 1
chmod [변경될 퍼미션값] [변경할 파일]
#예시
chmod 777 hello/[파일 또는 디렉토리] # 숫자를 사용해 rwx를 모든 구분에 적용
chmod u+x hello.txt # user에 x(실행) 권한 추가
chmod g+rw hello.txt # group에 rw(읽기/쓰기) 권한 추가
chmod o+rx hello.txt # other에 rwx(읽기/쓰기/실행) 권한 추가
chmod +x hello.txt # 모두에게 x(실행) 권한 추가
chmod 755 ./[파일 또는 디렉토리] # 소유자에게는 모든 권한, 그룹과 공개 권한은 읽기, 실행
chmod -R 755 ./[파일 또는 디렉토리] # 하위 디렉토리까지 전부 권한을 부여하고 싶은 경우 사용
chown [변경할 소유자] [변경할 파일]
#예시
chown -R userA:userA ./[파일 또는 디렉토리] # 하위 디렉토리, 파일도 동일한 오너쉽 부여
chown user1 hello.txt # 해당 파일의 소유자를 user1로 변경
chown user1:user1 hello.txt # 해당 파일의 소유자와 그룹을 모두 user1로 변경
chown :user1 hello.txt # 해당 파일의 그룹을 user1로 변경
sudo usermod -l 변경 원하는 계정명 바꾸려는 계정명
#home 디렉토리 계정명 변경
sudo usermod -d /home/바꾸려는 계정명 -m 바꾸려는 계정명
sudo deluser 계정명
sudo rm -r /home/계정명
#비밀번호를 변경하길 원하는 계정에 접속
passwd
# root 계정인 경우 sudo를 생략할 수 있다.
sudo passwd 계정명
[출처] : https://jimnong.tistory.com/1271, https://hooongs.tistory.com/239