Linuxユーザーとパスワードを新しいサーバーにコピーする


26

サーバーを介して新しいハードウェアに移行しています。システムの一部が再構築されます。ユーザー名、パスワード、グループ、ファイルの所有権、およびファイルのアクセス許可がそのまま維持されるためには、どのファイルとディレクトリをコピーする必要がありますか?

Ubuntu 12.04 LTS。

回答:


39

皮切りに

/etc/passwd - user account information less the encrypted passwords 
/etc/shadow - contains encrypted passwords 
/etc/group - user group information 
/etc/gshadow - - group encrypted passwords

ファイルの権限も正しいことを確認してください


5
私から+1。私も考え/homeました。一般に、sshキーはホームディレクトリに存在するため~/.ssh、少なくとも認証インフラストラクチャの一部と見なすことができます。
MadHatterは

2
@MadHatter:実際には、OPはユーザーのホームディレクトリをコピーする必要があることを知っていると思っていましたが、SFではここでは決して知らないと思います:)
user9517はGoFundMonica 14年

2
心配しないでください、著者は知っています。
ミッコオタマー14年

2
上記は機能しますが、gshadowを実際にコピーする必要があります。
symcbean 14年

6
重要な点:これは、ファイルベースの認証のみを備えたサーバーを想定しています。LDAPやNISなどを使用するサーバーを移行するには、特に認証サーバーが同じシステム上にある場合、これらのファイルでは不十分です。他のサブシステム(Samba、SQLなど)にも独自の認証データベースがあります。
thkala 14年

13

私はすでにGentoo Linuxでこれを行い、コピーしました:

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow

それでおしまい。

他のマシン上のファイルの所有者IDが異なる場合は、それらを/ etc / groupおよび/ etc / passwdのファイルに変更して、有効なアクセス許可を復元することができます。


11

他の回答に記載されているファイルをコピーするときに、システムアカウントを削除したり番号を付け直したりしないように注意してください。通常、システムサービスには固定のユーザーIDがありません。元のマシンとは異なる順序でパッケージをインストールした場合(長命である可能性が高い)、それらは異なる順序になります。私はこれらのファイルを/ root / saved-from-old-systemのような場所にコピーし、システム以外のアカウントをコピーするために手動で編集する傾向があります。(おそらくこのためのツールがありますが、私はこのようなシステムを調査するのに十分な頻度でコピーする傾向はありません。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.