web-dev-qa-db-ja.com

rootへのユーザーログインの変更を修正

ここにUbuntu 14.04.2 LTS(GNU/Linux 3.16.0-30-generic x86_64)を実行しているVMがあり、ユーザーからアクセスできるようになったので、ログインするたびにuserxと呼びます。このVMからsshまで:

ssh -p 22 [email protected]

ユーザーを自動的にrootに変更するため、マシンに次のように入力します。

root@machinename:~#

pwdを実行すると、userxフォルダー/home/userxにいることがわかります。そして、su userxを実行すると、再びrootとしてログインします。

それをどのように変更すれば、userxでログインしているときに、実際にuserx@machinename:~#のようなuserxとしてログインできますか?

編集コメントで要求されたとおり:

root@machinename:~# grep userx /etc/passwd
userx:x:0:0:somename,,,:/home/userx:/bin/bash

プライバシーを保つためにsomenameの値を変更しました。グループだと思いますよね?

root@machinename:~# ls -l /home
total 4
drwxr-xr-x 10 1000 userx 4096 Nov  8 11:10 userx
2
Jorge Campos

問題は、「userx」がルートであるということです。/etc/passwdに示されているように、ルートは0のUIDで識別されます

userx:x:0:0:somename,,,:/home/userx:/bin/bash

出力を理解するために https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ を参照してください。

だから、あなたができることは、中程度に侵襲的ですが、これをすべてルートシェルから行います!!!

あなたの場合、etc/passwd/etc/groupsを手動で編集する必要があります

nano /etc/passwd

userx行を編集します

userx:x:1000:1000:somename,,,:/home/userx:/bin/bash

次に/ etc/groups

少なくとも

userx:x:1000:

そこにいる間に、必要に応じて他のグループにuserxを追加できます。行の最後にuserxを追加し、必要に応じてコンマで区切ります(デスクトップインストールからこのリストを投稿します)。必要に応じて他のグループに自分自身を追加できます(www-data?)

adm:x:4:syslog,userx
cdrom:x:24:userx
Sudo:x:27:userx
dip:x:30:userx
plugdev:x:46:userx
lpadmin:x:118:userx
userx:x:1000:
sambashare:x:128:userx

次に、sshをセットアップします(必要な場合)

cp -R /root/.ssh /home/userx
chown -R userx:userx /home/userx

ルートシェルを終了する前に、クライアントからsshとSudoをテストします

ssh [email protected] #you do not need to specify the port if it is the default

Sshで長く入力できると仮定して、Sudoをテストします

Sudo -i

Sshを介してログインし、ルートシェルを取得できる限り、準備は万端です。

ポストバックする必要がある問題がある場合、sshおよび/またはSudoを構成する必要がある場合があります

1
Panther

ユーザーuserxのIDとグループIDは0です。つまり、自動的にルートユーザーになります。異なるIDのユーザーを作成する必要がある場合があります。以前のIDはシステムアカウント用に予約されているため、ベストプラクティスは1000から開始します。

userx:x:::somename ,:/ home/userx:/ bin/bash

ユーザーIDを変更する構文は次のとおりです。

usermod -u UID userx

例によって

usermod -u 1000 userx

そして、プライマリグループを変更するには

usermod -g groupx userx

たとえば、同じユーザー(Linuxのデフォルトの動作)を持つグループのメンバーになるようにするため。

groupadd userx # < Command useless for you as group userx already exists
usermod -g userx userx
1
ob2