SSHとかで作業する時は、rootだとなんでも出来てしまうので別にユーザーを作って作業するみたいなのは昔っから言われてます。
なので自分もユーザーを追加してそれでログインしてるんですが、それだと権限が足りなくて操作できないこともあります。
そんなときは sudo で一時的にスーパーユーザーになって操作するわけなんですが、パスワードを入れてもはじかれるのでなんでーと思いつつ su で root に切り替えてからコマンドいれてたんですが、いい加減それも面倒くさいし、なにより自分が管理してるとはいえ毎回「この事象は記録・報告されます。」とか言われるのもあまりいい気分ではありませんので何とかすることにしました。
ユーザーを追加した段階では sudo はできない
まぁ、普通に考えればそうだよなってかんじですが、ユーザーを追加しただけでは、そのユーザーは sudo できません。なので 「sudo ほにゃらら」ってやるとパスワードは聞かれますが、結局「あんたは sudo できないよ」って怒られちゃいます。
1 2 3 |
[nagi@ju9box ~]$ sudo cat /etc/group | grep nagi [sudo] password for nagi: nagi は sudoers ファイル内にありません。この事象は記録・報告されます。 |
日本語化してない場合だと、
3 |
nagi is not in the sudoers file. This incident will be reported. |
みたいな感じです。
まぁ、普通に考えればわざわざ制限をかけたユーザーを作ってるのにだれでも簡単にその制限を超えられちゃ意味が無いですもんね。
自分のアカウントで sudo できるようにする
sudo を使えるようにするには、上記のエラーメッセージにもある通り、 sudoers に入ってないと行けません。
sudoers は /etc/sudoers にあるらしいのですが、当然一般ユーザーでは編集できないので、とりあえず root になります。
1 2 3 |
$ su パスワード: [root@ju9box nagi]# |
このパスワードは root のパスワードです。
続いて、 /etc/sudoers を編集しますが、 vi /etc/sudoers とかしても「E45: ‘readonly’ option is set (add ! to override)」と怒られてしまいます。
多分見た感じでは強制的に書き込む「:w!」を使えば行けそうな気もしますけど、そんなことしないでもsudoを設定するための visudo という専用のコマンドがああるのでそれを使えばいいみたいです。
1 |
[root@ju9box nagi]# visudo |
visudo の操作方法はなんとなくコマンドから分かるかもしれませんが vi と同じです。「vi + sudo = sudoersを編集する専用の vi = visudo」といったとこでしょうか?
開いたら、「## Allow root to run any commands anywhere」という行を探します。
自分のとこでは97行目あたりにありましたが、環境によって違うかも。
95 96 97 98 99 |
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL nagi ALL=(ALL) ALL |
「/Allow root」とかで検索するといいです。
既に root が追加してあるんでその下に自分のユーザ名を追加しましょう。書式は root の行をコピペしてから root を自分のユーザ名に書き換えればOK。
あとは「:wq」で保存して終了。
sudo できるかチェック
以上で作業は完了なので、「exit」で一般ユーザに戻ってからもう一度 sudo できるか試してみましょう。
1 2 3 4 5 6 |
[root@ju9box nagi]# exit exit [nagi@ju9box ~]$ sudo cat /etc/group | grep nagi [sudo] password for nagi: nagi:x:500: [nagi@ju9box ~]$ |
でました。
コメントする