Якщо ви створили обліковий запис користувача за допомогою 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
є w
s -
, то користувачі, крім того, 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
адміністратора.