8진수 각 숫자는 권한 패턴
0~7,
x -> 2**0 = 1
w -> 2**1 = 2
r -> 2**2 = 4
0 : 권한을 허용하지 않겠다.
1 : 실행(x) 권한 허용
2 : 쓰기(w) 권한 허용
3 : 읽기(r) 권한 허용
| 8진수 | rwx |
|---|---|
| 0 | --- |
| 1 | --x |
| 2 | -w- |
| 3 | -wx |
| 4 | r-- |
| 5 | r-x |
| 6 | rw- |
| 7 | rwx |
[user3@linux-server ~]$ chmod 000 date.txt
[user3@linux-server ~]$ ll date.txt
----------. 1 user3 user3 29 Jul 25 10:21 date.txt
[user3@linux-server ~]$ chmod 764 date.txt
[user3@linux-server ~]$ ll date.txt
-rwxrw-r--. 1 user3 user3 29 Jul 25 10:21 date.txt
# ls -R [디렉터리] : 디렉터리 안에 서브 디렉터리까지 다 보여줌
-R : 서브 디렉터리까지 영향을 주는 옵션
[user3@linux-server ~]$ ls -lR test1
test1:
total 0
drwxrwxr-x. 3 user3 user3 19 Jul 25 10:44 test2
test1/test2:
total 0
drwxrwxr-x. 2 user3 user3 6 Jul 25 10:44 test3
test1/test2/test3:
total 0
# chmod -R [권한숫자][디렉터리] : 서브 디렉터리까지 같은 권한으로 변경
[user3@linux-server ~]$ chmod -R 550 test1
[user3@linux-server ~]$ ls -lR test1
test1:
total 0
dr-xr-x---. 3 user3 user3 19 Jul 25 10:44 test2
test1/test2:
total 0
dr-xr-x---. 2 user3 user3 6 Jul 25 10:44 test3
test1/test2/test3:
total 0
<user3 계정>
[user3@linux-server ~]$ date > date.txt
[user3@linux-server ~]$ ll
total 4
-rw-rw-r--. 1 user3 user3 29 Jul 25 10:58 date.txt -- 664 권한
[user3@linux-server ~]$ mkdir new
[user3@linux-server ~]$ ll
total 4
-rw-rw-r--. 1 user3 user3 29 Jul 25 10:58 date.txt -- 664 권한
drwxrwxr-x. 2 user3 user3 6 Jul 25 10:58 new -- 775 권한
<root 계정>
-rw-r--r--. 1 root root 139 Jul 25 11:00 cal.txt -- 파일 644 권한
drwxr-xr-x. 2 root root 6 Jul 25 11:00 new -- 디렉터리 755 권한
유저마다 기본값 권한이 다르다.
<user 3 계정>
[user3@linux-server ~]$ umask
002
[user3@linux-server ~]$ umask -S
u=rwx,g=rwx,o=rx
<root 계정>
[root@linux-server ~]# umask
022
[root@linux-server ~]# umask -S
u=rwx,g=rx,o=rx
파일 권한은 일반적으로 디렉터리 권한에서 execute 권한은 제외 후 부여된다
<일반계정>
일반 파일의 최대 권한
rw- rw- rw-
110 110 110 <- 2진수 (666)
000 000 010 <- 마스크값(002)
666-002 = 664 권한
디렉터리의 최대 권한
rwx rwx rwx
111 111 111 <- 2진수 (777)
000 000 010 <- 마스크값(002)
777-002 = 775 권한
<root계정>
일반 파일의 최대 권한
rw- rw- rw-
110 110 110 <- 2진수 (666)
000 010 010 <- 마스크값(022)
666-022 = 644 권한
디렉터리의 최대 권한
rwx rwx rwx
111 111 111 <- 2진수 (777)
000 010 010 <- 마스크값(022)
777-002 = 755 권한
[user3@linux-server ~]$ umask 022 --002로 수정
[user3@linux-server ~]$ umask -S
u=rwx,g=rx,o=rx
[user3@linux-server ~]$ ls -l > ls+print.txt
[user3@linux-server ~]$ mkdir dir1
[user3@linux-server ~]$ ll
total 8
drwxr-xr-x. 2 user3 user3 6 Jul 25 11:32 dir1 --755 권한
-rw-r--r--. 1 user3 user3 160 Jul 25 11:32 ls+print.txt --644 권한
vi편집기를 통해 .bash_profile 에서 umask 022를 작성
# source .bash_profile을 통해 적용
# chown [변경될소유자]:[변경될그룹][파일(디렉터리)]
# chown user3:user3 /home/user3/day.txt
# chown -R [변경될소유자]:[변경될그룹][파일(디렉터리)] : 서브 디렉터리 소유자까지 전부 변경해야 할 경우
# chown [변경될소유자][파일(디렉터리)] : 소유자만 변경
# chown user3 /home/user3/cal_2024.txt
# chown :[변경될그룹][파일(디렉터리)] : 그룹만 변경
# chown :user3 /home/user3/cal_2024.txt
# chgrp user3 /home/user3/cal_2024.txt
# chown :user3 /home/user3/cal_2024.txt 와 동일한 명령어
[user3@linux-server test]$ tar cvf all.tar *
cal.txt
date.txt
ls.txt
[user3@linux-server test]$ ll
total 24
-rw-r--r--. 1 user3 user3 10240 Jul 25 13:44 all.tar
-rw-r--r--. 1 user3 user3 139 Jul 25 13:42 cal.txt
-rw-r--r--. 1 user3 user3 29 Jul 25 13:42 date.txt
-rw-r--r--. 1 user3 user3 55 Jul 25 13:42 ls.txt
[user3@linux-server ~]$ tar xvf ./test/all.tar -C ./test2
cal.txt
date.txt
ls.txt
[user3@linux-server ~]$ cd test2
[user3@linux-server test2]$ ll
total 12
-rw-r--r--. 1 user3 user3 139 Jul 25 13:42 cal.txt
-rw-r--r--. 1 user3 user3 29 Jul 25 13:42 date.txt
-rw-r--r--. 1 user3 user3 55 Jul 25 13:42 ls.txt
mobXterm(FTP 파일) 설치
mobXterm을 통해 jdk-8u131-linux-x64.tar 리눅스 서버로 파일 전송
/usr/java 로 이동 후 다운받은 jdk-8u131-linux-x64.tar.gz 압축해제
[root@linux-server java]# tar -xvfz ~/jdk-8u131-linux-x64.tar.gz
[root@linux-server ~]# which java
/usr/bin/java
[root@linux-server ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
기본 java 버젼은 openjdk로 되어있다.
기본 버젼을 oracle jdk로 변경하기 위한 작업을 해야한다.
[root@linux-server ~]# update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.8.0_131/bin/java" 1
[root@linux-server ~]# update-alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java)
2 /usr/java/jdk1.8.0_131/bin/java
Enter to keep the current selection[+], or type selection number: 2
예외) 만약 제거를 해야 하는 상황이면
[root@linux-server ~]# update-alternatives --remove "java" "/usr/java/jdk1.8.0_131/java"
remove를 사용하면 된다.