*

linuxで複数人がひとつのフォルダ内で編集するときはchmod g+s

公開日: : 最終更新日:2014/06/25 CentOS, chmod, Linux, 権限

NKJ56_commandmba500

 

linuxで複数人のユーザーがひとつのフォルダを共有して作業するときに、他人が作成したフォルダやファイルを見ることはできるが編集できない!ことありませんでしょうか??

そのため、私も毎回、rootでログインしなおして、権限を変えていましたが面倒になってきたので、何か方法がないかと思い、chmod g+s が便利だったので、その使い方をまとめます。

ユーザー作成後にapacheグループに所属させる

OOK82_konoshiryoudouomou20131223500

usera ユーザーを作成して、apacheグループに所属させます。

$ adduser usera
$ usermod -G apache usera
$ ld usera
uid=515(usera) gid=515(usera) groups=515(usera),48(apache)

同様にuserb ユーザーを作成して、apacheグループに所属させます。

$ adduser userb
$ usermod -G apache userb
$ ld userb
uid=516(userb) gid=516(userb) groups=516(userb),48(apache)

共通フォルダの権限をchmod g+sにして解決!

共通フォルダ /home/apache、/home/apache/www を作成して、所有者、グループ名をapache、apacheとします。

$ mkdir /home/apache/
$ mkdir /home/apache/www
$ cd /home
$ find ./apache -type d -print | xargs chown -R apache.apache ← /home/apache 以下にあるフォルダのみを再帰的にapache.apacheにする

最後に肝心の、chmod g+s を実行します。

$ chmod g+s /home/apache
$ ls -al /home/apache
drwxrwsr-x  7 apache apache /home/apache

実験をしてみる!

OZP73_okusuridasimasyouka20140321500

useraでログインして、作成した/home/apache/wwwフォルダ内でフォルダaaaを作成して、aaaフォルダ内にaaa.txtを作成してみます。

ファルダaaaの権限が「drwxrwsr-x」となっており、グループもuseraではなく「apache」であることを確認します。作成したaaa.txtのグループ所有者もuseraではなく「apache」になっていることも確認します。

$ su - usera
$ cd /home/apache/www
$ mkdir aaa
$ ls -al aaa
drwxrwsr-x 31 usera apache 4096 Jun 24 09:23 aaa
$ cd /home/apache/www/aaa
$ touch aaa.txt
$ ls -al aaa.txt
-rw-rw-r-- 1 usera apache 0 Jun 24 09:24 aaa.txt

g+s はそのグループの所有者が下位ファイルおよびフォルダ、下位の下位の・・・に継承されるための権限設定だと分かります。

userbでログインしなおして、userbでログインしなおしし、/home/apache/www/aaa/aaa.txtに対して、編集してみる。

$ exit ← useraをログアウトする
$ su - userb ← userbにログインする
$ cd /home/apache/www/aaa
$ vi aaa.txt

編集できました!

お問い合わせはこちら!

お問い合わせはこちら!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

お問い合わせはこちら!

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構

複数のXAMPPインストール

Windows環境でPHP開発をする際にXAMPPをインストールするこ

→もっと見る

  • AWS構築 - クラウドアドバイザー
PAGE TOP ↑