
Ubuntu日本語フォーラム
ログインしていません。
ubuntu9.10 を入れて勉強しています。
Windows と異なり Linux の場合フォルダ毎に権限がありますよね?
通常は自分のIDのフィルダより下のフォルダを使用するので問題はないのですが・・・
他のフォルダに対してファイルやフォルダを作成したい場合はやはりそのフォルダに権限を与えるものなのでしょうか?
それとも、そういったことはやってはいけない(というかお勧めではない)のでしょうか?
例えば
Apache2 の(localhostでの)ファイル群は var/www に格納して表示するようにしています。
今回PHPの勉強のために eclipse + PDT を入れて勉強しようとしていきなりつまずいてしまいました。
var/www の下にフォルダを作ろうとして怒られてしまいました。(エラーになる)
多分権限がないためだと思うのですが・・・
こういった場合は、var/www に自分のIDの権限を与えていいものでしょうか?
それとも何かお約束があって別の方法で対処するのでしょうか?
基本的すぎる質問で悪いのですが教えてもらえませんか?
オフライン
その考え方は最終手段ですね。
逆の発想でフォルダ(ディレクトリ)を変更させるのではなくて、フォルダを扱うユーザー側が一時的に管理者の権限を借りる方法が普通です。
<sudo> を付ける
端末からの操作でしたら
$ sudo mkdir /var/www/'新規フォルダ'
ウィンドウからの操作でしたらウィンドウを管理者権限で開く
$ sudo nautilus
<nautilus>はウィンドウマネージャの名称
右クリックで出来る(何がだろう?)ツールも有りましたが最近は聞かなくなりましたね。
オフライン
>右クリックで出来る(何がだろう?)ツールも有りましたが最近は聞かなくなりましたね。
ありました、$ sudo nautilus をマウス操作で行なうのですね。
sudo と書きましたがGUI上のアプリ(理由は忘れました)はgksu を使うのが正しいようです。
私は sudo ですが。 $ sudo nautilus --> $ gksu nautilus
[nautilus-gksu]
ファイルやフォルダ上で右クリックして「管理者として開く」を選択。
$ sudo apt-get install nautilus-gksu
オフライン
レスありがとうございます。
早速試してみました。
1.端末起動
2.sudo mkdir /var/www/test3
3.場所→ホーム・フォルダ
4.ファイルブラウザが起動するので /var/www をカレント
5.ここに test3 フォルダが作成されているが、そのフォルダのプロパティを開いて「アクセス権」タブに切替えてみると
所有者 root
グループ root
あなたは所有者ではありません(これらのアクセス権を
変更することはできません)
と表示されてしまいます。
何が悪いのでしょうか?
オフライン
mayochansさん による投稿:
Windows と異なり Linux の場合フォルダ毎に権限がありますよね?
やや脱線気味ですが、Windowsでもかなり前からフォルダ毎に権限を設定するようになっていますね。
さて、本題ですが、具体的な方法はhir0さんがすでに書かれているので、方針だけ書きます。
LinuxなどのUNIXライクなOSでは、伝統的にユーザごとに使うべき領域が決められています。
一般ユーザはそのユーザのホーム以下のみを使うべきです。
一般ユーザのホームの一部をhttpで公開する場合は、管理者権限でapacheなどのhttpdの設定を変えて公開する範囲を設定します。
管理者として公開する情報を/var/www以下におく場合は、hir0さんが書かれたようにsudoなどのコマンドで管理者権限に昇格して実行します。
httpdの設定変更にしても、/var/www以下になにかを置くにしても設定をミスると公開したくないものをさらしてしまう恐れもあるので注意して設定して下さい。
オフライン
ファイルをコピーするときもsudoで実行して下さい。
sudo cp [copy元] /var/www/test3(などのcopy先)
オフライン
#5に説明して頂いているように、/ 以下にアクセスするには(生成、移動、変更、削除)権限が必要です。
権限を一時的に借りるには sudo ですが、#3の
$ gksu nautilus
を実行して下さい、ファイルブラウザが管理者権限で開くので、そのウィンド内では管理者として振る舞える(はず?)
または、3.場所→ホーム・フォルダを
$ sudo nautilus /var/www/test3
オフライン
すみませんが基本的なことをお聞きします。
もしかして端末で
sudo mkdir /var/www/test3
と実行しても、端末を抜けるとアクセス権限(書き込み権限)はリセットされてしまうのでしょうか?
そうだとしたら私の根本的な思い違いですね。
そうなるとフォルダを作成しても別の端末から eclipse を起動する時点で test3 のフォルダには書き込みできないということですよね?
オフライン
sudo は一時的にrootの権限を借りるだけなので作成されたものはルートのものです。
$ gksu eclipse
でeclipse自体がrootの権限を持ちますが日本語入力が出来ない仕様のようです。
https://forums.ubuntulinux.jp/viewtopic.php?pid=46789#p46789
考え方としてはhmatsueさんが書かれている通り、ユーザー事に領域が有るので、'/'以下の/var/wwwにアクセスするには権限を貰わなければいけませんが、それがセキュリティ関係で重要な事ではないでしょうか。
/var/wwwにアクセスするにはその都度、手続き(一手間)が必要。
逆に安全に関しての設定や保護が出きるのでしたら/home/ユーザー/以下に設置すれば自由度は高くなります。
その他にユーザー(mayochansさん)に管理者としての権限を付与するか、、、
(お勧めでは無い)
間違った操作やタイプミス?でも殆どが警告無く通るので、再起動時にシステムがおかしくなったり起動しなくなると、いつ頃の何の操作が間違ったのか、何を変更したのが原因か等々の究明が困難になるので注意して下さい。
オフライン
もう一つ、ユーザーのフォルダをシステムフォルダ内に一つだけ置くのも変ですがセキュリティ面を無視すれば
$ sudo chown -R ユーザー名:ユーザー名 /var/www
ディレクトリwwwはユーザーに開放されます。
$ ls -l
で確認して見て下さい、「drwxrwxrwx」同じなら気持ち悪いので変更しましょう。
$ sudo chmod -R o-rwx /var/www
オフライン
>PHPの勉強のために eclipse + PDT を入れて勉強しよう
の一般解としては、apache の UserDir を有功にして、ユーザーホームに ”public_html” ディレクトリを作成、
そこ以下を、apache で読み書きできる様にするのがベストかとおもいます。
こうすることで、一般ユーザが権限を気にする事なしにPHPアプリを実行できます。
セキュリティや実際の使用上から言って、/var/www 以下の権限を操作するのは、十分な考慮して決めた方がいいと思います。
オフライン
レスありがとうございます。
結局は、var/www は好ましくないようですので、やめようと思います。
それで気になるのが・・・
>apache の UserDir を有功にして、ユーザーホームに ”public_html” ディレクトリを作成
という文言なのですが、これはネット検索で
http://httpd.apache.org/docs/2.2/ja/howto/public_html.html
というのを見つけたのですが、私にはチンプンカンプンでした・・・・
試しに端末を起動して
UserDir
と入力してもエラーになるだけでした。
すみませんが、初心者向けのページなどありましたら教えてもらえませんか?(または /home/xxxx/test3 というフォルダをアパッチで読み書きできる手順など)
正直PDTを使いたくても使えなくて歯がゆい状態です。
オフライン
ちょっとググってみましたが、こちらのブログが判り易そうで、よさげです。
http://tobysoft.net/wiki/index.php?Ubuntu%2Fapache2
そこからリンクされていますが、正式ドキュメントはこちらとか。
http://httpd.apache.org/docs/2.2/
sudo apt-get install apache2-doc
でドキュメントもインストールできたような気がします。
オフライン
ああ、またやってしまった。本家ドキュメントはすでに見つけられていたのですよね。失礼しました。。
オフライン
レスありがとうございます。
あれから四苦八苦設定を弄っていますが、うまくいきません。
でも糸口が見えたので、勉強のためにがんばってみようと思います。
オフライン