Akun Pengguna Centos nologin tetapi memungkinkan untuk masuk ke akun

12

Saya baru mengenal CentOS (menjalankan CentOS 6). Saya memiliki pengalaman sebelumnya dengan OpenSuse.

Saya mencoba menyiapkan akun untuk pengguna. Saya tidak ingin akun tersedia untuk masuk melalui ssh atau melalui layar masuk. Tapi, saya masih ingin bisa masuk ke pengguna dengan menggunakan perintah su. Ini memungkinkan saya untuk menjalankan aplikasi tertentu sebagai pengguna dengan akses terbatas. Pengguna bukan pengguna super, sehingga tidak dapat mempengaruhi aplikasi pengguna lain.

Bantuan apa pun akan sangat dihargai. Saya biasanya ingin menggunakan ini untuk menjalankan server Glassfish dll.

tidak seperti yang lain
sumber
Jadi bagaimana Anda mengatasinya dengan OpenSuSE?
Nils

Jawaban:

15

Pada centos, Anda akan mengatur dengan pengguna tanpa shell dengan menggunakan / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Jika Anda perlu menjadi itu, gunakan parameter -s dan masukkan argumen shell pilihan Anda, seperti:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Perhatikan bahwa jika Anda menggunakan bash, ia akan membaca pengaturan dari / etc / profile terlebih dahulu dan akan default ke pengaturan tersebut jika tidak ada .bash_profile, .bash_login atau.profile di direktori home pengguna. Tentu saja, jika Anda ingin menggunakan pengaturan lingkungan yang ada yang ada di root, Anda bisa menghapus tanda hubung:

keluar [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 
Rilindo
sumber
0

Salah satu cara umum adalah dengan mengatur shell pengguna /bin/false

unbeli
sumber
Saya sudah mencoba mengaturnya ke / bin / false tetapi sepertinya centOS 6 tidak memiliki opsi ini. Itu memang memiliki opsi bin / nologin, tetapi ini tidak memungkinkan saya untuk masuk ke akun pengguna.
cobasu -m username
unbeli
Jika saya mengatur pengguna ke / sbin / nologin dan saya mencoba su dengan opsi -m itu memberitahu saya bahwa akun saat ini tidak tersedia. Saya juga mencoba menambahkan / bin / false ke file shells. Ketika saya melakukan ini, perintah su tidak akan beralih ke pengguna.
ok, JANGAN tambahkan / bin / false ke file shells. Setel shell pengguna ke / bin / false. Gunakan su -m.
unbeli
Saya telah menghapusnya dari file / etc / shells dan mengatur shell pengguna ke / bin / false menggunakan perintah usermod. Jika saya sekarang mencoba untuk su -m nama pengguna, itu memberitahu saya bahwa saya tidak memiliki izin untuk .bashrc. Saya login sebagai root. Jika sekarang saya lakukan: su - username itu memberi saya tidak ada kesalahan, tapi saya masih dilihat sebagai root. Apakah ini normal dalam Centos?
0

Saya biasanya memasukkan "x" ke dalam bidang kata sandi terenkripsi dari pengguna "teknis" tersebut. Jadi pengguna tidak akan memiliki kata sandi yang memungkinkan. Jika sekarang juga ada kunci publik di otor_keys pengguna itu, akun itu harus cukup aman.

Nils
sumber