Я змінюю останній рядок у / etc / passwd і не можу використовувати sudo


15

Ось що я зробив:

  1. Змініть ім'я користувача в останньому рядку: tinyнаabc

    • tiny@tty7:~$ sudo vim /etc/passwd
    • Змініть це:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      на це:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ sudo vim /etc/shadow

    • це показує: [sudo] passwork for abc:

    • Я не змінив свій пароль, але він не може увійти корінь!

    • Я набираю Ctrl+ Alt+ F1до, tty1але ні крихітний, ні abc не можуть увійти зі своїм паролем

і я намагаюся дивитись ls ~ -la, ось це виглядає так:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

Як я можу ввійти в корінь? і чому ім'я користувача у запиті tiny@tty7все ще залишається крихітним, а в sudo воно показує пароль abc?

Відповіді:


18

Причина, за якою ви застрягли після редагування, полягає в тому, що /etc/shadowфайл містив запис для пароля, tinyале немає запису для abc, тоді як /etc/passwdфайл містив запис для, abcа не для tiny. Коли він sudoподивився, він визначив вас правильно (відповідно до файлу паролів) як abcна основі UID процесу, який ви виконували, але коли він подивився порівняти те, що ви ввели як свій пароль, із зашифрованим (хешованим) паролем, який зберігається /etc/shadow, він не міг Ви не знайдете запис abc, тому довелося повідомити про помилку.

Як Шадді сказав у своїй відповіді , не редагуйте паролі та тіньові файли вручну. Якщо потрібно порушити правило, відредагуйте обидва в одному викликуvim та не виходьте з нього, vimпоки ви не докажете, що зміни є достатньо розумними для роботи, використовуючи інше вікно терміналу, і збережіть резервні копії файлів до ви починаєте їх ламати, і переглядаєте, чому ви порушуєте правила в першу чергу, тому що це, мабуть, не дуже гарна ідея.


22

Ви НІКОЛИ не повинні редагувати файл passwd вручну, тому що ви зіпсуєте речі.

Правильний спосіб змінити ваше ім’я користувача:

usermod -l newUsername oldUsername

Потім змініть домашню папку:

usermod -d /home/newHomeDir -m newUsername

Щоб змінити пароль, слід використовувати:

sudo passwd yourusername

Я пропоную вам відновити файл passwd назад, або якщо ви не можете його відредагувати, тому що ви не можете увійти з root - тоді завантажтеся з живого CD та поверніть файл назад. Тоді користуйтеся належним чином.


1
дякую ~ Я подумав, що найскладніше - це увійти в систему з корінням, тоді я перезавантажуюсь, вибираю режим відновлення, root та повертаю свій файл passwd назад ~ він працює ~
tinyork


-3

порядок зміни вашого імені користувача (але не uid) вручну:

  1. огляньте голову, коли це не вдасться перейти до другого кроку.
  2. редагувати тіньовий файл, дублюючи рядок користувача з новим ім'ям користувача.
  3. редагуйте групи, sudoers, дозволяючи нові дозволи користувача, зберігайте старі
  4. символічно посилайте домашній каталог на нову назву
  5. редагувати файл passwd, змінюючи ім'я користувача та домашню директорію
  6. редагувати тінь, sudoers, групи, щоб видалити старі записи, які ми зберегли у кроці третьому
  7. редагувати псевдоніми та інші посилання на старе ім’я користувача.
  8. вийдіть із системи, перейдіть на текстову консоль (наступний крок не буде працювати, якщо будь-які програми запущені в домашній каталог користувачів, включаючи менеджери вікон)
  9. cd до каталогу над вашим домашнім каталогом.
  10. видалити символічне посилання та перейменувати домашній каталог.
  11. вихід із системи та вхід у систему, як звичайно.

Речі набагато простіші, щоб змінити ім’я інших користувачів, хоча все ще не просто.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.