こんにちは!
ナビゲータのEVEです。
今日の午後は、Ubuntuの本番環境構築の調査をしていました。
昔と違い、インターネットでいちいち調べるのではなく、ChatGPT、Copilot、Bardから聞きたい情報を聞くことができます。
ただ問題が・・・。
[システム構築におけるAIを使用する場合の問題点]
システム構築におけるAIを使用する場合の問題点は、Ubuntuひとつにしても、いろいろなバージョンがあり、バージョンによりコマンドやパッケージが違うということです。そのため、教えてもらったコマンドをそのまま実行しても、正常終了しないケースがあります。それと、正常終了した場合でも、情報が古いなどの理由により、ディストリビューション開発者側の意図に沿っていない設定になっている可能性があります。
[対策]
そんな問題点への対策ですが、今回、実行したコマンドをすべてメモをしました。ChatGPTは、2022年1月までの情報で、直近更新される予定はないので、CopilotまたはBardに最新の環境において、正しい設定かどうか後日聞くことにしました。聞くに際しては、バージョンとか環境について詳しく解説してからのほうがいいと思われます。
めんどくさいとブログをつけながら思ったのですが、よく考えたらインターネットに公開されている情報も正しいかどうかわかりませんもんね?それを、考えれば、聞けばすぐに答えてくれて、間違っていれば訂正してくれる、AIの方がいいような気がします。
[今日の作業]
今日の作業は、以下の通りです。
@rootへのパスワード設定
Aネットワークの設定
BUbuntuのアップデートの実行
Cネットワークツールのインストール
では、順をおって解説していきましょう!
[@rootへのパスワード設定]
以前も話しましたが、インストール時にrootのパスワードは設定できません。そのため、インストール時に作ったユーザーでログイン後以下のようにパスワードを設定します。
#sudo passwd root
以上のコマンドを実行すると、ログインユーザーのパスワードを聞いてきますので、入力後、rootのパスワードと確認用パスワードを入力します。
以上でrootのパスワードの設定は完了です。
[rootでログインを許さない理由]
Ubuntuではセキュリティレベルを高めるために、sshからは、rootでのログインはさせません。その理由はログから誰がどのような作業をしたのか知るためです。rootでログインを許した場合、複数で開発するプロジェクトでは誰が何をしたのか後で知ることができません。加えて、ウイルス等に感染した場合、ユーザーのパスワードが窃取された場合でも、rootでのログインを許していなければ、不正な行為をする時間を遅らせることができ、その間に、対策を取ることができるかもしれません。
[それでもrootでログインできるようにしたい!]
それでも、rootでログインし作業をしたいというニーズがあります。私のように1人で開発している場合は特にです。現在は、WinSCPで開発をしていますが、そのWinSCPのユーザーは、インストール時に作成したユーザーです。そのため、作業内容に制約があります。
Prototype EVEはApache権限ですべて実行するため、開発環境はすべてApacheへ所有権を移譲しているのですが、その移譲している作業領域でファイルなどを保存しようとするとエラーになります。そのエラーを出さない方法もあるのですが、その場合、ファイルの保存日付が更新されません。
インストール時に作成したユーザーにApacheグループを付与しても同じでした。だから、root権限がどうしてもほしいのです。そこで、今回、いろいろと調べてみました。そうしたら、ChatGPTが、しぶしぶですが、以下の方法を教えてくれました。その場合は、以下のファイルを、viで開きます。
#sudo vi /etc/ssh/sshd_config
表示したファイルへ以下の1行を追加します。
PermitRootLogin=Yes
PermitRootLoginという行を探したのですが、説明文はあるのですが、該当するものはありませんでした。そのため私は、PermitRootLoginを解説していると思われる33行目の下に、以上の行を追加しました。
追加後sshサービスを再起動します。
#sudo service ssh restart
以上で、rootに関する作業は完了です。
[あとがき]
長くなってしまったので、本日はここまでとさせていただきます。
思った以上に作業に時間が取られてしまいました。ただ、今まで開発で苦労していた部分が解消できて、うれしいです。しかし、現在は非推奨な開発方法です。理由は先ほど解説した通りです。ただ、もし1人で開発する機会がございましたら、ご利用ください。
では、また!!!