Якщо ви створили обліковий запис користувача за допомогою useradd, вам доведеться налаштувати все для нього вручну. Ось чому при створенні облікових записів користувачів з командного рядка рекомендується використовувати adduserнатомість Ubuntu (та Debian та інші системи на базі Debian). Ви можете просто захотіти видалити користувача з userdelабо deluserвідновити його за допомогою adduser. Інакше ...
Виправлення місцеположення домашнього каталогу
Якщо ви хочете зберегти обліковий запис користувача та виправити проблему, вам потрібно переглянути:
- ім'я домашнього каталогу, для якого фактично налаштовано обліковий запис користувача
- назва каталогу, який ви насправді створили
Вони повинні бути абсолютно однаковими. Повідомлення про помилку, яке ви отримуєте su -l penner, говорить вам, що вони не однакові.
Щоб перевірити домашній каталог, для якого фактично налаштовано обліковий запис користувача, запустіть цю команду (див. man 5 passwdТа man grepдля отримання додаткової інформації):
grep penner /etc/passwd
Ви повинні побачити такий рядок:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
Тобто, шосте :розділене поле (після п’ятого :) містить домашній каталог. Якщо це не так /home/penner, так і повинно бути. Якщо каталог, який ви створили для користувача, немає /home/penner, він також повинен бути. Якщо два каталоги однакові, але жоден не є /home/penner, то теоретично це може працювати, але ви повинні зробити їх обидва /home/penner, оскільки багато програмного забезпечення передбачає, що всі rootдомашні каталоги, що не користувачі, є ./home/username
Ви можете змінити pennerдомашній каталог на, /home/pennerвиконавши цю команду:
sudo usermod -d /home/penner penner
Переконайтеся в тому, що це Каталог та що у користувача є доступ
Якщо (або один раз) імена є обома /home/penner, ви також повинні переконатися, що користувач має доступ до власної домашньої директорії. Виконати:
ls -ld /home/penner
Ви повинні побачити щось таке (хоча дата і час будуть різними):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Якщо замість цього у drwxr-xr-xвас щось починається, -а не d, ви створили файл, а не каталог. Видаліть файл і замість цього створіть каталог.
Якщо замість першого у pennerвас є щось інше, користувач не має власного домашнього каталогу, тож змусьте його володіти ним:
sudo chown penner /home/penner
- Див. Для
man chownотримання додаткової інформації.
Якщо замість них drwxr-xr-xє тире в наступних трьох символах після символу d, то користувач не має повного доступу до нього. Виправте наступне:
sudo chmod u+rwx /home/penner
- Див. Для
man chmodотримання додаткової інформації.
( pennerздатний запустити цю команду, якщо вони мають свій домашній каталог, тому, якщо вам зручніше, ви можете запустити це як sudo -u penner u+rwx /home/penner:)
Забезпечення інших користувачів не мають доступу до запису на ковдру
Якщо замість s в останніх шести літерах замість s drwxr-xr-xє ws -, то користувачі, крім того, pennerможуть мати доступ до запису pennerдо домашнього каталогу. Це небезпечно (якщо ви дійсно не знаєте, що ви робите, і хочете цього так і не налаштували речі, щоб це не було проблемою). Щоб виправити це:
sudo chmod -R go-w /home/penner
Інші параметри за замовчуванням
Можливо, ви хочете внести деякі інші зміни. За замовчуванням в Ubuntu (тобто якщо ви створили обліковий запис користувача за допомогою adduserабо за допомогою графічного інструменту, якого ви не зробили):
Домашні каталоги читають та пишуть дозволи для всіх, а не лише того, хто їм належить. Користувачі можуть змінити це як для всього домашнього каталогу, так і для будь-яких файлів і підкаталогів всередині нього. Але якщо ви хочете , це значення по замовчуванню, і ви не маєте другий і третій , rі xв drwxr-xr-x, виконайте команду:
sudo chmod 755 /home/penner
( pennerздатний запустити цю команду, якщо вони мають свій домашній каталог, тому, якщо вам зручніше, ви можете запустити це як sudo -u penner chmod 755 /home/penner:)
Кожен користувач має свою власну групу з тим самим іменем, що і користувач, і це основна група користувача. Їх домашній каталог належить цій групі. У цьому сенс другого pennerв drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner. Добре перервати з цим замовчуванням, якщо ви знаєте, що ви робите . Але якщо ви не маєте наміру робити щось інакше, ви повинні переконатися, що pennerце налаштовано таким чином, оскільки деякі можливі ідентичності первинної групи для користувача або власників груп у домашньому каталозі користувача можуть призвести до проблем із безпекою.
Біжи groups penner. (Див. Для man groupsотримання додаткової інформації.) Ви повинні побачити щось подібне:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
Не хвилюйтесь, якщо це не зовсім так. Я швидко доберуся до цього. Замість цього подивіться на перше слово після :. Це назва первинної групи користувача. Припускаючи, що ви хочете, щоб це було penner, переконайтесь, що це так. Якщо це не так, змініть його:
sudo usermod -g penner penner
Якщо ви отримаєте помилку про те, що група pennerне існує, вам доведеться створити її за допомогою цієї команди (а потім знову запустити вищевказану команду):
sudo addgroup penner
- Див. Для
man addgroupотримання додаткової інформації. (Якщо ви хочете, ви можете альтернативно використовувати groupaddкоманду для створення груп.)
Коли ви бігали groups penner, можливо, ви потрапили до списку груп значно коротшого, ніж у мене penner : penner adm dialout cdrom plugdev lpadmin sambashare. Для настільних користувачів, adm, dialout, cdrom, plugdev, lpadmin, і sambashareнадати можливості , які користувачі настільних зазвичай повинні мати. Тому, якщо у вас немає причин робити інше, pennerслід входити до цих груп. Однак це не первинні групи, тому вони встановлюються по-різному. Припустимо penner, що немає в жодній із цих груп, і ви хочете pennerбути у всіх них, виконайте цю команду:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Якщо вам це цікаво, ось що означають усі ці групи:
(Джерело: Привілеї , у вікі документації на Ubuntu.)
Зробити користувача адміністратором
Якщо ви не хочете pennerбути адміністратором, вам, ймовірно, нічого більше не потрібно робити. Ви можете перевірити, чи pennerє адміністратором groups penner. Якщо adminні sudoв списку, ні в списку, він pennerне є адміністратором.
Якщо ви хочете pennerбути адміністратором, додайте pennerдо того, що існує з цих груп. (Ви можете також додати pennerобидві, якщо вони обидві існують.) Ви можете досягти цього, виконавши ці дві команди окремо - якщо будь-яка успішна, ви створили pennerадміністратора:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- Причина існування двох груп полягає в тому, що до Ubuntu 12.04 LTS в
adminгрупі були адміністратори . Починаючи з Ubuntu 12.04 LTS, адміністратори входять до sudoгрупи. Але якщо ваша система 12.04 LTS оновлена з попереднього випуску (і це має застосовуватися до більш пізніх версій Ubuntu, наприклад, 12.10, коли вона виходить, які оновлюються з Ubuntu 11.10 або новіших версій), то для зворотної сумісності адміністратори є членами обох sudoі admin. Як правило, якщо одна з цих груп не надає адміністративні здібності, вона просто не існує, тому виконання обох вищевказаних команд (окремо, не як sudo usermod -a -G admin,sudo penner) є, як правило, безпечним та ефективним способом зробити pennerадміністратора.