【centOS】rootアカウントの危険性とアカウント追加の方法について

数ヶ月前から契約しているさくらvpsがあるのですが、
未だにちゃんと扱えていないので少しずつ稼働させて、何やらツールを作ったりとかしていこうと考えています。
その過程で覚えた初歩的な知識をメモ。

さくらvpsにターミナルからsshでアクセスして作業を行うのですが、なんの気なしにroot権限でアクセスしまくってました。
僕はあまりcentOSに詳しくないし、このままサーバーを最高権限で扱うと危なそうだなと思い、別アカウントを作成しましたので、そのまとめです。

rootアカウントとは何か?

rootとは、Android(Linuxカーネル)の「システムを管理する最高権限」を有するユーザーアカウント名のこと
Androidをroot化する時に知っておきたいこと

「最高権限」なので、システム的に問題が生じる変更でも、特にアラートが出ることもなく修正ができてしまいます。
当然、悪意をもったアクセスなどが生じることも考えられますが、それ以上には私は人為的なミスで、再起不能な状態になってしまう危険性のほうが大きいかと思います。

人為的なミスは0にすることが難しいので、ミスが起こっても再起不能な状態にならないためのリスクヘッジとして考えています。

centOSにアカウントを追加する方法

アカウントの追加

root権限から新しいアカウントの追加を行う方法になります。

// useradd は、 "root" アカウント で なければ実行できません。
# useradd [オプション] [ユーザー名]

160319_linux_u_1

オプションを何も設定しなくても問題はありません。僕は何も設定せずにuseraddを実行しています。

Linuxの「cat」はファイルの内容を表示するコマンドです。catコマンドについての詳細は以下をご参照ください。
新規ユーザーの作成 – Linuxコマンド

追加したアカウントにパスワードを付与

追加したアカウントにパスワードを付与します。

// 別のアカウントのパスワードを変更する場合(root権限など)
# passwd [オプション] [ユーザー名]

// 現在ログインしているアカウントのパスワードを変更する場合 
# passwd

160319_linux_u_2

passwdコマンドの詳細については以下を参照ください。
ユーザーのパスワードを変更 – Linuxコマンド

これで、新しいアカウントの追加とパスワードの設定ができたかと思います。
確認のため、rootアカウントからログアウトして、今作成したアカウントを使ってログインしてみます。

160319_linux_u_3

CentOSでユーザーの一覧を確認する方法

ユーザーの追加をする前に一応、前にアカウントを作った気がするけど忘れちゃった場合の対処

ユーザ一覧とパスワードを表示

# cat /etc/passwd
# cat /etc/shadow

※/etc/shadow はrootアカウントではないと実行できないかもしれないです。

Linuxの「cat」はファイルの内容を表示するコマンドです。catコマンドについての詳細は以下をご参照ください。
ファイル内容を標準出力に表示 – Linuxコマンド

Linuxサーバ上で設定したユーザのパスワードを忘れた場合、割り出す方法は総当りしかないらしいですので、パスワードを探し当てるよりもroot権限で、パスワードを変更してあげたほうが早いみたいです。

160319_linux_u_4

不要なユーザーを削除するには

アカウントの削除にはuserdelを使う。

他のユーザーを使ったけど、消したい場合(プロジェクトを抜けたユーザーのアカウントとか)は、userdelで削除します。

// ユーザーのアカウントのみ削除する場合。
userdel [ユーザー名]

// ユーザーのアカウントとホームディレクトリとかも一緒に削除する場合
userdel -r [ユーザー名]

オプションに「-r」を設定すると、ホームディレクトリとメールスプールなども消してくれます。
特に残す必要ってあまりないと思うので、基本的には「-r」で削除でいいのではないでしょうか。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください