Kami sudah melihat cara menyesuaikan prompt bash lalai di Linux. Dalam tutorial ini, kami akan belajar bagaimana menukar prompt bash untuk kumpulan pengguna tertentu dalam sistem Linux dan UNIX.
Sebelum menubuhkan custom bash custom kepada kumpulan pengguna, adalah penting untuk memahami kelebihan dan kekurangan pendekatan ini.
Jadual Kandungan
Menggunakan command command spesifik kumpulan di Linux boleh berfaedah dalam senario tertentu, tetapi ia juga datang dengan beberapa pertimbangan. Berikut adalah kelebihan dan kekurangan:
1. Mudah mengenal pasti peranan pengguna :
2. Pengurangan kesilapan :
3. Pengalaman pengguna yang dipertingkatkan :
4. Berguna dalam sistem pelbagai pengguna :
1. Kerumitan dalam Pengurusan :
2. Potensi untuk kesalahpahaman :
3. Pertimbangan Keselamatan :
4. Ketergantungan keahlian Kumpulan :
5. Overlanting pada isyarat visual :
Ringkasnya, menyesuaikan prompt perintah berdasarkan keahlian kumpulan boleh berguna untuk meningkatkan pengalaman pengguna dan mengurangkan kesilapan dalam persekitaran berbilang pengguna atau pelbagai. Walau bagaimanapun, ia memerlukan pelaksanaan dan pengurusan yang teliti untuk mengelakkan kerumitan, kesilapan, dan isu keselamatan yang berpotensi.
Marilah kita teruskan dan lihat bagaimana untuk menukar command prompt untuk kumpulan pengguna tertentu dalam sistem Linux dan UNIX.
Langkah -langkah berikut telah diuji pada sistem LTS Ubuntu 22.04. Kami berharap kaedah ini mungkin berfungsi pada pengagihan Linux yang lain juga.
Untuk tujuan demonstrasi, saya akan membuat kumpulan baru yang dipanggil 'Pemaju' dan pengguna baru bernama 'Senthil' . Dan kemudian saya akan menambah pengguna 'Senthil' kepada kumpulan 'pemaju' .
Akibatnya, apabila pengguna log 'Senthil' masuk, prompt mereka secara automatik akan berubah kepada 'pemaju-senthil@ubuntu2204: ~ $' . Mari lihat bagaimana untuk melakukannya dengan langkah demi langkah.
Buat kumpulan :
Jalankan arahan berikut untuk membuat kumpulan baru bernama pemaju:
$ sudo GroupAdd pemaju
Perintah ini mewujudkan kumpulan baru yang dipanggil pemaju. Anda mungkin perlu memasukkan kata laluan anda jika diminta.
Buat pengguna baru :
Untuk membuat pengguna baru bernama Senthil, gunakan arahan:
$ sudo adduser senthil
Anda akan diminta untuk menetapkan kata laluan untuk pengguna baru dan mengisi beberapa maklumat pengguna pilihan. Isi ini seperti yang diperlukan.
Tambahkan pengguna ke kumpulan :
Untuk menambah Senthil kepada kumpulan pemaju, gunakan:
$ sudo usermod -ag pemaju senthil
Pilihan -ag menambah pengguna kepada kumpulan sambil mengekalkan keahlian kumpulan mereka yang sedia ada.
Apabila anda ingin menukar command prompt untuk pengguna yang menjadi ahli kumpulan tertentu, anda mempunyai dua pilihan untuk meletakkan skrip yang memeriksa kumpulan pengguna dan mengubah prompt. Pilihan bergantung kepada sama ada anda mahu perubahan itu memohon kepada pengguna tunggal atau pengguna berganda:
Fail pengguna .bashrc pengguna :
Fail konfigurasi global /etc/bash.bashrc :
Sebelum membuat sebarang perubahan dalam fail tempatan ~/.bashrc atau global /etc/bash.bashrc, saya sangat mengesyorkan anda untuk membuat sandarannya. Ini membolehkan anda memulihkan tetapan asal jika ada yang tidak kena.
Untuk membuat sandaran fail ~/.bashrc pengguna, jalankan:
$ cp ~/.bashrc ~/.bashrc_backup
Untuk membuat sandaran fail Global Bashrc, jalankan:
$ sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
Selepas membuat sandaran fail Bashrc yang sesuai, buka menggunakan editor kegemaran anda.
Di sini, saya akan menggunakan kaedah ini untuk semua pengguna dalam sistem, jadi saya mengedit fail global /etc/bash.bashrc.
$ sudo nano /etc/bash.bashrc
Tambahkan baris berikut pada akhir:
bashrc_file = "/home/$ (whoami)/. Bashrc" pemaju_prompt = 'ps1 = "pemaju- \ u@\ h: \ w \ $"' # Berfungsi untuk menambah atau mengemas kini ps1 dalam .bashrc add_or_update_ps1 () { prompt_line = $ 1 grep -qf -"$ prompt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file" } jika id -ng "$ (whoami)" | grep -qw "pemaju"; kemudian add_or_update_ps1 "$ pemaju_prompt" fi
Marilah kita memecahkan kod di atas dan melihat apa yang dilakukan setiap pilihan.
Tentukan pembolehubah :
Fungsi add_or_update_ps1 :
Semak keahlian kumpulan dan memohon segera :
Ringkasnya, skrip ini mengubah arahan arahan untuk pengguna yang tergolong dalam kumpulan pemaju dengan mengemukakan definisi cepat tersuai ke fail .bashrc mereka. Ia memastikan bahawa prompt adat hanya ditambah sekali untuk mengelakkan pertindihan.
Tekan Ctrl O diikuti oleh Ctrl X untuk menyimpan fail dan keluar.
Ingat, selepas mengedit sama ada fail, perubahan itu hanya akan berkuatkuasa apabila sesi shell baru dimulakan. Pengguna boleh log keluar dan kembali, atau mereka boleh menjalankan sumber ~/.bashrc dalam sesi semasa mereka untuk memohon perubahan dengan segera.
Sapukan perubahan menggunakan arahan:
$ source /etc/bash.bashrc
Sekarang log keluar dan log masuk semula sebagai pengguna 'Senthil'. Buka terminal anda dan anda akan melihat arahan pengguna telah berubah menjadi sesuatu seperti ini:
Jika sistem anda tidak mempunyai GUI, anda boleh mengesahkannya dengan SSH ke dalam sistem dari sistem lain.
pemaju-senthil@ubuntu2204: ~ $
Lihat? Prompt bash pengguna telah diubah.
Anda boleh mengubah suai skrip ini untuk membezakan antara pelbagai jenis pengguna.
Sebagai contoh, anda boleh membezakan pengguna biasa dan pengguna pentadbiran yang tergolong dalam kumpulan sudo di Linux. Ini melibatkan mengubah suai command prompt berdasarkan sama ada pengguna mempunyai keistimewaan sudo.
Tambahkan baris berikut ke fail global /etc/bash.bashrc atau ke fail .bashrc pengguna individu:
bashrc_file = "/home/$ (whoami)/. Bashrc" sudo_prompt = 'ps1 = "sudouser- \ u@\ h: \ w \ $"' normal_prompt = 'ps1 = "normaluser- \ u@\ h: \ w \ $"' # Berfungsi untuk menambah atau mengemas kini ps1 dalam .bashrc add_or_update_ps1 () { prompt_line = $ 1 grep -qf -"$ prompt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file" } jika id -ng "$ (whoami)" | grep -qw "sudo"; kemudian add_or_update_ps1 "$ sudo_prompt" lain add_or_update_ps1 "$ normal_prompt" fi
Skrip ini akan mengubah prompt ke sudouser-
Sama ada persediaan ini disyorkan bergantung kepada konteks dan keperluan sistem:
Kelebihan :
Kekurangan :
Ringkasnya, menyesuaikan arahan arahan untuk membezakan antara pengguna biasa dan pengguna sudo boleh berguna dalam persekitaran tertentu, terutamanya jika pengenalan cepat keistimewaan pengguna adalah penting.
Walau bagaimanapun, ia tidak disyorkan secara universal, kerana ia menambah kerumitan dan bergantung kepada keperluan khusus dan keupayaan pengurusan pentadbir sistem.
Jika anda menghadapi masalah, anda boleh mengembalikan perubahan dengan memulihkan fail .bashrc dari sandaran anda. Jika anda tidak membuat sandaran, anda boleh mengedit fail secara manual sekali lagi dan mengeluarkan atau mengulas skrip tersuai yang anda tambah dalam langkah -langkah sebelumnya.
Juga, terdapat versi lalai fail .bashrc dalam /etc/skel/ direktori dalam sistem Debian dan Ubuntu.
$ ls -al/etc/skel/ Jumlah 32 DRWXR-XR-X 2 ROOT ROOT 4096 8 Jan 18:02. DRWXR-XR-X 138 ROOT ROOT 12288 8 Jan 17:55 .. -rw-r-r-- akar akar 220 Jan 6 2022 .bash_logout -RW-R-R-- Root 1 Root 4116 8 Jan 18:00<strong><mark> .bashrc</mark> -rw-r-r-- akar akar 807 6 Jan 2022.</strong>
Salin versi lalai fail ~/.bashrc ke versi semasa anda seperti di bawah:
$ cp /etc/skel/.bashrc ~/
Akhirnya, jalankan arahan berikut untuk mengemas kini perubahan.
$ sumber ~/.bashrc
Untuk maklumat lanjut semak pautan berikut:
Cara memulihkan fail .bashrc ke tetapan lalai di Ubuntu
Dalam tutorial ini, kami membincangkan cara menetapkan prompt bash adat untuk pengguna kumpulan tertentu, dan kelebihan dan kekurangan mengubah arahan arahan di Linux dengan skrip contoh.
Walaupun mengubah suai bash bash boleh berguna untuk keperluan khusus dalam persekitaran tertentu, ia umumnya tidak disyorkan untuk pemula.
Ia sentiasa menjadi amalan yang baik untuk menguji pendekatan ini dalam mesin maya dan menimbang manfaat terhadap potensi risiko dan kerumitan sebelum melaksanakan perubahan ini.
Baca Berkaitan:
Atas ialah kandungan terperinci Cara menukar prompt bash untuk kumpulan pengguna tertentu di linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!