Memahami File Inisialisasi Shell dan Profil Pengguna di Linux

Memahami File Inisialisasi Shell dan Profil Pengguna di Linux

Linux adalah multi-pengguna, sistem berbagi waktu, menyiratkan bahwa lebih dari satu pengguna dapat masuk dan menggunakan sistem. Dan administrator sistem memiliki tugas mengelola berbagai aspek tentang bagaimana pengguna yang berbeda dapat mengoperasikan sistem dalam hal menginstal/memperbarui/menghapus perangkat lunak, program yang dapat mereka jalankan, file yang dapat mereka lihat/edit dan sebagainya.

Linux juga memungkinkan lingkungan pengguna dibuat atau dipelihara dalam dua cara utama: menggunakan konfigurasi sistem-lebar (global) dan khusus pengguna (pribadi). Biasanya, metode dasar bekerja dengan sistem Linux adalah shell, dan shell menciptakan lingkungan tergantung pada file tertentu yang dibaca selama inisialisasi setelah login pengguna yang berhasil.

Disarankan Baca: Cara mengatur variabel lingkungan di linux

Di artikel ini, kami akan menjelaskan file inisialisasi shell sehubungan dengan profil pengguna untuk manajemen pengguna lokal di Linux. Kami akan memberi tahu Anda di mana harus menjaga fungsi shell khusus, alias, variabel serta program startup.

Penting: Untuk tujuan artikel ini, kami akan fokus pesta, A SH shell kompatibel yang merupakan shell paling populer/digunakan pada sistem linux di luar sana.

Jika Anda menggunakan program Shell (Zsh, Ash, Fish, dll ...) yang berbeda, baca dokumentasinya untuk mengetahui lebih lanjut tentang beberapa file terkait yang akan kita bicarakan di sini.

Inisialisasi Shell di Linux

Ketika shell dipanggil, ada file inisialisasi/startup tertentu yang dibaca yang membantu mengatur lingkungan untuk shell itu sendiri dan pengguna sistem; Itu adalah fungsi, variabel, alias, dan sebagainya) yang telah ditentukan sebelumnya.

Ada dua kategori file inisialisasi yang dibaca oleh shell:

  • File startup di seluruh sistem - Tesis ini berisi konfigurasi global yang berlaku untuk semua pengguna pada sistem, dan biasanya terletak di /dll direktori. Mereka termasuk: /etc/profil Dan /etc/bashrc atau /etc/bash.Bashrc.
  • File startup khusus pengguna - Konfigurasi toko ini berlaku untuk satu pengguna di sistem dan biasanya terletak di direktori home pengguna sebagai file dot. Mereka dapat mengganti konfigurasi sistem-seluruh. Mereka termasuk: .profil, .Bash_profile, .Bashrc Dan .Bash_login.

Sekali lagi, shell dapat dipanggil dalam tiga mode yang memungkinkan:

1. Shell login interaktif

Shell dipanggil setelah pengguna berhasil masuk ke dalam sistem, menggunakan /bin/login, Setelah membaca kredensial yang disimpan di /etc/passwd mengajukan.

Saat shell dimulai sebagai shell login interaktif, ia membaca /etc/profile dan padanan khusus pengguna ~/.Bash_profile.

Linux Interactive Login Shell

2. Shell non-login interaktif

Shell dimulai di baris perintah menggunakan program shell misalnya $/bin/bash atau $/bin/zsh. Itu juga bisa dimulai dengan menjalankan /bin/su memerintah.

Selain itu, shell non-login interaktif juga dapat dipanggil dengan program terminal seperti Konsole, terminator atau xterm dari dalam lingkungan grafis.

Saat shell dimulai dalam keadaan ini, ia menyalin lingkungan shell induk, dan membaca spesifik pengguna ~/.Bashrc file untuk instruksi konfigurasi startup tambahan.

$ su # ls -la 
Shell non-login interaktif

3. Cangkang non-interaktif

Shell dipanggil saat skrip shell berjalan. Dalam mode ini, ia memproses skrip (set shell atau perintah/fungsi sistem generik) dan tidak memerlukan input pengguna antar perintah kecuali sebaliknya. Ini beroperasi menggunakan lingkungan yang diwarisi dari shell induk.

Memahami file startup shell di seluruh sistem

Di bagian ini, kami akan menyinari lebih banyak file startup shell yang menyimpan konfigurasi untuk semua pengguna di sistem dan ini termasuk:

Itu /etc/file profil - Ini menyimpan konfigurasi lingkungan di seluruh sistem dan program startup untuk pengaturan login. Semua konfigurasi yang ingin Anda terapkan ke lingkungan semua pengguna sistem harus ditambahkan dalam file ini.

Misalnya, Anda dapat mengatur variabel lingkungan jalur global Anda di sini.

# kucing /etc /profil 
File Konfigurasi Sistem Luas

Catatan: Dalam sistem tertentu seperti Rhel/centos 7, Anda akan mendapatkan peringatan seperti “tidak disarankan untuk mengubah file ini kecuali Anda tahu apa yang Anda lakukan. Jauh lebih baik membuat kebiasaan .SH skrip shell di /etc/profile.D/ Untuk membuat perubahan khusus pada lingkungan Anda, karena ini akan mencegah kebutuhan untuk menggabungkan dalam pembaruan di masa mendatang ”.

Itu /etc/profile.D/ Direktori - Menyimpan skrip shell yang digunakan untuk membuat perubahan khusus pada lingkungan Anda:

# CD /etc /profil.d/ # ls -l 
Menyimpan skrip shell khusus

Itu /etc/bashrc atau /etc/bash.Bashrc File - Berisi fungsi dan alias di seluruh sistem termasuk konfigurasi lain yang berlaku untuk semua pengguna sistem.

Jika sistem Anda memiliki beberapa jenis cangkang, ada baiknya menempatkan konfigurasi khusus bash di file ini.

# kucing /etc /bashrc 
Fungsi dan alias yang luas sistem

Memahami file startup shell khusus pengguna

Selanjutnya, kami akan menjelaskan lebih banyak file dot startup shell spesifik pengguna (bash), yang menyimpan konfigurasi untuk pengguna tertentu pada sistem, mereka terletak di direktori home pengguna dan mereka termasuk:

# ls -la 
File konfigurasi spesifik pengguna

Itu ~/.Bash_profile File - Ini Menyimpan Konfigurasi Lingkungan Pengguna dan Program Startup. Anda dapat mengatur variabel lingkungan jalur khusus Anda di sini, seperti yang ditunjukkan pada tangkapan layar di bawah ini:

# kucing ~/.Bash_profile 
Profil bash pengguna

Itu ~/.Bashrc File - File ini menyimpan alias dan fungsi khusus pengguna.

# kucing ~/.Bashrc 
File Bashrc pengguna

Itu ~/.Bash_login File - Ini berisi konfigurasi spesifik yang biasanya hanya dieksekusi saat Anda masuk ke sistem. Ketika ~/.Bash_profile tidak ada, file ini akan dibaca oleh bash.

Itu ~/.Profil File - File ini dibaca tanpa adanya ~/.Bash_profile Dan ~/.Bash_login; itu dapat menyimpan konfigurasi yang sama, yang juga dapat diakses oleh cangkang lain pada sistem. Karena kami terutama berbicara tentang bash di sini, perhatikan bahwa cangkang lain mungkin tidak memahami sintaks bash.

Selanjutnya, kami juga akan menjelaskan dua file spesifik pengguna penting lainnya yang belum tentu memadatkan file inisialisasi:

Itu ~/.BASH_HISTORY File - Bash memelihara riwayat perintah yang telah dimasukkan oleh pengguna di sistem. Daftar perintah ini disimpan di direktori home pengguna di ~/.BASH_HISTORY mengajukan.

Untuk melihat daftar ini, ketik:

$ History atau $ History | lebih sedikit 
Lihat Perintah Terakhir Dieksekusi

Itu ~/.Bash_logout File - Ini tidak digunakan untuk startup shell, tetapi menyimpan instruksi khusus pengguna untuk prosedur logout. Itu dibaca dan dieksekusi saat pengguna keluar dari shell login interaktif.

Salah satu contoh praktis akan dengan membersihkan jendela terminal setelah logout. Ini penting untuk koneksi jarak jauh, yang akan meninggalkan jendela yang bersih setelah menutupnya:

# Cat Bash_logout 
Hapus Sejarah Setelah Logout

Untuk wawasan tambahan, periksa isi file inisialisasi shell ini pada berbagai distro Linux dan juga membaca halaman Bash Man:

Itu saja untuk saat ini! Dalam artikel ini, kami menjelaskan file startup/inisialisasi shell di Linux. Gunakan formulir komentar di bawah ini untuk menulis kembali kepada kami.