3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Linux入門 3-1 ファイル・ディレクトリの操作と管理

Last updated at Posted at 2021-12-17


[Udemyの動画講座]:https://www.udemy.com/course/linuxlpic/?utm_source=bene-content-marketing&utm_campaign=normal&utm_content=story&utm_term=career&utm_medium=udemyads
[Linux入門 2-4]:https://qiita.com/hoglet/items/152c3c9c711911e6d9c8
[Linux入門 3-2]:https://qiita.com/hoglet/items/c6af8d1bd5c256b0369a

はじめに

Linux初学者である自分向け用の記事です。[Udemyの動画講座]を参考にしました。
僕の勉強法は動画を見る実際に動かしてみる問題演習という流れです。

前回まで:[Linux入門 2-4]


3. LinuC 101 Ver .10.0(問題、テスト、演習)

ファイル・ディレクトリの操作と管理

chmod , umask , chown , chgrp , ls

ls

ディレクトリ、ファイルの属性を含んだ詳細な情報を表示するコマンド

ls -1: 縦に並べて表示

image.png

ls -l: 詳細(所有者、アクセス権など)も含んだ情報を表示

image.png

ls -a: . から始まるファイル(隠しファイル)も表示

image.png

ls -r: 逆順に表示

image.png

ls -R: ディレクトリ内を再帰的にすべて表示

image.png

ls -t: 更新日時でソートして表示

image.png

chown

指定したファイル、ディレクトリの所有するユーザ、グループの変更
-R: ディレクトリの中身も再帰的に変更
image.png

test.txtの所有ユーザをrootからtestに変更
chown test test.txt

image.png

test.txtの所有ユーザをroot、所有グループをtest に変更
chown root:test test.txt

image.png

d1と中のファイル所有ユーザをroot、所有グループをtest に変更
chown -R root:test d1/

image.png

chgrp

指定した所有グループに変更
-R: ディレクトリの中身も再帰的に変更

test.txtの所有グループをmy_groupに変更
chgrp my_group test.txt

image.png

chmod

アクセス権を変更するコマンド(root ユーザと所有しているユーザが実行できる)
-R: ディレクトリの中身も再帰的に変更

簡易早見表(これだけ覚えればOK!)

4 2 1
r w x
0 1 2 3 4 5 6 7
--- --x -w- -wx r-- r-x rw- rwx

権限の区分

ディレクトリ 所有者権限 グループ権限 その他のユーザーの権限
d 7 5 3
- rwx r-x -wx

実行例

image.png

すべての権限を付与しない
chmod 000 test.txt

image.png

r-x -wx --xの権限
chmod 531 test.txt

image.png

所有ユーザにr--権限を付与
chmod u+r test.txt

image.png

所有グループにrw-権限を付与
chmod g+rw test.txt

image.png

その他ユーザにrwx権限を与える
chmod o+rwx test.txt

image.png

所有ユーザと所有グループからr-x権限をはく奪
chmod ug-rx test.txt

image.png

## 所有グループの設定

my_groupグループにtestユーザを追加
usermod -g my_group test

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/7ae94485-25d4-a374-fdda-ef65453174eb.png)

## SUID
`Set User ID`の略で、SUIDが設定されているファイルが実行されると、所有ユーザの権限で実行される

a.outに対してSUIDを設定する
chmod u+s a.out

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/f1925f48-be3d-0953-d93a-72a00dff1deb.png)
これは、testユーザーの所有ユーザ権限だと実行できないもの(今回は所有ユーザがrootである`a.out`)が、SUIDを設定することで実行できるようになる。

//実行不可
test@ $ ./a.out
//a.outに対してSUIDを設定
root@ $ chmod u+s a.out (もしくは)root@ $ chmod 4755 a.out
//実行可能
test@ $ ./a.out

## SGID
`Set Group ID`の略で、SGID が設定されているファイルが実行されると、所有グループの権限で実行される

a.outに対してSUIDを設定する
chmod g+s a.out

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/07b6dac7-d94a-4d7e-6569-f2b4c7268387.png)

## スティッキーピット
ディレクトリに設定すると、 他のユーザがファイルを削除できなくなる

sticky/は所有ユーザ以外が削除できない
chmod o+t sticky/ (もしくは) chmod 1544 sticky/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/eb068336-e7ec-fb82-ce50-53f4e3e56266.png)

## umask
デフォルトのアクセス権を設定する ファイルは 666 から、ディレクトリは 777 から umask で指定した値を引いたものがデフォルト のアクセス権になる

ファイルは 666 から、ディレクトリは 777 から umask で指定した値を引いたものがデフォルト のアクセス権になる
umask 666

file6のデフォルトは644である。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/13eb75fc-dce4-47ef-b127-4c3bbf3456d6.png)

ファイルのデフォルトのアクセス権は666から指定した666を引いたもの->000になる。
$ umask 666
$ touch file

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/f7828c1f-f3f0-d515-c8be-20852a11a550.png)

ファイルのデフォルトのアクセス権は666から指定した002を引いたもの->664になる。
$ umask 002
$ touch file4

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2217966/de2ed619-9d13-8881-ecdf-15a9a78ac58d.png)

*To Be Continued...*
[Linux入門 3-2] へ
***
3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?