提案されているように私のユーザー名を変更したいと思います。ここただし、次のコマンドを実行した後:
CurrentName@HostName ~ $ sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName
端末応答:
CurrentName@HostName ~ $ usermod: user CurrentName is currently used by process 2491
そして、ユーザー名は同じままです。この問題を解決し、ユーザー名を変更する方法を知っている人はいますか?
答え1
引用するにはman usermod
:
ガイドライン
ユーザーの数値ユーザーID、ユーザー名、またはユーザーのホームディレクトリを変更する場合は、このコマンドを実行したときに指定されたユーザーが実行中のプロセスがないことを確認する必要があります。 Linuxではこれを確認しますが、
usermod
他のアーキテクチャに基づいてユーザーがログインしていますが、確認してください。utmp
したがって、名前を変更するユーザーがログインしていないことを確認する必要があります。
root
またとして実行していないroot
かsudo usermod
。
答え2
次の手順を試してください。
- rootユーザーのパスワードを設定します。
sudo passwd root
- Ubuntuの再起動
root
起動後にログインしてください。これにより、Ubuntuは現在のユーザーのプロセスを作成しません。- ユーザー名の変更
usermod -l newuser -d /home/newuser -m olduser
- ディレクトリ内の新しいユーザー名のフォルダ名を確認して、ユーザー名が変更されたことを確認します
/home
。
答え3
既知のファイルを手動で編集するか(悪い)パスワードを開くのではなく、(root
非常に悪い).at
を使用してファイルを読み取り、フルパスman at
()を使用してください。usermod
type -p usermod
sudo at "now +5 minutes"
your usermod command goes here
^D
^D
はいCtrl-D
その後、すばやくログアウトして7分待ってからログインしてください。
答え4
これは主にUbutuの問題です。ログインするルートアカウントがありません。だからこれは矛盾を作ります。私はsudoerグループのユーザーです。 uidを変更できません。
これが最善の解決策であるかどうかはわかりません。まず、偽のアカウントfooを作成してsudoリストに追加します。その後、fooアカウントにログインし、usermod -g MYOWNGID myloginを実行しました。