일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- permission
- HTTPD
- lvcreate
- docker image
- docker
- vgcreate
- swapon
- nmcli
- M365필터
- pvcreate
- 리다이렉션
- chmod
- journalctl
- MSBing
- 랜카드인식불량
- Kubernetes
- chatGPT
- 같은폴더
- yum
- ssh
- newbingai
- 날짜변경
- docker network
- vagrant kubernetes
- firewalld
- mount
- tar
- ansible
- 프로세스
- 엑셀파일명변경
- Today
- Total
becool
20210412 (월) 본문
09:31 homework, review
$ useradd -m -d [HOME] [USERNAME]
$ useradd -D [option]
신규 사용자 정보파일
[root@localhost home]# cat /etc/default/useradd → useradd -D 에서 똑같은 내용 출력
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
옵션 | 설명 |
-b DIR | 사용자의 홈디렉터리 위치 경로 설정 |
-e EXPIRE | 계정 만료일 ( etc/shadow ) yyyy-mm-dd (2021-04-12) |
-g GID | 생성 시 자동으로 생성/소속되는 기본그룹* ※ |
-s SHELL | 사용자의 기본 쉘 지정 |
* ※ /etc/login.defs 에 USERGROUP_ENAB no 인 상태에서 가능. yes로 되어있으면 자동으로 자기그룹을 생성함.
신규 사용자 홈디렉터리 정보파일 /etc/skel/
$ ls -l /etc/skel/
useradd -d 할때, 홈디렉터리를 /etc/login.defs에서 자동생성되지 않게 해놨다면
① /etc/skel/ 에서 파일과 디렉터리를 복사해오고
② 폴더의 chown [유저] [홈디렉터리] 으로 수정
③ 폴더 내 파일 및 디렉터리를 chmod 700 [FILE&DIRECTORY] 하여 권한을 수정하여 준다
usermod -L [user]
계정 잠금
잠금된 상태이면 /etc/shadow 에 암호필드 부분이 !로 표시되어있다.
usermod -U [user]
계정 잠금해제
===========================================
/etc/shadow
USER:PW:LASTCHANGE:MIN:MAX:WARN:INACTIVE:EXPIRE:BLANK
LASTCHANGE : 패스워드 변경일
MIN : 패스워드 최소 사용기간
MAX : 패스워드 최대 사용기간
WARN : 패스워드 만료 전 변경 유도기간
INACTIVE : 패스워드 만료일 경과후 일정 기간 내의 패스워드 변경기간
EXPIRE : 계정 만료일
chage
$ chage [option] USER
옵션 설명
-l 패스워드/계정 정책 확인
-d NUM LASTCHANGE 값 변경
-m NUM 패스워드 최소 사용기간 지정
-M NUM 패스워드 최대 사용기간 지정
-W NUM 패스워드 만료 전 변경 안내 기간
-I NUM 패스워드 만료 후 패스워드 변경 기간 지정
-E YYYY-mm-dd 계정 만료일 지정
===========================================
고급 권한 관리
특수 권한 | 파일에 미치는 영향 | 디렉터리에 미치는 영향 |
u+s(suid)4 | 파일은 파일을 실행한 사용자가 아니라 파일을 소유한 사용자 권한으로 실행된다. | X |
g+s(sgid)2 | 파일은 파일을 소유한 그룹 권한으로 실행된다. | 디렉터리에 새로 생성된 파일에는 디렉터리의 그룹 소유자와 일치하는 그룹 소유자가 설정되어 있다. |
o+t(stickybit)1 | X | 디렉터리에 대한 쓰기 권한을 가진 사용자는 자신이 소유한 파일만 제거할 수 있다. 다른 사용자가 소유한 파일을 제거하거나 강제로 저장할 수 없다. |
파일 소유권
chown [OPTION] [USER] [:GROUP] FILE
$ chown USER FILE
$ chown :GROUP FILE
$ chown USER:GROUP FILE
SetUID(4) : 파일의 소유자의 권한으로 실행하는 확장권한
SetGID(2) : 파일의 소유그룹의 권한으로 실행하는 확장권한
Stickybit(1) : 다른 사용자가 생성한 파일을 삭제할 수 없도록 하는 확장권한
[root@localhost setgiddir]# chmod 4755 file
[root@localhost setgiddir]# chmod 2755 file
[root@localhost dir1]# chmod 777 sharedir/
--> 권한 부여된 파일에 다른사용자가 삭제할 수 있음.
[root@localhost dir1]# chmod 1777 stickytest/
[root@localhost dir1]# ls -ld stickytest/
drwxrwxrwt. 2 root root 165 Apr 12 12:25 stickytest/
[test01@localhost stickytest]$ rm rootfile2
rm: remove write-protected regular file ‘rootfile2’? y
rm: cannot remove ‘rootfile2’: Operation not permitted → 스티키비트가 설정된 디렉터리에서는 삭제 불가.
8진법 뿐만 아니라 아래와 같이 심볼릭 명령도 가능하다.
[root@localhost dir1]# chmod u+s tail2
[root@localhost dir1]# chmod g+s tail3
root@localhost dir1]# chmod o+t testdir2/
[root@localhost dir1]# ls -l
-r--r--r--. 1 root root 66824 Apr 12 12:05 tail1
-r-Sr--r--. 1 root root 66824 Apr 12 12:05 tail2
-r--r-Sr--. 1 root root 66824 Apr 12 12:05 tail3
drwxrwxrwt. 2 root root 6 Apr 12 13:03 testdir2
=========================================
POSIX ACL
# getfacl [FILE]
# getfacl .
# setfacl [option] [FILE]
# setfacl -m g::perms file
u::PERMS 소유자
u:USER:PERMS 특정사용자
g::PERMS 소유그룹
g:GROUP:PERMS 특정그룹
o::PERMS 기타사용자
[root@localhost 20210412]# setfacl -m u:user03:rw aclfile1
[root@localhost 20210412]# getfacl aclfile1
# file: aclfile1
# owner: root
# group: root
user::rw-
user:user03:rw-
group::r--
mask::rw-
other::r--
[root@localhost 20210412]# ls -l
total 4
-rw-rw-r--+ 1 root root 52 Apr 12 15:07 aclfile1
10자 권한 문자열 끝에 있는 더하기 기호(+)는 이 파일에 항목을 포함하는 확장 ACL 구조가 있음을 나타낸다.
마스크 설정은 특정 사용자, 그룹 소유자, 특정 그룹에 부여가능한 최대권한을 표시한다. 각 항목에 실행 권한이 설정되어 있는 경우에도 UID 1005, operators, GID 2210 은 이 파일을 실행할 수 없다.
파일 또는 디렉터리에 ACL 마스크를 명시적으로 설정하여 특정 사용자, 그룹 소유자, 특정 그룹의 최대 유효권한을 제한할 수 있다. 이렇게 하면 마스크를 초과하는 기존 권한이 제한되지만 마스크보다 낮은 권한은 영향을 받지 않는다.
[user01@localhost 20210412]$ setfacl -m m::r user01file1
기존 설정과 상관없이 특정 사용자, 그룹소유자, 특정 그룹을 읽기 전용 권한으로 제한하는 마스크 값을 추가한다. 파일 소유자 및 기타사용자는 마스크 설정의 영향을 받지 않는다.
effective 구하는 법
user + mask AND연산 : rw- + r-x = r--
user04 + mask AND연산 : rwx + r-x = r-x
[user01@localhost 20210412]$ getfacl user01file2
# file: user01file2
# owner: user01
# group: users
user::rw-
user:user:rw- #effective:r--
user:user03:r--
user:user04:rwx #effective:r-x
group::r--
mask::r-x
other::r--
'linux' 카테고리의 다른 글
date 표현 (0) | 2021.04.14 |
---|---|
20210413 (화) (0) | 2021.04.13 |
20210409 (금) (0) | 2021.04.09 |
20210408 (목) (0) | 2021.04.08 |
20210407 (수) -NEW (0) | 2021.04.07 |