Rumah Tutorial sistem LINUX Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

Jan 15, 2024 pm 04:42 PM
linux tutorial linux Topi Merah sistem linux arahan linux pensijilan linux linux topi merah video linux

Pernahkah anda mendapat mesej ralat "Kebenaran ditolak" semasa menggunakan baris arahan Linux Ini mungkin kerana anda cuba melakukan operasi yang memerlukan keistimewaan root. Sebagai contoh, tangkapan skrin di bawah menunjukkan ralat yang berlaku apabila saya cuba menyalin fail binari ke direktori sistem.

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

Akses Ditolak untuk shell

Jadi bagaimana untuk menyelesaikan ralat ini sangat mudah, gunakan arahan sudo.

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

Gunakan sudo untuk menjalankan arahan

Pengguna akan digesa untuk memasukkan kata laluan log masuk (sendiri) mereka selepas menjalankan arahan ini. Setelah kata laluan yang betul dimasukkan, operasi akan dilaksanakan dengan jayanya.

Tidak dinafikan bahawa sudo ialah perintah yang mesti diketahui oleh sesiapa sahaja yang menggunakan baris arahan di Linux. Walau bagaimanapun, untuk menggunakan arahan ini dengan lebih bertanggungjawab dan berkesan, anda masih perlu mengetahui beberapa butiran yang berkaitan (dan mendalam). Inilah yang akan kita bincangkan dalam artikel ini.

Sebelum kita meneruskan, perlu dinyatakan bahawa semua arahan arahan yang disebut dalam artikel ini telah diuji di bawah Bash versi 4.3.11 di bawah Ubuntu 14.04 LTS.

Apakah itu sudo

Seperti kebanyakan anda tahu, sudo digunakan untuk melaksanakan arahan yang memerlukan keistimewaan yang tinggi (biasanya sebagai pengguna root). Satu contoh sedemikian telah dibincangkan lebih awal dalam artikel ini dalam bahagian pengenalan. Walau bagaimanapun, anda boleh menggunakan sudo untuk menjalankan arahan sebagai pengguna lain (bukan root) jika anda mahu.

Ini dicapai dengan pilihan baris arahan -u yang disediakan oleh alat. Sebagai contoh, seperti yang ditunjukkan dalam contoh berikut, saya (himanshu) cuba menamakan semula fail dalam direktori Utama pengguna lain (howtoforge), tetapi mendapat ralat "Akses Ditolak". Kemudian saya menambah sudo -u howtoforge dan menggunakan arahan "mv" yang sama, dan arahan itu berjaya dilaksanakan:

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

Apakah itu sudo

Bolehkah sesiapa menggunakan sudo?

Tidak. Untuk pengguna boleh menggunakan sudo, harus ada sekeping maklumat yang berkaitan dengan pengguna dalam fail /etc/sudoers. Petikan berikut dari laman web Ubuntu boleh menerangkannya dengan lebih jelas:

/etc/sudoers Fail mengawal siapa yang boleh menjalankan arahan pada mesin yang digunakan sebagai pengguna, dan juga boleh mengawal situasi khas, seperti sama ada kata laluan diperlukan untuk arahan tertentu. Fail ini terdiri daripada alias (pembolehubah asas) dan spesifikasi pengguna (mengawal siapa yang boleh menjalankan arahan apa).

Jika anda menggunakan Ubuntu, membolehkan pengguna menjalankan perintah sudo adalah mudah: anda hanya perlu menukar jenis akaun kepada pentadbir. Ini boleh dilakukan terus dalam Tetapan Sistem -> Akaun Pengguna.

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

pengguna sudo

Buka kunci tetingkap ini dahulu:

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

membuka kunci tingkap

Kemudian pilih pengguna yang anda mahu tukar jenis pengguna, dan kemudian tukar jenis kepada pentadbir.

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

pilih akaun sudo

Walau bagaimanapun, jika anda tidak menggunakan Ubuntu, atau pengedaran anda tidak menyediakan ciri ini, anda boleh mengedit fail /etc/sudoers secara manual untuk melaksanakan perubahan ini. Untuk menambah baris seperti ini pada fail:

[user]    ALL=(ALL:ALL) ALL
Salin selepas log masuk

Tidak perlu dikatakan, [pengguna] harus digantikan dengan nama pengguna pengguna yang anda ingin tingkatkan keistimewaan sudo. Satu perkara penting yang patut dinyatakan di sini ialah secara rasmi disyorkan untuk mengedit fail melalui arahan visudo - yang perlu anda lakukan ialah menjalankan arahan berikut:

sudo visudo
Salin selepas log masuk
Salin selepas log masuk

Untuk menerangkan perkara yang sedang berlaku, berikut adalah petikan daripada manual visudo:

visudo 以安全的模式编辑 sudoers 文件。visudo 锁定 sudoers 文件以防多个编辑同时进行,提供基本的检查(sanity checks)和语法错误检查。如果 sudoers 文件现在正在被编辑,你将会收到一个信息提示稍后再试。

关于 visudo 的更多信息,前往这里。

什么是 sudo 会话

如果你经常使用 sudo 命令,你肯定注意到过当你成功输入一次密码后,可以不用输入密码再运行几次 sudo 命令。但是一段时间后,sudo 命令会再次要求你的密码。

这种现象跟运行 sudo 命令数目无关,跟时间有关。是的,sudo 默认在输入一次密码后 15 分钟内不会再次要求密码。15 分钟后,你会再次被要求输入密码。

然而,如果你想的话,你能改变这种现象。用以下命令打开 /etc/sudoers 文件:

sudo visudo
Salin selepas log masuk
Salin selepas log masuk

找到这一行:

Defaults env_reset
Salin selepas log masuk
Salin selepas log masuk

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

env_reset

然后在这行最后添加以下变量:

Defaults env_reset,timestamp_timeout=[new-value]
Salin selepas log masuk

[new-value] 为想要 sudo 会话持续的时间数。例如,设数值为 40。

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

sudo timeout value

如果你希望每次使用 sudo 命令时都要求输入密码,你可以把这个变量赋值为 0 。想要 sudo 会话永远不过时,应赋值为 -1。

注意将 timestamp_timeout 的值赋为 “-1” 是强烈不推荐的。

sudo 密码

你可能注意过,当 sudo 要求输入密码然后你开始输入时,不会显示任何东西 —— 甚至连常规的星号都没有。虽然这不是什么大问题,不过一些用户就是希望显示星号。

好消息是那有可能也很容易做到。所有你需要做的就是在 /etc/sudoers 文件里将下述的行:

Defaults env_reset
Salin selepas log masuk
Salin selepas log masuk

改成

Defaults env_reset,pwfeedback
Salin selepas log masuk

然后保存文件。

现在,无论什么时候输入 sudo 密码,星号都会显示。

Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo

hide the sudo password

一些重要的 sudo 命令行参数

除了 -u 命令行参数(我们已经在这篇教程的开始部分讨论过了),还有其他重要的 sudo 命令行参数值得注意。在这部分,我们将会讨论其中一些。

-k 参数

考虑下这种情况:输入密码后你刚刚运行了几个 sudo 驱动的命令。现在,如你所知,sudo 会话默认保持 15 分钟。假设在这会话期间,你需要让某些人访问你的终端,但你不想让他们可以使用 sudo ,你将会怎么做?

还好,有 -k 命令行参数允许用户取消 sudo 权限。这是 sudo 帮助页面(man page)对此的解释:

-k, --reset-timestamp

不带任何命令使用时,撤销用户缓存的凭据。换句话讲,下一次使用 sudo 将会要求输入密码。使用这个参数不需要密码,也可以放到一个 .logout 文件中来撤销 sudo 权限。

当与一个命令,或者一个可能需要密码的操作一起用时,这个参数将会导致 sudo 忽略用户缓存的凭据。结果是 sudo 要求输入密码(如果这是被安全策略所要求的),而且不会更新用户缓存的凭据。

-s 参数

有时你的工作要求你运行一堆需要 root 权限的命令,你不想每次都输入密码。你也不想通过改变 /etc/sudoers 文件调整 sudo 会话的过期时限。

这种情况下,你可以用 sudo 的 -s 参数。这是 sudo 帮助页面对此的解释:

-s, --shell

Jika pembolehubah persekitaran SHELL ditetapkan atau shell ditentukan dengan memanggil pangkalan data kata laluan pengguna, shell akan dijalankan. Jika arahan ditentukan, arahan itu akan dihantar ke shell untuk dilaksanakan melalui parameter -c shell. Jika tiada arahan ditentukan, shell interaktif dilaksanakan.

Jadi, pada asasnya apa yang dilakukan oleh parameter arahan ini ialah:

Mulakan cangkerang baharu - Untuk cangkerang yang mana, rujuk tugasan pembolehubah persekitaran SHELL. Jika $SHELL kosong, shell yang ditakrifkan dalam /etc/passwd akan digunakan.
Jika anda menghantar nama arahan dengan parameter -s (seperti sudo -s whoami), apa yang sebenarnya dilaksanakan ialah sudo /bin/bash -c whoami.
Jika anda tidak cuba untuk melaksanakan arahan lain (iaitu, anda hanya menjalankan sudo -s), anda akan mendapat shell interaktif dengan keistimewaan root.

Ingat, parameter baris arahan -s memberikan anda shell dengan keistimewaan root, tetapi ia bukan persekitaran root - ia masih melaksanakan .bashrc anda sendiri. Sebagai contoh, dalam shell baru dijalankan dengan sudo -s, melaksanakan arahan whoami masih akan mengembalikan nama pengguna anda, bukan root.

-i parameter

Parameter -i adalah serupa dengan parameter -s yang kita bincangkan. Walau bagaimanapun, terdapat perbezaan. Satu perbezaan penting ialah -i memberi anda persekitaran akar, bermakna .bashrc anda (pengguna) diabaikan. Ini seperti menjadi root tanpa log masuk secara eksplisit sebagai root. Selain itu, anda tidak perlu memasukkan kata laluan pengguna root.

Penting: Sila ambil perhatian bahawa arahan su juga membenarkan anda menukar pengguna (lalai kepada root). Perintah ini memerlukan anda memasukkan kata laluan root anda. Untuk mengelakkan ini, anda boleh melaksanakannya menggunakan sudo (sudo su) supaya anda hanya perlu memasukkan kata laluan log masuk anda. Walau bagaimanapun, terdapat perbezaan tersirat antara su dan sudo su - untuk mengetahui tentangnya, dan bagaimana ia berbeza daripada sudo -i, lihat di sini.

Ringkasan

Saya harap sekarang anda tahu sekurang-kurangnya asas sudo dan cara melaraskan tingkah laku lalai sudo. Sila cuba laraskan /etc/sudoers seperti yang kami jelaskan. Juga semak imbas perbincangan forum untuk mengetahui lebih lanjut tentang arahan sudo.

Atas ialah kandungan terperinci Cara menyelesaikan gesaan ralat baris arahan Linux: Gunakan arahan sudo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

Pilihan Centos setelah menghentikan penyelenggaraan Pilihan Centos setelah menghentikan penyelenggaraan Apr 14, 2025 pm 08:51 PM

CentOS telah dihentikan, alternatif termasuk: 1. Rocky Linux (keserasian terbaik); 2. Almalinux (serasi dengan CentOS); 3. Ubuntu Server (Konfigurasi diperlukan); 4. Red Hat Enterprise Linux (versi komersial, lesen berbayar); 5. Oracle Linux (serasi dengan CentOS dan RHEL). Apabila berhijrah, pertimbangan adalah: keserasian, ketersediaan, sokongan, kos, dan sokongan komuniti.

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Apa yang perlu dilakukan sekiranya imej docker gagal Apa yang perlu dilakukan sekiranya imej docker gagal Apr 15, 2025 am 11:21 AM

Langkah Penyelesaian Masalah untuk Gagal Docker Image Build: Semak Sintaks Dockerfile dan Versi Ketergantungan. Semak jika konteks binaan mengandungi kod sumber dan kebergantungan yang diperlukan. Lihat log binaan untuk butiran ralat. Gunakan pilihan sasaran untuk membina fasa hierarki untuk mengenal pasti titik kegagalan. Pastikan anda menggunakan versi terkini Enjin Docker. Bina imej dengan --t [nama imej]: mod debug untuk debug masalah. Semak ruang cakera dan pastikan ia mencukupi. Lumpuhkan Selinux untuk mengelakkan gangguan dengan proses binaan. Tanya platform komuniti untuk mendapatkan bantuan, sediakan dockerfiles dan bina deskripsi log untuk cadangan yang lebih spesifik.

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

See all articles