Bagaimana cara membuat pengguna yang tidak memiliki hak istimewa di CentOS?

10

Saya ingin membuat pengguna unprivileged untuk menjalankan server RhodeCode dan daemon Seledri pada instance CentOS. Saya pikir definisi yang diterima dari ini adalah tidak ada direktori home, login dinonaktifkan, dan tidak ada akses shell? Melihat halaman manual untuk adduser, saya hanya tidak melihat metode intuitif untuk melakukan ini. Ada saran yang dihargai. Terima kasih.

Lester Peabody
sumber

Jawaban:

9

Dari sini (centos.org)

useradd(yang merupakan biner aktual yang dijalankan ketika Anda memanggil adduser, itu hanya berperilaku berbeda. Lihat di sini tentang itu.) Memiliki bendera -ryang didokumentasikan sebagai berikut:

-r   Create a system account with a UID less than 500 and without a home directory

Kedengarannya seperti apa yang ingin Anda lakukan.

dtyler
sumber
Menariknya, setidaknya di Redhat /etc/passwdakan memiliki entri direktori home ( /home/usernamesecara default); direktori, tentu saja, tidak akan ada, tapi itu agak aneh)
ジ ョ ー ジ
15

Saya pikir saya harus menautkan di sini dua jawaban dari serverfault :

Pada dasarnya -rberarti "setel akun sebagai satu sistem" - "tidak kedaluwarsa", dll - dan mantra lengkapnya mungkin terlihat seperti

useradd -s /bin/false -r <username>

atau

useradd -s /usr/sbin/nologin -r -M -d /dev/null <username>

atau serupa)

NB. Untuk hal-hal seperti samba, seseorang mungkin juga ingin memberikan kata sandi kepada pengguna ini dan dapat juga ditambahkan /usr/sbin/nologinke /etc/shells:

# `which nologin` >> /etc/shells

NB (2): sesuai komentar OrangeDog: -rsebenarnya menyiratkan -M, jadi -Mtidak sepenuhnya diperlukan.

PS. Dan ya, mencari hal yang sama di serverfault , askubuntu - dan di sini - agak aneh bagi saya; apakah ada cara untuk menjalankan pencarian meta di, katakanlah, semua situs stackoverflow?

ジ ョ ー ジ
sumber
Adapun meta-search - opsi "asli" tidak ada untuk saat ini, tetapi ada pencarian Google kustom untuk pertukaran stack
ジ ョ ー ジ
Saya telah melihat layanan seperti bernama using /sbin/nologinin /etc/passwd. Jadi bagaimana mereka memulai layanan mereka?
Antarus
@OrangeDog: Saya tidak memiliki sistem CentOS yang saya miliki saat ini, tetapi pada Redhat dan Debian -dtidak diabaikan; aneh bahwa tidak ada pengulas yang benar-benar ingin menguji)
ジ ョ ー ジ
0

Anda sedang mencari -ropsi.

Ignacio Vazquez-Abrams
sumber
Saya baru saja membuat pengguna menggunakan adduser -s /sbin/nologin -M rhodecode, tetapi opsi -r tampaknya menjadi apa yang saya cari. Apa perbedaan antara menggunakan -r dan apa yang saya lakukan? Saya noob skrip shell, maaf.
Lester Peabody
Saya sarankan Anda melihat useradd(8)halaman manual untuk melihat bagaimana itu mempengaruhi pengguna yang dibuat.
Ignacio Vazquez-Abrams