210719.Today I学習(TIL):Linux深化(権限、環境変数)


アクセス権


Read、Write、Execute権限


フォルダかファイルか
ls -l
上記のコマンドを入力すると、pc内のディレクトリとファイルのリストが表示されます.

  • 端末出力結果を見ると、一番左のdrwxr-xr-x-rw-r--r--が表示されます.drwxr-xr-xでは、この出力結果の最初の開始文字dがディレクトリであり、-rw-r--r--では、この出力結果の最初の開始文字-がディレクトリではない(ディレクトリではない).

  • 次にrwx,
  • rread permissionwwrite permissionxexecute permission
    上記の権限を表します.rw-r--r--は、所有者が読み書き可能であり、他のユーザグループおよび他のユーザグループが読み書き可能であることを意味する.

    user, group, and other


    user:
  • userはファイルの所有者です.デフォルトでは、ファイルの作成者は所有者です.
  • group
  • groupは、複数のユーザを含むことができる.グループ内のすべてのユーザーは、ファイルに対して同じグループアクセス権を持っています.プロジェクトに多くの人がファイルにアクセスする必要がある場合は、すべてのユーザーをグループに追加し、各ユーザーに権限を1つずつ付与するのではなく、ファイルにグループ権限を付与できます.
  • other
  • ファイルにアクセスできる他のユーザー.ファイルを作成していない他のすべてのユーザーを表します.また、この権限はグローバル権限設定とみなすこともできます.
  • chmod:権限を変更するコマンド


    コマンドchmodフォルダまたはファイルの読み取り、書き込み、および実行権限を変更できます.OSにログインしたユーザーがフォルダまたはファイルの所有者と同じである場合、フォルダまたはファイルの権限をコマンドchmodに変更できます.OSにログインしているユーザーがフォルダまたはファイルの所有者と異なる場合は、管理者権限を取得するコマンドsudoを使用してフォルダまたはファイルの権限を変更できます.
    権限をコマンドchmodに変更するには、2つの方法があります.
  • システムメソッド
  • 2つ目はAbsolute Form
  • で、rwxを3ビットに解析し、権限を数字3ビットにマークします.
    Symbolic methodは、アクセスクラス、演算子、およびアクセスタイプに分けられます.
    Access classOperatorAccess Typeu(user)+ (add access)r(read)g(group)- (remove access)w(write)o(other)= (set exact access)x(execute)a(all: u, g, and o)
    chmod g-r {filename} // removes read permission from group
    chmod g+r {filename} // adds read permission to group
    chmod o+x {filename} // adds execute permission to other
    chmod u-w {filename} // removes write permission to user
    chmod a=rw {filename} // allocate read and write permission to all # -rw-rw-rw-
    chmod u= {filename} // allocate nothing to user # ----rw-rw-r
    chmod a= {filename} // allocate nothing to all # ----------
    Symbolic methodを使用して権限を変更するには、アクセスクラス、演算子、およびアクセスタイプを覚えておく必要があります.
    Absolute Formは数字7で表される3桁の和で表される.
    各ユーザ、グループ、または他のユーザまたはグループには、rwxが表示され、各領域のboolean値としてマークすることができる.
    permissionNumberRead(r)4Write(w)2Execute(x)1
    権限を変更する場合は、user、group、その他の順序で上の表の数値の和を入力します.
    // u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
    chmod 744 {filename} // -rwxr--r--
    #Sumrwxpermission74(r) + 2(w) + 1(x)rwxread, write and execute64(r) + 2(w) + 0(-)rw-read and write54(r) + 0(-) + 1(x)r-xread and execute44(r) + 0(-) + 0(-)r--read only30(-) + 2(w) + 1(x)-wxwrite and execute20(-) + 2(w) + 0(-)-w-write only10(-) + 0(-) + 1(x)--xexecute only00(-) + 0(-) + 0(-)---none

    かんきょうへんすう


    Linuxベースのオペレーティングシステムでは、PCはシステム自体にグローバル変数を設定できます.また,このシステムで設定したグローバル変数を環境変数と呼ぶ.環境変数は、コマンドexportを使用して設定できます.

    export:環境変数のチェック&&環境変数の一時適用


    端末にコマンドexportを入力して、記録された環境変数を表示することができる.

    コマンドexportを使用して、新しい環境変数を追加できます.
    export urclass="is good" // 등호 표시(=) 앞 뒤에는 반드시 공백이 없어야 한다.
    コマンドechoとともに環境変数を入力し、環境変数の値を決定します.このとき,環境変数の前にドルID($)を入力し,変数の意味を端末に伝える.

    dotnv:JavaScriptでの環境変数の使用


    npmモジュールdotnvを使用するとjavascriptで環境変数を使用できます.
    dotvvモジュールは、次のコマンドでインストールできます.
    mkdir environment_variable // 모듈을 설치할 새 디렉토리를 만들어준다.
    cd environment_variable // 디렉토리로 이동한다.
    npm init // 엔터 키를 여러번 입력해  init을 마친다.
    npm i dotenv // 모듈 설치, 생성된 폴더는 설치할 모듈과 이름이 같으면 안됨.
    新しいファイルインデックス.jsを生成し、process.env(console.log(process.env))を出力します.Node.jsの組み込みオブジェクトprocess.envを使用して、コマンドexportで確認した内容と同じ内容をオブジェクトに出力します.
  • process.envはノードです.js環境でクエリーできます.
  • othanvは後続の内容である.環境変数としてenvファイルを使用できます.
  • .env: Node.jsに環境変数を永続的に適用する


    コマンドexportを使用して適用される環境変数は、現在使用されている端末でのみ一時的に使用できます.環境変数をLinux実行ㅇシステムに保存するにはいくつかの方法がありますが、Node.jsではファイルです.envを作成および格納する方法を使用します.
    まず.envファイルを作成し、使用する環境変数を入力して保存します.
    environment_variable nano .env
    environment_variable cat . env
    myname=sunryeo
    モジュールdotnvはファイルに使用されます.envに格納されている環境変数をクエリーできます.index.jsを変更、保存、実行すると、次の結果が得られます.
    const dotenv = require("dotenv");
    dotenv.config();
    console.log(process.env.myname);
    結果

    APIキー、DB、パスワードなどの機密情報を格納および管理するには、環境変数を使用します.それだけでなく、異なるPCや複数台.envファイルでは、同じ変数名に異なる値を指定できます.