質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

LXC

コンテナ

Q&A

解決済

4回答

31222閲覧

ubuntuのusermodでuserの名前を変更できません

mint.cherry

総合スコア284

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

LXC

コンテナ

0グッド

0クリップ

投稿2016/01/21 08:45

編集2016/01/21 13:46

※追記のほうで質問内容を変えています。

環境:ubuntu15.10 lxcのコンテナ

lxc上でroot権限を持ったユーザを作成したいから次のコマンドを実行

#useradd -o -u 0 -g 0 -d /root -s /bin/bash user-A

名前を変更したいので下記のコマンドを実行

#usermod -l userA user-A usermod: user user-A is currently used by process 1

user-Aが1つのプロセスを動かしているってことかな?って思い調べたら、そのユーザーがログアウトしないとダメと書いてありました。wコマンドで調べれるらしいです。試してみたらuser-Aはログアウトされていました。

名前変更できないのはほかに考えられる原因は何でしょうか?

追記

killall5コマンドで killall5 -u user-A とuser-Aが動かしているプロセスを終了させました。
ですが、process 1と結果は変わりませんでした。
(そもそもuser-Aは一体なんのプロセスを一つ動かしているのか……)

追記

名前を変更はできました。質問回答欄に方法をかきました。
ただ use proceess 1が何を意味しているか分かりません。

何を指しているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

ひょっとしたらということで指摘させてもらいますが,
分かっているよ,というのであればこれは以下は無視していただいて構いません。
user is currently used by process 1
というのは PID 1 のプロセスによって user が使用されている。
という意味ではないでしょうか。

だとすると,単純に その PID 1 のプロセスを kill で良かったのではないでしょうか。
それから,もし user-A に使用されているプロセスが知りたければ,
ps au などとコマンドを入力すれば,表示されると思います。
ただ,used by process 1 という言葉の意味から考えると,
user-A の実行しているプロセスは関係ないのではという気がしますが。

投稿2016/01/22 06:43

編集2016/01/22 06:48
5ara5treamer

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mint.cherry

2016/01/22 07:07

回答ありがとうござます。恥ずかしながらわかっていませんでした… ubuntu15.10を使っていまして、PID番号1のプロセスはsystemdでした。 (pid 1 はinitって調べたらありましたけどubuntuはsystemdに変更したんですよね) 当時ps auコマンドを確かめましたがuser-Aはいなかったですね。 私の解釈としては「user-Aが何らかのプロセスを1つ使用しているためそのプロセスを終了させてください」と捉えていました。
mint.cherry

2016/01/22 07:11

> kill 1 1はPID番号ですよね?systemdの動きを止めてもいいものなのでしょうか? 私自身systemdをあまり理解していないですm(__)m
mint.cherry

2016/01/22 08:36

時間をおいてまた見たら、こんどのPID1は/sbin/initになっていました。 恥ずかしながらなんでか理解していません…
5ara5treamer

2016/01/22 09:02

systemd の動作をArch Wiki で調べてみたのですが, systemd はユーザがログインすると自動的にsystemd --userインスタンスを生成する とありました,これはセッションが終了するまで続き,セッションを終了すると 自動的に閉じられるということです。 したがって次に調査すべきはこのセッションというもののようです。 loginctl というコマンドを実行すると,セッションの一覧が見えるようなので これで user-A のセッションが終了しているかどうかを確認できるはずです。 loginctl --kill-who=user-A とすればどうやらセッションの終了もできるらしいです。 これでだめだったらよくわかりませんね。
5ara5treamer

2016/01/22 09:04

追記です,つまりこの sysytem --user インスタンスというのが, process 1 の正体なのではないかというが上のコメントです。 分かりづらかったかもしれないので。
5ara5treamer

2016/01/22 09:29

/sbin/init については,この記事を読んでみると良いでしょう。 https://wiki.ubuntu.com/SystemdForUpstartUsers Ubuntu は 15.04 以降,init デーモンとして,Upstart から systemd へ移行しました。 つまり,Ubuntu 15.04 以降では, /sbin/init が systemd ということです。
mint.cherry

2016/01/25 09:36

loginctlコマンドは知りませんでした。 ですが、wコマンドやwhoコマンドなど同じだと思いましたm(__)m 実際やってみると、やっぱりuser-Aの存在はありません。だめもとで、loginctl --kill-who=user-Aをやってみたところ。 ============================================ #loginctl --kill-who=user-A SESSION UID USER SEAT c2 1000 ubuntu c1 119 lightdm seat0 2 sessions listed. ============================================= とだけ出てきてuserdel usesr-Aを実行。予想はしていましたけど結果は変わらず。。。 upstart からsystemdに変わったのは知っていました。ただupstartとは?systemdとは?という感じですm(__)mこれは私のほうで調べて勉強します。
guest

0

初めまして
単純に権限で変更できないのではないでしょうか?
rootなりでログインし直して実行してみてはどうでしょうか?

投稿2016/01/21 08:52

takato

総合スコア148

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mint.cherry

2016/01/21 09:07

回答ありがとうございます。 > 単純に権限で変更できないのではないでしょうか? user-Aにrootの権限をすべて与えています。(rootの権限をすべて与えればなんでもできると思っていますm(__)m) >rootなりでログインし直して実行してみてはどうでしょうか? logoutのやり方がわからなかったので調べましたm(__)m exitでログアウトしたらコンテナからホストがわへ戻り、[lxc-attach -n コンテナ]でログインしました。実行してみましたが変わらなかったです。。
takato

2016/01/21 09:47 編集

mint.cherry様 ログアウトのやり方はCtrl+Cでも場所によってはログアウトできます。 sudo su root でログインして試していただけますか?rootで操作すれば変更できるかと思います。
mint.cherry

2016/01/21 09:39

ctrl+cはプロセスの中断ですよね?押してみましたが見た目変化ありませんでした。 sudo rootをやるとrootコマンドはありませんといわれます。(そうですよね…) sudo su root で入りなおしました。入った後に「usermod -l userA user-A 」やりましたがダメでした。
takato

2016/01/21 09:50

ごめんなさいMYSQL時のショートカットでしたね・・・ mv 変更前ファイル名 変更後ファイル名 で試していただけますか?
mint.cherry

2016/01/21 10:00

mysql自分は「¥q」で終わらしています(笑)こちらこそすいません。ctrl+cは中断ではなく強制終了です。mysql入っているときにctrl+cはおすすめできない気が。。。。[\q]と同じならいいのですが... mv?ファイルの名前ではなくuserの名前を替えたいですm(__)m汗
guest

0

以下の記事を参考にしてはいかがでしょうか。
http://ta1se1.hatenablog.com/entry/usermod_error
詳しいことまではわかりませんが、kill -9 [エラーで出たpid]とするとubuntuが落ちることから、システム的なプロセスをそのuserが使用している、という意味ではないかと思っています...。

投稿2016/11/06 09:58

編集2016/11/06 10:02
miyagaw61

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

名前を変更できました。(強制的に)
useraddするときに情報が書き込まれるところがあります。
/etc/passwdと/etc/groupです。
/etc/passwdのほうで強制的(viコマンド使用)に名前を変えることができました。

ただいまだに、「used process 1」がわかりません、user-Aはなんのプロセスを動かしていたのでしょうか?

投稿2016/01/21 13:37

mint.cherry

総合スコア284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takato

2016/01/22 04:57

解決ができてよかったです。力になれず申し訳ございません。 質問内容が違う場合ここのトピを閉じてまた新たに別で質問するのがいいと思います。
mint.cherry

2016/01/25 09:03

eripongさんありがとうございますm(__)m 確かcurrently used by process 1で調べたら上らへんにでてきましたよね(笑) 既に検証していまして、シャットダウンされました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問