仮想プライベート サーバーは私のプロジェクトの範囲には合わないと言われ、恐る恐る専用ホスティングの世界に足を踏み入れました。残念ながら、このため Linux サーバー管理者としての基礎を学ばざるを得なくなりました。
GoDaddy には、サーバーのマスター アカウントがあります。SSH を使用する場合は、「su」を使用してルート ユーザーに切り替える必要があります。これまでのところ、このルート ユーザーとして、コマンド ライン経由で必要な操作をすべて実行できました。
しかし、今はサーバーにファイルをアップロードする必要があります。私は WinSCP を使用してファイルをアップロードすることに慣れています。一般的なサーバー アカウントを使用してファイルを表示できますが、ファイルをドラッグまたは作成しようとすると、権限がないため実行できないというメッセージが表示されます。
WinSCP のドキュメントを調べたところ、この「su」関数はプログラムの範囲外であるようです。
SSH を使用してこれらのファイルをアップロードするためのアクセス権を自分に付与するにはどうすればよいですか?
適切な権限を持つユーザーを作成する必要がありますか? 喜んでそうしますが、これまでのところ、オンラインで見つけた内容を理解することができませんでした。
前進しようと努力しますが、どんな助けや洞察でもありがたいです。
答え1
GoDaddy についてはよく知りませんが、winscp を使用してファイルをいくつかのディレクトリにアップロードできます。制限されたユーザーには書き込みアクセス権があります (ホーム ディレクトリなど)
次にサーバーにsshし、su rootでファイルを適切な場所に移動し、最終的に権限を調整します。
サーバーにインストールされている場合は、Midnight Commander (mc) などのコンソールファイルマネージャーを使用できます。
答え2
WinSCP 内で実行できますsu
が、その方法を理解するのはあまり直感的ではありません。
接続設定の「環境/SCP/シェル」で、そのボックスの一番上の項目「シェル」を探し、su -
... または任意のコマンドを入力します。通常、これは実行するシェルを選択するために使用されますが、su -
ここにコマンドを入力すると、代わりに root のプロファイル (オプション) を使用して root としてシェル セッションが開始され-
、root のデフォルト シェルが実行されます。
答え3
scp
1 つの解決策は、の代わりにを使用することですwinscp
。これには、*nix を実行しているローカル コンピュータが必要です。Cygwin を使用すると、Windows 内でローカルに *nix を実行できます。または、予備のコンピュータがある場合は、そのコンピュータに Linux をインストールできます。または、コンピュータをデュアル ブートします。または、Mac を使用します。
答え4
より良い質問は、なぜscp経由でrootとしてファイルを更新しようとしているのですか?? これがファイルの展開に関する問題である場合は、構成管理システムとインストーラーを検討する必要があります。
たとえば、設定をコピーする場合は、puppet または cfengine を調べてください。プログラムをインストールする場合は、特定の Linux ディストリビューションのパッケージ管理システム (aptitude、yum など) を調べてください。
究極の解決策はユーザーとしてログインすることだと言うこともできますがroot
、これは大きなセキュリティホールとなり、ほとんどのシステムでは無効になっています。ただし、この方法を採用する場合は、SSH 構成 (おそらく/etc/ssh/sshd_config
) を開いて次のように設定することで、ルート ログインを再度有効にできます。
PermitRootLogin yes
次に sshd を再起動します。
sudo /etc/init.d/sshd restart
アンドリュー