Mencoba mengalihkan akun ke akun saya yang baru dibuat, saya mendapatkan layar hitam dan kemudian membawa saya kembali ke layar masuk utama setelah memasukkan kata sandi yang benar.
Setelah masuk ke akun saya yang sudah ada sebelumnya saya mendapatkan:
"System Program Problem Detected"
Details:
Executable path /usr/bin/Xorg
Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1
Details: Crash
... (tons more, but no way to copy paste or save)
Ketika saya mencoba su
su -l penner
Saya mendapat:
No directory, logging in with HOME=/
Saya secara manual membuat direktori home dan kesalahan ini hilang tetapi masih tidak berhasil dengan login. Tampaknya ada yang salah dengan pembuatan pengguna? Bagaimana saya bisa memperbaikinya?
useradd
switch-user
penner
sumber
sumber
Jawaban:
Jika Anda membuat akun pengguna
useradd
, Anda harus mengatur semuanya untuk itu secara manual. Inilah sebabnya, ketika membuat akun pengguna dari command-line, disarankan untuk digunakanadduser
di Ubuntu (dan Debian, dan sistem berbasis Debian lainnya) sebagai gantinya. Anda mungkin hanya ingin menghapus pengguna denganuserdel
ataudeluser
dan membuatnya kembaliadduser
. Jika tidak...Memperbaiki Lokasi Direktori Rumah
Jika Anda ingin menyimpan akun pengguna dan memperbaiki masalah, maka Anda perlu melihat:
Ini harus persis sama. Pesan kesalahan yang Anda terima
su -l penner
memberi tahu Anda bahwa mereka tidak sama.Untuk memeriksa direktori home akun pengguna sebenarnya dikonfigurasi untuk, jalankan perintah ini (lihat
man 5 passwd
danman grep
untuk informasi lebih lanjut):Anda akan melihat garis seperti ini:
Yaitu, bidang terpisah keenam
:
(setelah kelima:
) berisi direktori home. Jika tidak/home/penner
, seharusnya begitu. Jika direktori yang Anda buat bukan untuk pengguna/home/penner
, itu juga harus. Jika kedua direktori itu sama tetapi tidak ada yang sama/home/penner
, maka secara teoritis mungkin bisa berfungsi, tetapi Anda harus membuat keduanya/home/penner
, karena banyak perangkat lunak mengasumsikan bahwaroot
direktori home semua bukan pengguna adalah ./home/username
Anda dapat mengubah
penner
direktori home menjadi/home/penner
dengan menjalankan perintah ini:man usermod
untuk informasi lebih lanjut.Memastikan itu adalah Direktori, dan Pengguna Memiliki Akses
Jika (atau sekali) nama keduanya
/home/penner
, Anda juga harus memastikan bahwa pengguna memiliki akses ke direktori home mereka sendiri. Menjalankan:Anda akan melihat sesuatu yang terlihat seperti ini (meskipun tanggal dan waktu akan berbeda):
Jika alih-alih
drwxr-xr-x
, Anda memiliki sesuatu yang diawali dengan-
alih - alihd
, maka Anda membuat file daripada direktori. Hapus file dan buatlah direktori di sana.Jika alih-alih pertama kali
penner
Anda memiliki sesuatu yang lain, maka pengguna tidak memiliki direktori home mereka, jadi buatlah untuk memilikinya:man chown
untuk informasi lebih lanjut.Jika alih-alih
drwxr-xr-x
ada tanda hubung dalam tiga karakter berikutnya setelahd
, maka pengguna tidak memiliki akses penuh di sana. Perbaiki itu sebagai berikut:man chmod
untuk informasi lebih lanjut.(
penner
mampu menjalankan perintah ini jika mereka memiliki direktori home mereka, jadi jika Anda mau, Anda dapat menjalankan ini sebagaisudo -u penner u+rwx /home/penner
:)Memastikan Pengguna Lain Tidak Memiliki Akses Menulis Selimut
Jika alih-alih
drwxr-xr-x
, adaw
s alih-alih-
dalam enam huruf terakhir, maka pengguna di sampingpenner
mungkin memiliki akses tulis kepenner
direktori home. Ini berbahaya (kecuali jika Anda benar - benar tahu apa yang Anda lakukan dan menginginkannya seperti ini dan telah mengatur semuanya agar tidak menjadi masalah). Untuk memperbaikinya:Default Lainnya
Ada beberapa perubahan lain yang mungkin ingin Anda lakukan. Secara default di Ubuntu (yaitu, jika Anda membuat akun pengguna dengan
adduser
atau dengan alat grafis, yang tidak Anda lakukan):Direktori rumah memiliki izin baca dan tulis untuk semua orang, bukan hanya pengguna yang memilikinya. Pengguna dapat mengubah ini, baik untuk direktori home keseluruhan atau file dan subdirektori di dalamnya. Tetapi jika Anda menginginkan default ini, dan Anda tidak memiliki yang kedua dan ketiga
r
danx
dalamdrwxr-xr-x
, jalankan:(
penner
mampu menjalankan perintah ini jika mereka memiliki direktori home mereka, jadi jika Anda mau, Anda dapat menjalankan ini sebagaisudo -u penner chmod 755 /home/penner
:)Setiap pengguna memiliki grup sendiri, dengan nama yang sama dengan pengguna, dan ini adalah grup utama pengguna. Direktori rumah mereka dimiliki oleh grup ini. Itulah arti yang kedua
penner
didrwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Tidak masalah untuk memutuskan dengan default ini, jika Anda tahu apa yang Anda lakukan . Tetapi jika itu bukan niat Anda untuk melakukan hal-hal yang berbeda, Anda harus memastikanpenner
sudah diatur dengan cara ini, karena beberapa kemungkinan identitas kelompok utama untuk pengguna, atau pemilik grup di direktori home pengguna, dapat menyebabkan masalah keamanan.Lari
groups penner
. (Lihatman groups
untuk informasi lebih lanjut.) Anda akan melihat sesuatu seperti ini:Jangan khawatir jika tidak seperti itu. Saya akan segera melakukannya. Sebaliknya, lihat kata pertama setelah
:
. Itulah nama grup utama pengguna. Dengan asumsi Anda menginginkannyapenner
, pastikan itu. Jika tidak, ubah:Jika Anda mendapatkan kesalahan dengan mengatakan bahwa grup
penner
tersebut tidak ada, maka Anda harus membuatnya dengan perintah ini (dan kemudian jalankan kembali perintah di atas):man addgroup
untuk informasi lebih lanjut. (Jika Anda mau, Anda dapat menggunakangroupadd
perintah untuk membuat grup sebagai alternatif .)Ketika Anda berlari
groups penner
, Anda mungkin mendapatkan daftar grup yang jauh lebih pendek daripada sayapenner : penner adm dialout cdrom plugdev lpadmin sambashare
. Untuk pengguna desktop,adm
,dialout
,cdrom
,plugdev
,lpadmin
, dansambashare
memberikan kemampuan yang pengguna desktop umumnya harus memiliki. Karena itu, kecuali Anda memiliki alasan untuk melakukan sebaliknya,penner
sebaiknya berada dalam grup ini. Namun, ini bukan kelompok utama, jadi mereka diatur secara berbeda. Seandainyapenner
tidak ada dalam salah satu dari kelompok ini dan Anda inginpenner
berada di semua dari mereka, jalankan perintah ini:Jika Anda tertarik, inilah yang dimaksudkan semua grup itu:
adm
pengguna dapat melihat sebagian besar file log sistem/var/log
.dialout
pengguna dapat menggunakan modem dial-up.plugdev
pengguna dapat memasang dan menggunakan perangkat penyimpanan eksternal.lpadmin
pengguna dapat mengatur dan mengelola printer.sambashare
pengguna dapat berbagi file (melalui Samba ) dengan komputer lain melalui jaringan.(Sumber: Keistimewaan , dalam wiki dokumentasi Ubuntu.)
Menjadikan Pengguna Administrator
Jika Anda tidak ingin
penner
menjadi administrator, Anda mungkin tidak perlu melakukan hal lain. Anda dapat memeriksa apakahpenner
seorang administrator dengangroups penner
. Jika tidakadmin
juga tidaksudo
terdaftar, makapenner
bukan administrator.Jika Anda ingin
penner
menjadi administrator, tambahkanpenner
ke grup mana saja yang ada. (Anda bisa menambahkanpenner
keduanya, jika keduanya ada.) Anda dapat melakukannya dengan menjalankan kedua perintah ini secara terpisah - jika salah satu berhasil, Anda telah membuatpenner
administrator:admin
grup. Dimulai dengan Ubuntu 12,04 LTS, administrator berada disudo
grup. Tetapi jika sistem 12,04 LTS Anda ditingkatkan dari rilis sebelumnya (dan ini harus berlaku untuk rilis Ubuntu nanti, seperti 12.10 ketika keluar, yang ditingkatkan dari Ubuntu 11.10 atau sebelumnya), maka untuk kompatibilitas, administrator adalah anggota dari keduanyasudo
danadmin
. Secara umum, jika salah satu dari kelompok-kelompok ini tidak memberikan kemampuan administratif, itu hanya tidak ada, jadi menjalankan kedua perintah di atas (secara terpisah, bukan sebagaisudo usermod -a -G admin,sudo penner
) umumnya merupakan cara yang aman dan efektif untuk membuatpenner
administrator.sumber
sudo chmod u+a /home/penner
memberikan kesalahan pada Ubuntu 16.04 (Xenial). Apakahsudo chmod u+rw /home/penner
pengganti yang tepat?useradd
? menjaga kode rusak acakuseradd
menyebabkan masalah pada Ubuntu yang tidak menyebabkan pada sistem lain. Pada sistem 16.04 saya,/etc/default/useradd
memiliki (sebagai satu-satunya baris uncommented)SHELL=/bin/sh
, dan useradd (8) tampaknya mengatakan bahwaSHELL
nilai di sana digunakan jika-s
/--shell
flag tidak diberikan, tetapi pada sistem 16.04 saya itu tidak terjadi. Saya salah mengatakan dengan tergesa-gesa bahwa Ubuntuuseradd
tidak rusak. Sekarang saya tidak begitu yakin. Mungkin ada alasan bagus untuk perbedaan ini antara Fedora dan Debian (dan Ubuntu) ... tapi saya telah menghapus komentar saya agar tidak menyesatkan orang.Ini sebagian besar terjadi ketika Anda membuat pengguna tanpa membuat direktori home untuk pengguna. Ini bisa diselesaikan dengan menggunakan perintah ini saat membuat pengguna
Bendera -m adalah apa yang membuat direktori home untuk pengguna. Setelah membuat pengguna memeriksa apakah direktori home ada untuk pengguna itu dengan melakukan
Jika Anda dapat melihat nama pengguna terdaftar di sana, maka hal terakhir yang harus dilakukan adalah menetapkan kata sandi kepada pengguna itu
Anda sekarang dapat masuk dengan nama pengguna dan kata sandi itu
sumber
ctrl + alt + f1 dan login di sana dan jalankan
sudo chown -R $ USER: $ USER $ HOME
lalu tekan ctrl + alt + f7 dan coba masuk
Itu akan berhasil
sumber