Linux - rwx 권한, su, sudo, 환경변수
Read, Write, Execute 권한
CLI로 폴더, 파일 등의 권한을 부여하거나 삭제할 수 있다.
각 파일별 권한은 ls -l 명령어로 확인이 가능하다.
첫 글자를 제외한 9개의 칸은 각 3칸씩 owner, group, other를 뜻하며, 첫 글자는 폴더일 경우 d, 아닐 경우는 -로 대체된다.
owner는 주로 user가 되고 프로젝트에서는 개개인마다 권한을 부여하기보다는 그룹에 포함시켜 그룹 권한을 주는 편이 더 낫다고 한다. other은 파일을 만들지 않은 모든 사람으로, global 권한 설정이라고도 볼 수 있다.
읽기, 쓰기, 실행 권한을 CLI로 설정하는 방법은 Symbolic method와 Absolute form으로, 두 가지가 있다.
- Symbolic method 을 이용한 권한 설정법
- `chmod u+rwx urclass.js`
- `chmod go-rwx urclass.js`
- Absolute form 권한 설정법
chmod 700 urclass.js
su, sudo
차이점
-
su (switch user)
현재 계정을 로그아웃 하지 않고, 다른 계정으로 전환하는 명령어
- su 계정명 (현재 계정의 환경변수 사용)
- su - 계정명 (변경된 계정의 환경변수 사용)
-
option
- c : 쉘을 실행하지 않고, 주어진 명령만을 수행합니다.
- s : 지정된 셀로 로그인합니다.
- l : 지정한 사용자의 환경 변수를 적용하여 로그인합니다.
-
로그아웃 시
exit 또는 logout
-
sudo(super user do)
명령어를 root의 권한을 빌려 사용(일회성)
su (switch user)
현재 계정을 로그아웃 하지 않고, 다른 계정으로 전환하는 명령어
- su 계정명 (현재 계정의 환경변수 사용)
- su - 계정명 (변경된 계정의 환경변수 사용)
option
- c : 쉘을 실행하지 않고, 주어진 명령만을 수행합니다.
- s : 지정된 셀로 로그인합니다.
- l : 지정한 사용자의 환경 변수를 적용하여 로그인합니다.
로그아웃 시
exit 또는 logout
sudo(super user do)
명령어를 root의 권한을 빌려 사용(일회성)
sudo 명령어
=> root 권한으로 명령어 실행
환경변수
- sudo (SuperUser DO) 명령어
이 역시 SuperUser DO 에서 알 수 있듯이,
슈퍼 유저로 무언가를 수행한다는 의미를 가지고 있는 명령어 입니다.
현재 계정에서 단순히 root 의 권한 만을 빌리는 것입니다.
sudo 명령어 예제 (sudo [command])
sudo 명렁어를 실행하게 되면 root 권한으로 명령어를 실행하게 됩니다.
즉, 하나의 명령에 대하여 일시적으로 root 권한을 사용하는 것을 말합니다.
실행하기 전 현재 사용자의 비밀번호를 물어봅니다.
-
su 와 sudo 의 차이점
su는 계정을 전환하기 위한 것이고,
sudo는 권한을 빌려 명령어를 실행하기 위한 것입니다.
아래는 su 명령어와 관련하여 계정의 전환 확인과 이전 계정으로 돌아가는 명령어입니다.
-
whoami
현재 사용자를 확인하는 명령어
-
logout / exit
전환 전 계정으로 돌아가는 명령어
환경변수란?
이 역시 SuperUser DO 에서 알 수 있듯이,
슈퍼 유저로 무언가를 수행한다는 의미를 가지고 있는 명령어 입니다.
현재 계정에서 단순히 root 의 권한 만을 빌리는 것입니다.
sudo 명령어 예제 (sudo [command])
sudo 명렁어를 실행하게 되면 root 권한으로 명령어를 실행하게 됩니다.
즉, 하나의 명령에 대하여 일시적으로 root 권한을 사용하는 것을 말합니다.
실행하기 전 현재 사용자의 비밀번호를 물어봅니다.
su 와 sudo 의 차이점
su는 계정을 전환하기 위한 것이고,
sudo는 권한을 빌려 명령어를 실행하기 위한 것입니다.
아래는 su 명령어와 관련하여 계정의 전환 확인과 이전 계정으로 돌아가는 명령어입니다.
whoami
현재 사용자를 확인하는 명령어
logout / exit
전환 전 계정으로 돌아가는 명령어
운영체제가 굴러가는 데 필요한 변수들의 모임이다. 즉, 자바스크립트 내의 변수처럼 컴퓨터 내에 저장되어있는 전역변수라는 것이다.
API_KEY나 DB password처럼 네트워크를 통해 공개되면 안되는 민감한 정보들을 소스 내에서 선언하는게 아닌 컴퓨터 내에 설정을 하여 필요할 때마다 사용할 수 있게 저장하는 것.
export ⇒ 환경변수 확인하기, 환경변수 임시 적용
- export 명령어로 환경변수 확인
- 환경변수 추가 및 확인
export myComputerAPI = 'ab020dkcmz'; => 임시적용
echo $myComputerAPI
dotenv ⇒ 자바스크립트에서 환경변수 사용하기
- dotenv 설치
mkdir environment_variable
cd environment_variable
npm init //# 엔터 키를 여러번 입력해 init을 마칩니다.
npm i dotenv //# dotenv 모듈을 설치합니다.
- process.env를 활용하여 환경변수 확인
console.log(process.env)
=> export와 동일한 값 출력
- .env 활용하여 node.js에서 환경변수 영구 적용
(.env)
nano .env
cat .env
myname = 'kimcook'
==============================
(index.js)
const dotenv = require('dotenv');
dotenv.config();
console.log(process.env.myname)
=> 'kimcook' 출력
Reference
Author And Source
이 문제에 관하여(Linux - rwx 권한, su, sudo, 환경변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wngud4950/Linux-rwx-권한-su-sudo-환경변수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)