SSH接続時のスーパーユーザー(su?)について

このQ&Aのポイント
  • Linux初心者がSSH接続時にスーパーユーザーになる方法
  • スーパーユーザー権限を持つためのコマンド【su】【su -】【su - root】の使い方
  • 設定ファイルの編集やApacheの再起動手順について
回答を見る
  • ベストアンサー

SSH接続時のスーパーユーザー(su?)について

Linuxは完全な初心者です。 サーバ内のにある、SSHで保護されたデータベースにアクセスしようとしております。 手順として、 (1)SSHでサーバに接続 (2)スーパユーザーになる (3).設定ファイルを編集 /etc/httpd/conf.d/phpmyadmin.conf (4)Allow from (自分の使用しているIP) という一行を追加 (5)Apache(HTTP)の再起動 /etc/rc.d/init.d/httpd reload という事を教えて頂けました。 見よう見まねでなんとかTeraTermでSSH接続するところまで出来ましたが、 (2)のスーパーユーザーになる、という段階で止まっております。 調べたところ【su】【su -】【su - root】あたりのコマンドで、root権限は持てているようなんですが、 (3)のコマンドを打つと【許可がありません】と出てしまいます。 何が間違っているのでしょうか? どなたかご教授頂けましたら幸いです。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

SELinuxやAppArmorなど強制アクセス制御(Mandatory Access Control)を行うための仕組みが有効になっていると、rootになってもすべてのファイルを編集できるわけではなくなります。 FedoraやCentOSなど一般的に普及しているLinux環境ではSELinuxが有効になっていることが多いと思いますが、SELinuxが有効になっていませんか? getenforce コマンドを打った結果は何が出ますか? もし、Enforcingが出てくるようならSELinuxが有効になっています。 このページを参考にSELinuxを無効化してから(3)以降の作業をしてみてください。 http://www.server-memo.net/linux-setting/selinux6a5f80fd306e505c6b62

その他の回答 (3)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.4

(3)は「そのファイルを適当な手段で編集しろ」であって「そのコマンドを実行して編集しろ」じゃない訳で……

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

suコマンドでrootになって、 「/etc/httpd/conf.d/phpmyadmin.conf」を入力したのですか? 実行属性は付いていないハズですからエラーにはなると思いますが。

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.1

>何が間違っているのでしょうか? コマンドは間違っていません。 あなたが、su コマンドを実行できないようにサーバー管理者が設定しているのでしょう。 サーバー管理者に相談してください。

関連するQ&A

  • httpd.confの編集後は?

    宜しくお願いします。 レンタルVPSサーバー Apache2.2.X系 Apacheは起動していますが、それからが・・・分かりません。。。 Webサイトを公表したいと思っています。 そこで、まず初めにhttpd.confを編集した方が良いとサイトや本で書いているのですが、どうやって編集したら良いのか悩んでいます。 根本的に間違っているかも知れないのですが、自分的にはTeratermを開き、suでroot管理者としてサーバーにアクセスしました。 そして、[root@XXXXXXXXXXX user]# vi /etc/httpd/conf/httpd.conf でhttpd.confを開きました。 色々なサイトや本を参考にhttpd.confの必要な初期設定を行ったのですが、どうやって編集したhttpd.confをサーバーに保存するのか?またapacheを再起動させないと反映されないと書いていたのですが、何時のタイミングで/etc/init.d/httpd restartを実行するのか? ご指導お願い致します。 (1)httpd.confの編集の方法は? (2)編集後にApacheを再起動させるタイミング、方法は?

  • TelnetとSshで接続できない

    こんばんは。 WindowsProからLinuxサーバー(ミラクルLinux)への接続に挑戦 しています。※初心者なもので Windowsからpingは通りました。しかし「telnet」「ssh」からが うまく接続できません。状況としては  ・chkconfig でxinetedのランレベル3の起動をデフォルトONにした  ・serviceコマンドでxinetedをstart  ・Windowsコマンドプロンプトから「telnet ip_address」でtelnetのログイン画面に行くがログインできない  ※通常使用しているrootユーザで  ・teraterm proを使ったが でtelnet・sshともに接続自体できない 状況が不安定で恐縮ですがどういった点を確認すべきかアドバイス 頂ければ幸いです。 ちなみにLinuxはVmware上にある仮想サーバーです。 よろしくお願いします。

  • クライアントPCの端末からからssh 接続

    クライアントPCの端末からからssh 接続をするためには? ○質問の主旨 WindowsのTeraTermをターミナルソフトとして、 Linuxのサーバー上にある SSHサーバーに接続したいと考えています。 そのときの接続コマンドは、以下の通りです。 $ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server user→一般ユーザーの名前 22→ポート番号 home/user/.ssh/authorized_keys→公開鍵のパス名 server→SSHサーバーのホスト名 参考サイト http://dogmap.jp/2011/10/27/ssh_config/ しかし、上記のコマンドで接続しようとすると 下記のように叱られて、接続することができません。 Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. ssh_exchange_identification: Connection closed by remote host どのように接続するためにはどのように対処すれば よろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 現在、SSHサーバーへのアクセス制御は以下のように設定しています。 #vi /etc/hosts.deny sshd:all #vi /etc/hosts/hosts.allow sshd:(サーバーのIPアドレスのみ記述) #vi /etc/ssh/sshd_config MaxStartups 10 (#MaxStartupsとコメントにされていたので#を削除) 参考サイト http://wsjp.blogspot.jp/2012/08/sshexchangeidentification-connection.html また一般ユーザーのホームディレクトリの下に .sshと言う名前のフォルダを使って、 authorized_keysという名前のファイルに 公開鍵で使用する文字列を書き込んでいます。 ○環境 クライアントPC:windows8.1 ターミナルソフト:TeraTerm Pro サーバー:Linux(CentOS6.0)

  • sshで接続できない

    こんにちは。 サーバーへsshで接続できないので質問させていただきます。 クライアントから、 $ ssh -p **** user@***.***.***.*** と実行すると、 ssh: connect to host ***.***.***.*** port ****: Connection refused と返されました。 サーバー側で # /etc/init.d/ssh start を叩いても、 # ps -A | grep ssh には何も表示されません。 インストールしていないのかと思い、 # apt-get install openssh-server を叩くと、インストール済みだと返されました。 OSはUbuntu Server 14.04 LTSで、sshのポートが解放できているのは確認しています。 サーバー運営はほぼ初めてなので、色々と筋違いなこと等言っているかもしれませんが、 よろしくお願いします。

  • TERATERMを使ってのSSH接続ができない!!!

    TERATERMを使ってSSH接続を試みていますが、できません。 userとpassを入れる画面が出て、入力後OKを押すと、 コマンドウィンドウは開きますが、何の表示もありません。 数分するとコマンドウィンドウは消えます。 TTSSH version1.5.4です。 情報が不足していたら、すぐに補足します! 困っています。よろしくお願いします!!!!

  • TeraTermでSSH認証できません

    TeraTermでSSH認証できません 以下環境でクライアントからサーバへ、TeraTerm(バージョン4.65)を利用してのSSH認証ができません。TeraTermを起動して、「新しい接続」画面でTCP/IPを選択しサーバのIPを入力、SSHにチェックを入れてOKボタンをクリック後、「SSH認証」画面でユーザ名(root)とパスワードを入力してOKボタンをクリックしても、何も反応がありません。 どのような原因が考えられるでしょうか。 設定を確認すべき点など教えてください。 SSHサーバ:  VMWarePlayerで動作する仮想マシンです。  CentOS5.4、OpenSSH_4.3p2  IPアドレスは192.168.24.97です。  /etc/sysconfig/selinuxを確認したところ、「SELINUX=disabled」の記述あり。  /etc/sysconfig/iptablesを確認したところ、「-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT」の記述あり。  /etc/ssh/sshd_configを確認したところ、「#PermitRootLogin yes」、「#PasswordAuthentication yes」の記述あり。 クライアント:  WindowsXP Home SP3、TeraTerm Version4.65  ローカルエリア接続のIPアドレスは192.168.24.82です。 クライアントから、サーバへpingを飛ばすと応答ありますが、逆は応答がありません。 よろしくお願いします。

  • rootでSSHできないように設定しても他のユーザーからsuできてしまう

    Fedora Core 6 で /etc/ssh/sshd_conig 内のデフォルト値 #PermitRootLogin yes を PermitRootLogin no にして案の定外部からSSHでのルートでのログインはできないようにしたのですが、Puttyなどで、他のユーザーでログインした後、su を使うとパスワードを入れればrootに切り替えられます。 これは正常なのでしょうか?リモートの場合はrootにsuできないようにしたいのですが特別な設定が必要になるのでしょうか? ご存知の方どうぞよろしくお願いいたします。

  • SSH接続ができません

    teratermでwebサーバーにSSH接続で更新をしたいのですが、 ホストに接続できませんというエラーが返ってきて接続できません。 どなたかお力を貸してください。

  • クライアントPCからSSHで接続できない。

    クライアントPCからTera Term(SSH)で接続しようとしています。 サーバー(Ubuntu 11.10)に下記のコマンドを実行したら「openssh-server」がインストールされていなかった。 dpkg -l | grep ssh 下記のように行いました。 1.下記のコマンドで「openssh-server」をインストールしました。 sudo apt-get install openssh-server 2.下記のコマンドでファイアウォールの設定をしました。 sudo ufw allow ssh 3.下記のコマンドでSSHの設定ファイルを開き、変更しました。 sudo vi /etc/ssh/sshd_config Prot 22 ListenAddress 0.0.0.0 Protocol 2,1 PermitRootLogin no 4.下記のコマンドでSSHを再起動しました。 sudo /etc/init.d/ssh restart 上記のように設定してクライアントPCからTera Term(SSH)で接続したら「SSH認証」画面が表示されたんで「ユーザ名」と「パスフレーズ」に入力して[OK]ボタンを押下したらTera Termの画面が閉じてしまいました。 再度、Tera Term(SSH)を起動して「新しい接続」画面の「ホスト」を選んで[OK]ボタンを押下したら下記のエラーメッセージが表示されました ・「接続が拒否されました」 お恥ずかしいんですが何がいけないのかがわかりません。 申し訳ありませんがご教授いただけませんでしょうか? 宜しくお願いします。

  • SSHでログイン後にsuできない。

    WindowsからPuTTYを使ってサーバ(FreeBSD7.0)に接続し、rootになろうとしています。 PuTTYを使って、一般ユーザでログインすることはできるのですが、その後、rootになろうとsuコマンドを打つと、以下のようになり、rootになれません。 【PuTTYのコンソール】 $ su Password:(rootのパスワードを入力) su: Sorry $ サーバ側でsshdのログを見ると以下のようになっております。 # /usr/sbin/sshd -ddd : Bind to port 22 on 0.0.0.0 failed: Address already in use. Cannot bind any address. 22番ポートがすでに使用されているかと思い、以下のコマンドを打ってみました。 # sockstat | grep 22 (一般ユーザ) sshd 772 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401 root sshd 769 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401 root sshd 686 3 tcp4 *:22 *:* 上記の2番目で、すでにクライアントからrootで接続しているように見えます。クライアントからは一般ユーザを使用して接続しているのみです。なぜこうなるのか全くわかりません。 この一般ユーザはwheelグループに入れてあり、通常はsuでrootになれると思うのですが、、、 見当違いなのか、また他に原因が考えられるのか、ご教授頂けないでしょうか?