
* 편의상 계정명: test , 파일명: test.tar.gz , 파일은 /home/test/ 디렉토리에 저장돼있는 상태로 가정한다.
(root 폴더는 home 폴더와 동일한 트리에 존재하는 상태)
* test 계정 생성시 /home/test/ 디렉토리가 자동 생성되고, test 계정은 기본적으로 자기 디렉토리(/home/test/) 에 대한 권한을 모두 갖고 있다. (물론 관리자 계정인 root 권한으로 특정 계정 권한 변경 가능하다.)
su -test: test 계정으로 계정 변경, 이때 현재 디렉토리는 /home/test/ 로 변경된다.
su test(계정명 앞에 - 를 생략하는 경우): 이전 계정이 있었던 경로에 그대로 남으면서 로그인 계정만 변경 / 그래서 위 이미지의 경우 계정이 바꼈어도 root 에 있다.
위의 경우 su test 로 계정 변경 후 -> tar -zxcf test.tar.gz 로 해당 파일을 압축해제 했더니 -> 파일 실행 허가 거부 라는 에러가 발생했다.
에러 발생 이유)
1. su test 명령어를 사용했기 때문에
2. 계정은 관리자(root)에서 특정 계정(test)로 변경됐지만, 현재 디렉토리는 root 에 그대로 남아있다.
3. 그런데, test 계정은 root 디렉토리 대한 권한이 없고
4. /root/ 디렉토리에는 test.tar.gz 라는 파일이 존재하지도 않는다.
해결)
따라서 특정 계정으로 특정 디렉토리에 있는 파일에 대해 권리(읽기,쓰기,실행하기)를 행사하기 위해서는
1. 먼저 그 계정의 권한(해당 디렉토리 또는 파일에 대한)이 어떤지,
2. 현재 위치가 알맞은 디렉토리인지,
3. 접근하려는 파일 또한 알맞은 디렉토리에 위치해있는지 확인해야한다.
'에러 해결 > Server' 카테고리의 다른 글
[Docker] Redis 버전 업데이트로 인한 unable to connect to localhost:6379 에러 해결 (0) | 2023.08.24 |
---|---|
[tomcat] IntelliJ 톰캣 연동시 Address localhost:8080 is already in use 에러 (0) | 2023.06.16 |
[Ubuntu] VirtualBox Server 설치 에러: Temporary failure resolving 'archive.ubuntu.co (0) | 2023.04.20 |
[WAS] Linux - tomcat 버전 확인 (0) | 2023.03.17 |