Jeśli utworzyłeś konto użytkownika useradd
, musisz skonfigurować wszystko dla niego ręcznie. Dlatego podczas tworzenia kont użytkowników z wiersza polecenia zaleca się stosowanie adduser
w Ubuntu (i Debianie oraz innych systemach opartych na Debianie). Możesz po prostu usunąć użytkownika za pomocą userdel
lub deluser
i ponownie go utworzyć adduser
. Inaczej...
Naprawianie lokalizacji katalogu domowego
Jeśli chcesz zachować konto użytkownika i rozwiązać problem, musisz spojrzeć na:
- nazwa katalogu domowego, dla którego konto użytkownika jest faktycznie skonfigurowane
- nazwa katalogu, który faktycznie utworzyłeś
Muszą być dokładnie takie same. Otrzymany komunikat o błędzie su -l penner
mówi, że nie są one takie same.
Aby sprawdzić katalog domowy, dla którego konto użytkownika jest faktycznie skonfigurowane, uruchom to polecenie (zobacz man 5 passwd
i man grep
więcej informacji):
grep penner /etc/passwd
Powinieneś zobaczyć taką linię:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
Oznacza to, że szóste :
oddzielne pole (po piątym :
) zawiera katalog domowy. Jeśli nie /home/penner
, to powinno być. Jeśli katalog, który utworzyłeś dla tego użytkownika, nie jest /home/penner
, to też powinien być. Jeśli dwa katalogi są takie same, ale żaden z nich nie jest /home/penner
, to teoretycznie może to działać, ale powinieneś zrobić je oba /home/penner
, ponieważ wiele programów zakłada, że root
katalogi domowe wszystkich użytkowników nie są ./home/username
Możesz zmienić penner
katalog domowy na /home/penner
, uruchamiając następujące polecenie:
sudo usermod -d /home/penner penner
Zapewnienie, że jest to katalog i że użytkownik ma dostęp
Jeśli (lub jeden raz) te nazwy to oba /home/penner
, należy również upewnić się, że użytkownik ma dostęp do własnego katalogu domowego. Biegać:
ls -ld /home/penner
Powinieneś zobaczyć coś, co wygląda tak (chociaż data i godzina będą inne):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Jeśli zamiast tego drwxr-xr-x
masz coś, co zaczyna się -
od d
, a następnie utworzyłeś plik, a nie katalog. Usuń plik i utwórz w nim katalog.
Jeśli zamiast pierwszego penner
masz coś innego, użytkownik nie jest właścicielem swojego katalogu domowego, więc spraw, aby był właścicielem:
sudo chown penner /home/penner
Jeśli zamiast drwxr-xr-x
następnych trzech znaków po znaku są myślniki d
, użytkownik nie ma tam pełnego dostępu. Napraw to w następujący sposób:
sudo chmod u+rwx /home/penner
( penner
jest w stanie uruchomić to polecenie, jeśli są właścicielami własnego katalogu domowego, więc jeśli wolisz, możesz uruchomić to jako sudo -u penner u+rwx /home/penner
:)
Zapewnienie innym użytkownikom dostępu do ogólnego zapisu
Jeśli zamiast drwxr-xr-x
, w ostatnich sześciu literach są litery w
s zamiast -
s, to oprócz tego użytkownicy penner
mogą mieć dostęp do zapisu do penner
katalogu domowego. Jest to niebezpieczne (chyba że naprawdę wiesz, co robisz i chcesz tego w ten sposób i skonfigurowałeś rzeczy, aby nie stanowiło to problemu). Naprawić to:
sudo chmod -R go-w /home/penner
Inne domyślne
Istnieje kilka innych zmian, które możesz chcieć wprowadzić. Domyślnie w Ubuntu (to znaczy, jeśli tworzysz konto użytkownika za pomocą adduser
lub za pomocą narzędzia graficznego, czego nie zrobiłeś):
Katalogi domowe mają uprawnienia do odczytu i zapisu dla wszystkich, nie tylko dla użytkownika, który jest ich właścicielem. Użytkownicy mogą to zmienić dla całego katalogu domowego lub dowolnych plików i podkatalogów w nim zawartych. Ale jeśli chcesz, to ustawienie domyślne, a nie masz drugi i trzeci r
i x
w drwxr-xr-x
uruchom:
sudo chmod 755 /home/penner
( penner
jest w stanie uruchomić to polecenie, jeśli są właścicielami własnego katalogu domowego, więc jeśli wolisz, możesz uruchomić to jako sudo -u penner chmod 755 /home/penner
:)
Każdy użytkownik ma swoją własną grupę o tej samej nazwie co użytkownik i jest to podstawowa grupa użytkownika. Ich katalog domowy jest własnością tej grupy. To jest znaczenie drugiego penner
w drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Można zerwać z tym ustawieniem domyślnym, jeśli wiesz, co robisz . Ale jeśli nie masz zamiaru robić różnych rzeczy, powinieneś upewnić się, że penner
jest skonfigurowany w ten sposób, ponieważ niektóre możliwe tożsamości grupy podstawowej dla użytkownika lub właścicieli grup w katalogu osobistym użytkownika mogą prowadzić do problemów z bezpieczeństwem.
Uruchom groups penner
. (Zobacz man groups
więcej informacji.) Powinieneś zobaczyć coś takiego:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
Nie martw się, jeśli tak nie jest. Niedługo do tego dojdę. Zamiast tego spójrz na pierwsze słowo po :
. To jest nazwa grupy podstawowej użytkownika. Zakładając, że chcesz, żeby tak było penner
, upewnij się, że tak jest. Jeśli nie, zmień:
sudo usermod -g penner penner
Jeśli pojawi się błąd informujący, że grupa penner
nie istnieje, musisz ją utworzyć za pomocą tego polecenia (a następnie ponownie uruchomić powyższe polecenie):
sudo addgroup penner
- Zobacz
man addgroup
więcej informacji. (Jeśli wolisz, możesz alternatywnie użyć groupadd
polecenia, aby utworzyć grupy).
Gdy biegałeś groups penner
, być może lista grup była znacznie krótsza niż moja penner : penner adm dialout cdrom plugdev lpadmin sambashare
. Dla użytkowników komputerów stacjonarnych, The adm
, dialout
, cdrom
, plugdev
, lpadmin
, i sambashare
zapewnienie możliwości, że użytkownicy stacjonarnych powinny zasadniczo mieć. Dlatego, chyba że masz powód, aby postąpić inaczej, penner
powinieneś należeć do tych grup. Nie są to jednak grupy podstawowe, więc są ustawione inaczej. Załóżmy, że penner
nie ma w żadnej z tych grup i chcesz penner
być we wszystkich, uruchom to polecenie:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Jeśli jesteś zainteresowany, oto, co oznaczają wszystkie te grupy:
(Źródło: uprawnienia , na wiki dokumentacji Ubuntu.)
Uczynienie użytkownika administratorem
Jeśli nie chcesz penner
być administratorem, prawdopodobnie nie musisz robić nic więcej. Możesz sprawdzić, czy penner
jest administratorem groups penner
. Jeśli ani admin
nie sudo
ma na liście, penner
to nie jest administratorem.
Jeśli chcesz penner
być administratorem, dodaj penner
do dowolnej z tych grup. (Równie dobrze możesz dodać penner
do obu, jeśli oba istnieją.) Możesz to zrobić, uruchamiając osobno te dwie komendy - jeśli jedno z nich się powiedzie, utworzyłeś penner
administratora:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- Istnieją dwie grupy, ponieważ przed Ubuntu 12.04 LTS administratorzy byli w tej
admin
grupie. Począwszy od Ubuntu 12.04 LTS, administratorzy są w sudo
grupie. Ale jeśli twój system LTS 12.04 zostanie zaktualizowany z poprzedniej wersji (i powinno to mieć zastosowanie do późniejszych wersji Ubuntu, takich jak 12.10, kiedy wyjdzie, które są uaktualnione z Ubuntu 11.10 lub wcześniejszej), to w celu zachowania kompatybilności wstecznej administratorzy są członkami obu sudo
a admin
. Zasadniczo, jeśli jedna z tych grup nie przyznaje zdolności administracyjnych, po prostu nie istnieje, więc uruchomienie obu powyższych poleceń (osobno, a nie jako sudo usermod -a -G admin,sudo penner
) jest ogólnie bezpiecznym i skutecznym sposobem na utworzenie penner
administratora.