ホーム > 技術系 > Linux

Linuxのアーカイブ

パーミッションについて分かりにくいのでまとめた

  • 2018年10月23日 10:09 PM
  • Linux

linuxでサーバ上の作業を行っていると、必ずパーミッションという概念にぶつかる。

chmod 755 とか

chown とか

いろいろあって、何となくわかったようでわからないようなかんじのするあれだ

今一度パーミッションの概念についてまとめてみた。

まず、パーミッションで3桁の数字があるが、これは左から所有者、グループ、その他の順である。

所有者というのは分かりやすく、そのファイルやディレクトリを作成したユーザのことだ。(chownで変更は可能)

グループというのは分かりにくいが、そのファイルを所有しているグループのことだ。

linuxでは、ユーザはならず何らかのグループに属している。
グループには複数のユーザが所属している。
設定次第では、ユーザが複数のグループに所属する場合もある。

そのファイルのグループに対してのパーミッションということである。

分かりやすくいうと、1つのパソコンに複数のユーザがログインすることを想定したとして、それぞれに固有のユーザIDとパスワードでログインしていると想定する。
そのときに、グループに読み出し設定を与えていると、同じグループに所属しているユーザであれば閲覧が可能で、グループ以外のユーザであればアクセスできないと言った挙動が可能だ。

グループの概念は、個人PCや個人で管理しているサーバの場合はあまり必要がない概念だが、複数のユーザが異なるID/PWでアクセスするPCやサーバの場合理解しておくことが必要がある。

その他は、それ以外のユーザで、所有者でもなく、グループでもないユーザだ。

また、7という数字は、2進数の3桁で表されていて

読み出し 書き込み 実行

で、

7:111:全て可能
6:110:読み書き可能
5:101:読み実行可能
4:100:読みだけ可能
3:011:書き込み実行可能
2:010:書き込みのみ可能
1:001:実行のみ可能
0:000:全て不可

といったかんじだ。

ファイルやディレクトリは、作成時のユーザとグループが与えられるが、それぞれchownコマンドで変更が可能となっている。

VagrantとVirtualBoxについて

技術関係で調べ物をしていると、「Vagrant+VirtualBox」を導入します。

とよくでてくるのですが、意味がよく分かっていなかったので調べていました。

Vagrantとは、PCの仮想環境を構築するのを手助けするソフトです。
仮想化ソフトとしては、VirtualBoxのほうが本体なのですが、VirtualBoxだけでは、仮想環境を構築するための設定がややこしいです。

Vagrantをインストールすることで、仮想環境の設定の手間を省けるので、セットになって用いられるることが多いです。

実際はVagrantがなくても、VirtualBoxだけでも仮想環境を構築することが可能です。

ややこしい点

仮想環境を構築するソフトウェアやモジュールなどは、Vagrant+VirtualBox以外にもたくさんあります。
そのため、調べているうちに様々な仮想環境構築方法にであうことがあるため、混乱をきたしてしまいます。

その他の言葉との違い

IT業界ではたくさんの言葉が出てきて混乱します。
似たような言葉との違いです。

venv
pythonの仮想環境を構築できるモジュールです。

homebrew
Macのパッケージマネージャ

pip
pythonのソフトウェアパッケージを管理する。python用のyum?

composer
phpのパッケージ管理ツール。

データベースのバックアップをDropboxへ転送する方法

サイトの運営をしていて考える必要があることは、ウェブサイトのバックアップをどう取るかです。

仮にバックアップを取っていない場合、何らかの問題が起こってサーバ上のデータが消えた時に、取り返しがつかなくなります。

サーバ上のデータが消える原因としては、作業ミス、サーバのハッキング、サーバ会社川野問題など、様々なものがあります。

これらの問題に対処するための方法もまた多様で、サーバ自体を多重化することなどもありますが、基本はバックアップを取ることです。

中でもデータベースは、毎日変化する場合もあるため、こまめにバックアップを取ることが求められます。

バックアップを取る基本は、cronでデータベースのダンプファイルをサーバ内の特定のバックアップフォルダに保存することですが、この場合、サーバ自体が消えてしまったときにバックアップがありません。

そのため、サーバ自体の障害に対応するためには、サーバの外部ストレージにデータを定期的に退避させておくことも重要になりますが、手動でやると手間がかかります。

1つの方法として、Dropboxにバックアップデータを転送する方法があります。

Dropboxは無料である程度の容量までは使用できるため、バックアップを取る方法の1つとして優れています。

ただし、セキュリティ的には100%安全とはいえないので、顧客の個人情報を含む場合の方法としては推奨できません。

手順についてなのですが、Git Hubで、Linux系のOSからDropboxにファイルをアップロードするシェルスクリプト(dropbox_uploader.sh)が公開されているので、それを利用する方法は簡単なのでおすすめです。

具体的な手順としては、Qiitaの以下のページに詳しく掲載されていますので参考にするとよいと思います。

さくらVPSのデータのバックアップに Dropbox を使ってみる

流れとしては、サーバにdropbox_uploader.shをアップロードして実行権限を与え、必要なDropboxへのアクセス情報(トークン情報)を設定してやるとシェルスクリプトが利用可能になるので、あとはcronで実行することでDropboxへ好きなタイミングでアップロードできます。

ホーム > 技術系 > Linux

フィード

ページの上部に戻る