Basic account-related commands in the OS.
Test Environment
useradd & adduser 명령어로 생성
useradd 생성
useradd test : test 계정생성 (계정 생성은 root에서 생성)
passwd 생성
passwd test : test의 암호 생성 시
New password 입력
다시 한번 확인 Retype new password 설정
(암호 설정 시 심플한 암호나 6자 이내 암호 설정은 안되지만, root 계정에서 강제로 생성이 가능)
[root@localhost]# adduser wasadmin
[root@localhost]# passwd wasadmin
Changing password for user wasadmin.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
- su test : test 계정 접속
- su - : 루트 계정 접속
- passwd : 현재 UID의 password를 변경
- cd ~ : 홈 디렉터리
user 디렉토리 지정
d : 홈 디렉터리 지정
u : 계정 고유번호 지정(사용하지 않는 계정 고유번호를 지정)
g : 그룹 고유번호 지정(그룹 고유번호는 존재하는 고유번호를 지정)
c : 설명 지정(" " 사이에 설명을 넣으면 공백을 포함시킬 수 있다.)
s : 쉘 지정
[root@localhost]# useradd -d /home/was/ test
[root@localhost]# useradd -d /home/was/ test -u 510 -g 500 -c "was디렉토리" -s /bin/csh test
vi etc/passwd
- 보통 앞의 내용 처럼 adduser, passwd를 사용하면 그 정보의 내용들이 /etc/passwd에 저장이 됩니다.
root : * : 523 : 523 : Linux User : /home/was : /bin/bash
userName : passwd : UID : GID : userInfo : directory : shell
- ps password의 경우 암호화 되어서 보여진다.
UID : 사용자 명 ( -u 옵션으로 계정 고유번호 지정 가능)
GID : 그룹 명 ( -g 옵션으로 그룹 고유번호 지정 가능)
group
vi etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
.
.
dip:x:40:
ftp:x:50:
chmod
- 사용 예)
- chmod u+x test.log
파일의 소유자에게 실행 권을 준다. u는 소유자를 의미
- chmod u-rwx test.log
파일의 소유자에게 모든 권한을 해제
- chmod g+wx test.log
파일의 그룹소유자에게 쓰기와 실행 권한을 준다. g는 그룹을 의미
- chmod o-r+wx test.log
파일의 기타계정에게 읽기 권한을 빼고, 쓰기와 실행 권한
- chmod 755 test.log
가장 많이 사용하는 방식
755 중 첫번째는 소유자 두번째는 그룹 세번째는 기타 사용자를 뜻한다.
chown
chown [ 옵션 ] 사용자 대상파일명
-c : 실제로 파일의 소유권이 바뀐 파일만 자세히 기술한다.
-v : 명령의 결과를 자세히 출력한다.
-R : 하위 디렉토리와 파일의 소유권까지 한 번에 변경한다.
chown -R UID:GID 폴더경로
chown 으로 해당 디렉토리의 소유자를 변경하고
chmod 로 각 디렉토리의 퍼미션을 설정하여 파일의 보안 설정을 높일수 있음.
chmod : 파일의 소유자/소유그룹/다른사용자의 파일 권한(읽기/쓰기/실행) 변경
chown : 파일의 소유자와 소유 그룹을 변경
chown [옵션(cfvR)] 소유자:소유그룹 파일명
- 사용 예)
- chown -R user:group /home/was -> was/ 하위 파일까지의 모든 소유자를 user / 소유그룹을 group 로 변경
- chown user test.txt -> test.txt 파일의 소유자를 user로 변경
- chown :group test.txt -> test.text 파일의 소유 그룹을 group 로 변경
chgrp
usermod (유저설정후 수정하는것 uid등 쉘이등 수정, 홈디렉토리)
userdel (유저삭제)
useradd (유저등록)
사용자 추가
adduser (id)
추가한 사용자에게 비밀번호 부여
passwd (id)
소유자, 그룹 , 제3자(사이트방문자)
Owner, Group, Other
rxw rxw rxw
Read 4 읽기
Write 2 쓰기
Exe 실행 1 실행권한
합쳐서 7이면 모든권한이다. (소유주가4)
폴더 권한
-R(재귀)로 하면은 하위폴더까지 전부다 한다는것
chmod -R 754 마지막에 4를 붙여야 다른데는 접근 못함
chmod -R 755 폴더명
퍼미션 설정
[ugoa...][[+-=][rwxXs-tugo...]...][,...]
1 2 3 ,로 재귀
1 : u(소유자) g(그룹) o(다른 사용자) a(모든 사용자) / 생략시 모든 사용자로 간주
2 : +(권한부여) -(권한박탈) =(원래권한)
3 : r(읽기) w(쓰기) x(실행 / 디렉토리일 경우 접근허용)
X(다른 사용자에게 실행 권한이 있는 파일의 실행)
s(소유자와 그룹만 실행)
u(소유주 권한)
g(그룹권한)
o(다른 사용자 권한)
, 로 위의 설정 재귀 반복
사용 예) chmod u+w aaa.txt -> 소유자(u) 에게 쓰기권한(w) 을 더한다(+)
읽기권한 : 4 (100)
쓰기권한 : 2 (010)
실행권한 : 1 (001)
읽기 + 쓰기 : 6(4 + 2)
읽기 + 실행 : 5(4 + 1)
읽기 + 쓰기 + 실행 : 7 (4 + 2 + 1)
7 = 4+2+1 = r(4) + w(2) + x(1) = 일기, 쓰기, 실행이 모두 가능
6 = 4+2 = r(4) + w(2) = 읽기와 쓰기가 가능.
5 = 4+1 = r(4) + x(1) = 읽기와 실행이 가능.
4 = 4 = r(4) = 읽기만 가능.
3 = 2+1 = w(2) + x(1) = 쓰기와 실행이 가능.
2 = 2 = w(2) = 쓰기만 가능.
1 = 1 = x(1) = 실행만 가능.
0 = 0 = none = 아무 권한 없음. 파일 접근이 차단됨.
사용 예) ls -al
- rw- --- r-- 1 user group 6 09월 10 22:01 test.txt
1 2 3 4 5 6 7 8 9 10
1 : 타입( - : 파일 / d : 디렉토리)
2 : 소유자 권한 ( 읽기/쓰기/실행)
3 : 그룹 권한 ( 읽기/쓰기/실행)
4 : 다른사용자 권한 ( 읽기/쓰기/실행)
5 : 링크수
6 : 소유자
7 : 그룹
8 : 파일크기
9 : 만든 날짜/시간
10 : 파일 이름
사용 예) chmod 777 test.txt -> 소유자 / 소유그룹 / 기타 사용자 에게 모든 퍼미션을 허용
- rwx rwx rwx 1 user group 6 09월 10 22:01 test.txt
2 3 4