LoginSignup
1
0

More than 1 year has passed since last update.

【Ubuntu】サクッとファイルとディレクトリの権限を特定の人だけに付与する備忘録

Last updated at Posted at 2023-03-09

ファイルを読み書きさせたいユーザが複数いる場合に、ユーザグループを作って権限を付与させる方法の備忘録です。

以下は、今回のシチュエーションです。

  • 企業NのUbuntuサーバにアクセスできるユーザが4つある(sudo実行権あり管理用「userX」1個、一般ユーザA〜C「userA〜C」計3個)
  • ある特定のディレクトリに、一般ユーザA、一般ユーザBのみ書き込み権限を付与したい(その他は読み取りと実行のみ許可。ユーザCは故意にファイルを書き込めないようにする)
  • パーミッション777(=その他ユーザ含む誰でもファイルを書き込める)は避けたい(危ない)。

この記事に記載のコマンドは、rootまたはsudo実行権のあるユーザ(「userX」)で実行するものとして書いています。

ユーザグループの作成

$ sudo groupadd -g GID GROUP
$ sudo groupadd -g 99 group1

作成したグループへユーザを追加

-aGオプションでユーザを追加する(-a -Gと同等)。-Gのみで実行すると、対象ユーザの所属グループがすでにあった場合追加せずに置き換えてしまうので注意

$ sudo usermod -aG GROUP USER
$ sudo usermod -aG group1 userA
$ sudo usermod -aG group1 userB
...

ファイル/ディレクトリの所有権変更

ディレクトリそのものの所有者をユーザAにしておき、グループの所属をgroupAにする場合。
-Rで再帰的にサブディレクトリの所有権も変更。

$ sudo chown OWNER:GROUP FILE/DIRECTORY
$ sudo chown userA:group1 /hoge/dir/ -R

ファイル/ディレクトリのパーミッションを変更

group1に所属するユーザのみ読み書き実行可能にする。その他のユーザ(ユーザCなど)には書き込ませない。
パーミッションは8進数で記述。

  • 読み取り(r):4
  • 書き込み(w):2
  • 実行(x):1

付与したい内容を加算し、所有者・グループ・その他の順で8進数を繋げる。

$ sudo chmod PERMISSION FILE/DIRECTORY
$ sudo chmod 755 /hoge/dir/ -R

補足:ls -lコマンドでパーミッション変更が反映されたか確認し、パーミッションが755のファイルであれば「-rwxrwxr-x」、ディレクトリであれば「drwxrwxr-x」と表示される。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0