Rumah Tutorial sistem LINUX Penjelasan terperinci tentang prinsip operasi shell dan kebenaran Linux

Penjelasan terperinci tentang prinsip operasi shell dan kebenaran Linux

Feb 09, 2024 pm 02:39 PM
linux tutorial linux sistem linux arahan linux skrip shell overflow embeddedlinux Bermula dengan linux pembelajaran linux

Linux, secara tegasnya, adalah teras sistem pengendalian. Dalam erti kata lain, pengguna biasa tidak boleh memanggil teras secara langsung. Untuk berkomunikasi dengan teras, kita perlu melalui program "shell" teras, juga dikenali sebagai shell. Shell ialah penterjemah baris arahan yang menerima arahan yang dimasukkan oleh pengguna dan menukarkannya kepada kod operasi yang dilaksanakan oleh sistem. Shell boleh memanggil fungsi sistem yang berbeza untuk menyelesaikan operasi yang berbeza bergantung pada jenis arahan. Oleh itu, kita boleh menggunakan Shell untuk melaksanakan pelbagai arahan dan operasi untuk mengawal dan mengurus sistem. Ringkasnya, Shell bertindak sebagai jambatan antara pengguna dan kernel asas.

Bagaimana untuk memahami? Mengapa kita tidak boleh menggunakan kernel secara langsung?

Dari perspektif teknikal, takrifan Shell yang paling mudah: jurubahasa arahan (jurubahasa arahan) terutamanya termasuk:

将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
Salin selepas log masuk
shell 运行原理和 Linux 权限详解

"

Nota: shell ialah nama kolektif untuk semua program shell, dan bash ialah shell tertentu. Contohnya: centos 7 shell: bash

  • Berbanding dengan GUI Windows, apabila kami mengendalikan Windows, kami tidak mengendalikan kernel Windows secara langsung, tetapi klik melalui antara muka grafik untuk menyelesaikan operasi kami (contohnya, untuk memasuki pemacu D, kami biasanya mengklik dua kali huruf pemacu D. Atau jalankan aplikasi) .
  • Cangkang mempunyai fungsi yang sama untuk Linux, terutamanya menghuraikan arahan kami dan menghuraikan arahan ke kernel Linux. Hasil maklum balas dijalankan melalui kernel dan dihuraikan kepada pengguna melalui shell.
  • Cara shell berfungsi
rreeee
  • Bantu pemahaman:
  • Jika anda seorang pengaturcara yang membosankan dan pemalu, maka shell adalah seperti pencari jodoh
  • Kernel sistem pengendalian ialah bunga cantik di kampung anda yang membuatkan jantung anda berdegup kencang.
  • Anda telah jatuh cinta dengan Xiaohua, tetapi anda terlalu malu untuk mengaku terus, kemudian biarkan keluarga anda mencari jodoh untuk membantu anda melamar perkahwinan
  • Anda berkomunikasi secara langsung dengan pencari jodoh tentang segala-galanya, dan pencari jodoh akan menyampaikan fikiran anda kepada Xiaohua
  • Dan kami mendapati bahawa nama keluarga pembuat jodoh itu ialah Wang, jadi kami memanggilnya Wang Po, yang sepadan dengan bash yang sering kami gunakan.
  1. Keizinan Linux

2.1 Konsep kebenaran

  • Terdapat dua jenis pengguna di bawah Linux: pengguna super (root) dan pengguna biasa.
  • Pengguna super: boleh melakukan apa sahaja di bawah sistem linux tanpa sekatan
  • Pengguna biasa: Lakukan perkara terhad di bawah linux.
  • Gesaan arahan pengguna super ialah "#", dan gesaan arahan pengguna biasa ialah "$".
shell 运行原理和 Linux 权限详解
  • Perintah menukar pengguna

Arahan: su [nama pengguna]

Fungsi: Tukar pengguna.

Sebagai contoh, untuk bertukar daripada pengguna akar kepada pengguna biasa, gunakan pengguna su. Untuk bertukar daripada pengguna pengguna biasa kepada pengguna root, gunakan suroot (root boleh ditiadakan Pada masa ini, sistem akan meminta anda memasukkan kata laluan pengguna root).

shell 运行原理和 Linux 权限详解
  • Tukar kepada root: Gunakan su -, kita boleh bertukar kepada pengguna root (masukkan kata laluan akaun root pada masa ini, kata laluan tidak akan digemakan pada skrin)
  • Beralih kembali kepada pengguna biasa: Gunakan su – nama pengguna untuk bertukar kembali kepada pengguna biasa (tidak perlu memasukkan kata laluan pada masa ini, tetapi kami tidak mengesyorkan menukar kembali seperti ini, kerana apabila menggunakan arahan su –, lebih banyak proses bash akan tercipta)
  • Adalah disyorkan untuk bertukar kembali kepada pengguna biasa: masukkan keluar atau tekan Ctrl+d untuk kembali kepada pengguna biasa

2.2 Pengurusan Kebenaran

  • Apakah kebenaran

"

Kebenaran pada dasarnya menentukan sama ada seseorang boleh melakukan sesuatu.

  • Untuk orang: Contohnya, saya pemilik rumah ini, jadi saya boleh keluar masuk rumah dengan bebas
  • Menyasarkan perkara: Saya mahu makan komputer, saya mahu bermain League of Legends dengan roti, dan menonton filem. Anda boleh makan roti, tetapi komputer tidak boleh makan roti, tetapi anda tidak boleh makan komputer ini termasuk dua sifat.

"

Fail dipengaruhi oleh orang dan fail dipengaruhi oleh ciri mereka sendiri (sifat sesuatu), jadi kebenaran fail = orang + atribut benda

Atribut kebenaran fail: r (baca), w (tulis), x (kebenaran pelaksanaan)

Orang (bukan orang tertentu, tetapi peranan): pemilik, kumpulan, lain (lain)

  • Klasifikasi pelawat fail (orang)
  • Pemilik fail dan direktori fail: u—Pengguna (isu undang-undang awam China)
  • Pengguna kumpulan yang dimiliki oleh pemilik fail dan direktori fail: g—Kumpulan (tidak banyak yang perlu diperkatakan)
  • Pengguna lain: o—Lain-lain (orang asing)
  • Jenis fail dan kebenaran akses (sifat benda)
shell 运行原理和 Linux 权限详解

"

Gunakan arahan ls -l (ll) untuk membezakan jenis fail dengan aksara yang sepadan dengan lajur pertama atribut berbilang lajur yang dipaparkan.

shell 运行原理和 Linux 权限详解

Tidak perlu menyenaraikan lain, kerana lain jika bukan pemilik atau kumpulan miliknya

Bantu faham – pemilik dan kumpulan

Mari kita ambil contoh mudah Dalam sebuah syarikat, dua pasukan projek perlu menyelesaikan tugasan kod yang sama, tetapi syarikat hanya menyediakan satu pelayan kepada mereka anda menulis, ia mesti hanya untuk anda dan ketua pasukan anda untuk melihatnya, bukan untuk kumpulan pesaing anda melihatnya, yang menimbulkan konsep kumpulan kepunyaan.

shell 运行原理和 Linux 权限详解

Jenis Fail

  • d: folder
  • -: Fail biasa
  • l: Pautan lembut (serupa dengan pintasan Windows)
  • b: Sekat fail peranti (seperti cakera keras, pemacu optik, dll.)
  • p: fail paip
  • c: fail peranti aksara (seperti skrin dan peranti bersiri lain)
  • s: fail soket
shell 运行原理和 Linux 权限详解
  • Keizinan asas

i. Baca (r/4): Untuk fail, Read mempunyai kebenaran untuk membaca kandungan fail untuk direktori, ia mempunyai kebenaran untuk menyemak imbas maklumat direktori

ii. Tulis (w/2): Untuk fail, Write mempunyai kebenaran untuk mengubah suai kandungan fail untuk direktori, ia mempunyai kebenaran untuk memadam fail dalam direktori yang dipindahkan

iii. Laksanakan (x/1): Untuk fail, execute mempunyai kebenaran untuk melaksanakan fail;

iv. “—” bermakna anda tidak mempunyai kebenaran

shell 运行原理和 Linux 权限详解2.3 Kaedah perwakilan nilai kebenaran fail

Perwakilan watak

Linux bermaksud Arahan Linux Arahan
r – – Baca sahaja – w – Tulis sahaja
– – x Boleh laksana sahaja r w – Boleh dibaca dan ditulis
– w x Boleh ditulis dan boleh dilaksanakan r – x Boleh dibaca dan boleh dilaksanakan
r w x Boleh dibaca, boleh ditulis dan boleh dilaksanakan ––– Tiada kebenaran

Bagaimana untuk mewakili nilai perlapanan

Simbol kebenaran (baca, tulis, laksana) Oktal binari
r 4 1 0 0
w 2 0 1 0
x 1 0 0 1
r w 6 1 1 0
r x 5 1 0 1
w x 3 0 1 1
r w x 7 1 1 1
– – – 0 0 0 0
shell 运行原理和 Linux 权限详解

权限更改

$ chmod 777 text.c
$ chmod 000 text.c
$ chmod 640 text.c
Salin selepas log masuk
shell 运行原理和 Linux 权限详解

2.4 文件访问权限的相关设置方法

chmod

  • 功能:设置文件的访问权限
  • 格式:chmod [参数] 权限 文件名
  • 常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和 root 才可以改变文件的权限

  • chmod 命令权限值得格式

① 用户表示符 +/-= 权限字符

  • +: 向权限范围增加权限代号所表示的权限
  • -: 向权限范围取消权限代号所表示的权限
  • =: 向权限范围赋予权限代号所表示的权限
    用户符号:
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

示例:

shell 运行原理和 Linux 权限详解

注意:chmod 可以给拥有者,所属组,其他用户同时修改权限,中间用逗号隔开

如果要修改不是自己的文件的时候需要 sudo 临时权限提升或者直接切成 root 身份

  • sudo chmod 用户表示符 +/-= 权限字符 文件名

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

实例:

$ sudo chown root test.c// 修改拥有者
$ sudo chown lighthouse test.c// 修改拥有者
$ sudo chown :lighthouse test.c// 修改所属组
$ sudo chown lighthouse:lighthouse test.c// 可以将拥有者、所属组同时修改
$ sudo chown root:root test.c// 可以将拥有者、所属组同时修改
Salin selepas log masuk
shell 运行原理和 Linux 权限详解

chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

实例:

$ sudo chgrp root text.c
$ sudo chgrp lighthouse text.c
Salin selepas log masuk
shell 运行原理和 Linux 权限详解

2.4 修改文件的掩码

umask

功能:查看或修改文件掩码

语法:umask 权限值

shell 运行原理和 Linux 权限详解

新建文件夹默认权限 = 0666

新建目录默认权限 = 0777

shell 运行原理和 Linux 权限详解

但是我们观察到,新建的文件和目录并不是默认的起始权限,这里是什么原因呢?

原因就是创建文件或目录的时候还要受到 umask 的影响。假设默认权限是 mask,则实际创建的出来的文件权限是:umask & ~umask

shell 运行原理和 Linux 权限详解
  • 我们也可以通过修改文件的 umask 码值来修改文件的权限:
shell 运行原理和 Linux 权限详解

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022,普通用户默认为 0002。

2.5 file 指令

file

功能说明:辨识文件类型。

语法:file [选项] 文件或目录…

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z 尝试去解读压缩文件的内容。

shell 运行原理和 Linux 权限详解
  1. 目录权限

面试题:进入一个目录要什么权限?

  • 可读权限: 如果目录没有可读权限,则无法用 ls 等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限,则无法在目录中创建文件, 也无法在目录中删除文件.
  • 可执行权限:如果没有目录可执行权限,则无法 cd 到目录中
x
r
w
Salin selepas log masuk
  1. 粘滞位

新发现:

就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.我创建的一个文件, 凭什么被你一个外人可以删掉

shell 运行原理和 Linux 权限详解

结论

如果目录本身对 other 具有 w 权限,other 可以删掉任何目录下的东西
如果目录本身对 other 没有 w 权限,other 则不可以删除

我们的需求:other 可以在特定的目录下创建文件并写入,但是不想让任何人删除掉自己的文件

这里为了解决这个不科学的问题,Linux 引入了粘滞位的概念

粘滞位

语法:chmod +t 目录名

功能:给目录加上粘滞位

注意

Ia hanya boleh ditetapkan untuk direktori, secara amnya mengehadkan kebenaran lain Untuk direktori dengan set bit melekit, hanya pemilik fail dan pengguna root boleh memadamkannya dalam direktori ini, dan orang lain tidak boleh memadamkannya

.

Contoh:

shell 运行原理和 Linux 权限详解

Jika terdapat berbilang orang atau sistem akan mempunyai banyak data sementara, semua fail sementara diletakkan dalam direktori /tmp sistem. Semua kebenaran perlu dikeluarkan, tetapi anda hanya mahu pemilik fail memadamkan fail mereka sendiri. Ini memerlukan penetapan bit melekat

  1. Ringkasan
  • Keizinan boleh laku bagi direktori menunjukkan sama ada anda boleh melaksanakan arahan dalam direktori.
  • Jika direktori tidak mempunyai – )
  • Dan jika direktori mempunyai keizinan -x tetapi bukan keizinan -r, pengguna boleh melaksanakan arahan dan boleh cd ke dalam direktori. Tetapi kerana tiada kebenaran membaca kepada direktori
  • Oleh itu, walaupun anda boleh melaksanakan arahan ls dalam direktori, anda masih tidak mempunyai kebenaran untuk membaca dokumen dalam direktori.

Atas ialah kandungan terperinci Penjelasan terperinci tentang prinsip operasi shell dan kebenaran Linux. 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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Android TV Box mendapat peningkatan Ubuntu 24.04 tidak rasmi Android TV Box mendapat peningkatan Ubuntu 24.04 tidak rasmi Sep 05, 2024 am 06:33 AM

Bagi kebanyakan pengguna, menggodam kotak TV Android kedengaran menakutkan. Walau bagaimanapun, pemaju Murray R. Van Luyn menghadapi cabaran untuk mencari alternatif yang sesuai untuk Raspberry Pi semasa kekurangan cip Broadcom. Usaha kerjasama beliau dengan Armbia

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek Feb 19, 2025 pm 04:54 PM

DeepSeek adalah alat carian dan analisis pintar yang kuat yang menyediakan dua kaedah akses: versi web dan laman web rasmi. Versi web adalah mudah dan cekap, dan boleh digunakan tanpa pemasangan; Sama ada individu atau pengguna korporat, mereka dapat dengan mudah mendapatkan dan menganalisis data besar-besaran melalui DeepSeek untuk meningkatkan kecekapan kerja, membantu membuat keputusan dan menggalakkan inovasi.

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Alamat muat turun aplikasi dompet BitPie Bitpie Alamat muat turun aplikasi dompet BitPie Bitpie Sep 10, 2024 pm 12:10 PM

Bagaimana untuk memuat turun Aplikasi BitPie Bitpie Wallet? Langkah-langkahnya adalah seperti berikut: Cari "BitPie Bitpie Wallet" dalam AppStore (peranti Apple) atau Google Play Store (peranti Android). Klik butang "Dapatkan" atau "Pasang" untuk memuat turun apl. Untuk versi komputer, lawati tapak web dompet BitPie rasmi dan muat turun pakej perisian yang sepadan.

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Feb 21, 2025 pm 08:42 PM

Bitget adalah pertukaran cryptocurrency yang menyediakan pelbagai perkhidmatan perdagangan termasuk perdagangan tempat, perdagangan kontrak dan derivatif. Ditubuhkan pada tahun 2018, pertukaran itu beribu pejabat di Singapura dan komited untuk menyediakan pengguna dengan platform perdagangan yang selamat dan boleh dipercayai. Bitget menawarkan pelbagai pasangan perdagangan, termasuk BTC/USDT, ETH/USDT dan XRP/USDT. Di samping itu, pertukaran mempunyai reputasi untuk keselamatan dan kecairan dan menawarkan pelbagai ciri seperti jenis pesanan premium, perdagangan leverage dan sokongan pelanggan 24/7.

Pemasangan penyusunan kod sumber Zabbix 3.4 Pemasangan penyusunan kod sumber Zabbix 3.4 Sep 04, 2024 am 07:32 AM

1. Persekitaran pemasangan (mesin maya Hyper-V): $hostnamectlStatichostname:localhost.localdomainIconname:computer-vmChassis:vmMachineID:renwoles1d8743989a40cb81db696400BootID:renwoles272f35aa60ddating: ystem:CentOS Linux7(Teras)Nama CPEOS:cpe:

Pakej pemasangan OUYI OKX disertakan secara langsung Pakej pemasangan OUYI OKX disertakan secara langsung Feb 21, 2025 pm 08:00 PM

Ouyi Okx, pertukaran aset digital terkemuka di dunia, kini telah melancarkan pakej pemasangan rasmi untuk menyediakan pengalaman perdagangan yang selamat dan mudah. Pakej pemasangan OKX OUYI tidak perlu diakses melalui penyemak imbas. Proses pemasangan adalah mudah dan mudah difahami.

Dapatkan Pakej Pemasangan Gate.io secara percuma Dapatkan Pakej Pemasangan Gate.io secara percuma Feb 21, 2025 pm 08:21 PM

Gate.io adalah pertukaran cryptocurrency yang popular yang boleh digunakan pengguna dengan memuat turun pakej pemasangannya dan memasangnya pada peranti mereka. Langkah -langkah untuk mendapatkan pakej pemasangan adalah seperti berikut: Lawati laman web rasmi Gate.io, klik "Muat turun", pilih sistem operasi yang sepadan (Windows, Mac atau Linux), dan muat turun pakej pemasangan ke komputer anda. Adalah disyorkan untuk mematikan perisian antivirus atau firewall sementara semasa pemasangan untuk memastikan pemasangan yang lancar. Selepas selesai, pengguna perlu membuat akaun Gate.io untuk mula menggunakannya.

See all articles