質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Magento

Magentoはオープンソースでも業務用のライセンスでも取得することができるZend Frameworkベースで作られたeコマースのプラットフォームです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

2回答

5605閲覧

パーミッションの問題・・・?

pomsampon

総合スコア16

Magento

Magentoはオープンソースでも業務用のライセンスでも取得することができるZend Frameworkベースで作られたeコマースのプラットフォームです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2016/10/26 05:50

編集2022/01/12 10:55

昨日までずっと使っていました。magentoを利用している者です。
今朝、「Dirty COW」というウイルス対策をした後、
開発環境をブラウザで開くと

403 Forbidden You don't have permission to access / on this server. Apache Server at 10.10.10.2 Port 80

となり、アクセスできなくなりました。
どなたか、この問題を解決してはいただけないでしょうか。
何卒よろしくおねがいします。
以下はDirtyCOWの対策で行った事と、パーミッションの問題だと思われる現象です。

<Dirty COWの対策で行った事> $sudo apt-get update && sudo apt-get dist-upgrade $sudo reboot
<以下、vagrant起動時のメッセージ> The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mkdir -p /tmp/vagrant-cache Stdout from the command: Stderr from the command: sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

以上に加えて、、、、、
ssh接続ができるので、起動はしているみたいです。
しかし、開発magentoのドキュメントルート以下が一式なくなっています。

そこで、バックアップしていたファイルをルート以下に
アップロードすると、次のようなメッセージが出てきて、アップロードができません。

「Permission denied.Please contact your web hosting service provider for assistance.」

uidとか権限の問題かなぁと思うのですが、、、、、
どうか、助言をいただけないでしょうか。
ちなみにPCはMac
Linux 3.13.0-93 x86_64 Ubuntu 14.04.5
Apache2 3.1.0
MySQL ver14.14
PHP 5.5.9
です。
よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

sudoのパーミッションが変更されている、というのは危機的ですね。
Ubuntuでは原則rootでのログインができないので、管理者権限が必要ならsudoを使え、ということなので。
あと、パーミッションが変更されたものはsudoだけなのか、も気になります。
他にもsetuidビットが落ちてて困ることはないのだろうか、と。

なんとかsudoだけでも回復したいのであれば一度仮想マシンをシャットダウン(vagrant halt)してから、Oracle VM VirtualBoxのGUIから起動、GUIの仮想端末が起動したらShiftキーを押しっぱなしにしてGRUBを起動、そこからシングルユーザーモードになって起動、という手段しかないように思います。
GRUBを起動するとこんな画面になります。
GRUB画面その1
ここでカーソルキーの上下でAdvanced options for Ubuntuを選んでEnter
GRUB画面その2
recovery modeの方を選んでeを押すと起動パラメータの編集画面になります。
(編集コマンドはEmacsライクなのでctrl-pで上、ctrl-nで下、ctrl-fで右、ctrl-bで左、です)
GRUB画面その3
linux /boot/vmlinz-3.13.0-24-generic root=UUTD=64ecdff7-db7b-48a8-9066-abb837f2e24 ro recovery nomodeset

のような行まで移動したら、roというところをrwに書き換えて、ctrl-xでリカバリーモードに入ります。

リカバリーモード
ここから、カーソルキーで、Drop to root shell promptを選んでEnter.

rootのプロンプトが出たら、
chmod 4755 /usr/bin/sudo
して、
exitすると再度リカバリーモード画面に戻るので、Resume normal bootを選んで通常起動します。
sudoできたらめでたしめでたし。

投稿2016/10/28 00:55

imutakaoru

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SELINUXの状態はどうなっていますか?
getenforceコマンドで確認できます。

ドキュメントルートフォルダの権限はどうなっていますか?
ls -ld /path/to/document_rootコマンドで確認できます。

投稿2016/10/26 06:28

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pomsampon

2016/10/26 07:08

getenforceはインストールしていないです。 ドキュメントルートの権限は異常なかったのですが、/home/vagrantの方の権限がおかしかったので、権限をもとに戻そうと思います。chown,chmodで権限が変更できない場合はどうすればよいでしょうか。?
moonphase

2016/10/26 07:14

chown, chmodで権限が変更できないのはパーミッションの問題と思われますので、sudo chmodのようにsudo付けて実行してください。
pomsampon

2016/10/26 07:22

ありがとうございます。sudoをつけて実行したところ、 sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set のメッセージがでてしまいます。どうすればよいでしょうか。しつこくて申し訳ありません。
moonphase

2016/10/26 07:27

sudoのパーミッションがおかしくなってるのかな? ls -l /usr/bin/sudo の結果はどうなってますか? ---s--x--x 1 root root 123856 2月 26 2015 /usr/bin/sudo こんな感じでsetuidの権限がついてるはずです。
pomsampon

2016/10/26 07:29

-rwxr-xr-x 1 root root 155008 Aug 27 2015 /usr/bin/sudo 何度もすいません。こんな感じです。
moonphase

2016/10/26 07:36

rootで次のコマンドを実行してください。 chmod 4111 /usr/bin/sudo sshでrootになるか、rootになれない場合はシングルユーザーモードで対応が必要です。
pomsampon

2016/10/26 08:06

だめっぽいです。 chmod: Unable to change file mode on /usr/bin/sudo: Operation not permitted と出ました。 vagrantでのvmにログインできるユーザーはvagrantのみですが、これは別の話ですか? もし別ならrootでログインできるようにVagrantfileを編集すればいいのではと思ってるのですが。。。 別じゃなければ唯一ログインできるvagrantでの対応策はどんなものがあるのでしょうか。。何度もすいません。
moonphase

2016/10/28 01:11

Vagrantで利用するBoxのrootユーザーのパスワードはvagrantに設定されているはずですので、vagrantでログイン後、rootにログインしてからchmodしてください。 シングルユーザーモードであれば、絶対にrootでログインになるかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問