怎樣建立自己網(wǎng)站視頻網(wǎng)站小紅書如何引流推廣
前言
在了解Linux權(quán)限之前,先來探討我們使用的
shell
命令它到底是什么?
Linux
是一個操作系統(tǒng),我們稱其為內(nèi)核(kernel
) ,正常情況下,我們一般用戶操作并不是去直接使用內(nèi)核,而是通過kernel
的外殼程序,也就是shell
與kernel
進(jìn)行溝通。
Shell的簡單定義:命令行解釋器:
- 將使用者的命令翻譯給和內(nèi)核處理。
- 將核心的處理結(jié)果翻譯給使用者。
? 對于Windows ,我們使用圖形化界面,這并不是直接操作Windows內(nèi)核,而是通過圖形接口,點(diǎn)擊,然后完成我們的操作。
? 而Shell
對于Linux
有相同的作用,Shell
主要對我們的指令進(jìn)行解析,解析指令傳給Linux內(nèi)核,再根據(jù)內(nèi)核運(yùn)行出結(jié)果,解析給用戶。
這里打個比方:
? 你是一名比較內(nèi)向的學(xué)生,你暗戀這同班的一名女同學(xué),你不好意思向她表達(dá)愛意,然后你就通過她的閨蜜(或者朋友)向她含蓄的表達(dá)自己對她的喜歡,她閨蜜就將你的意思傳達(dá)給她;然后她閨蜜再將她的意思傳達(dá)給你。
這里你就是一名普通用戶,你暗戀的女同學(xué)就好比操作系統(tǒng)內(nèi)核,而她的閨蜜就相當(dāng)于
Shell
。
一、什么是權(quán)限
什么是權(quán)限,這個就字面意思,哈哈。
在Linux
下,有兩種用戶:一是超級用戶(root
)、二是普通用戶。
超級用戶(
root
): 可以再Linux
系統(tǒng)下做任何事情,不受限制普通用戶: 在
Linux
下受到權(quán)限的限制,只能做部分事情
超級用戶的命令提示符是#
,普通用戶的命令提示符是$
root
用戶下創(chuàng)建普通用戶
root
就是Linux
下的超級用戶,它可以創(chuàng)建和刪除普通用戶,修改普通用戶密碼等等。
創(chuàng)建用戶:
useradd 用戶名
? 也可能顯示如下圖所示,(原因是家目錄中已經(jīng)有用戶lian
的目錄)。
修改用戶密碼:
passwd 用戶名
刪除用戶:
userdel 用戶名
用戶的切換
知道了如何創(chuàng)建用戶,現(xiàn)在來看用戶之間的切換。
su 用戶名
二、Linux
權(quán)限管理
1. 文件訪問者的分類(人/用戶)
- 文件/目錄的擁有者:u — User
- 文件/目錄的所屬組:g — Group
- 其他用戶:o — Other
知道了文件訪問者分為三種,那有什么用呢?接著來看。
2. 文件類型和訪問權(quán)限
文件屬性:
我們知道,ll
是可以查看文件屬性,現(xiàn)在來看一下:
一眼看去,煙花繚亂的;文件屬性有很多,首先文件大小、文件最新修改時間和文件名這些就不用多說了,(連接數(shù)后面再講解)
現(xiàn)在來看文件類型、文件權(quán)限和文件擁有者和所屬組這寫內(nèi)容。
文件類型:
首先,文件類型對應(yīng)文件屬性中的開頭,(例如:以d
開頭的文件是目錄/文件夾;以-
開頭的文件就是普通文件)
d:文件夾/目錄
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
p:管道文件
c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
s:套接口文件
文件權(quán)限:
? 文件權(quán)限就三種,分別是r
(可讀) 、 w
(可寫) 和 x
(可執(zhí)行)。
r
:對于文件來說,具有讀取文件內(nèi)容的權(quán)限;對于目錄,具有瀏覽目錄信息的權(quán)限。
w
:對于文件來說,具有修改文件內(nèi)容的權(quán)限;對于目錄,具有創(chuàng)建、刪除和移動目錄中文件的權(quán)限。
x
:對于文件來說,具有可執(zhí)行文件的權(quán)限;對于目錄來說,具有進(jìn)入目錄的權(quán)限。
-
:表示不具有該部分權(quán)限。
再回頭看,文件權(quán)限,它對應(yīng)的是9個字符啊;這就涉及到文件權(quán)限中文件擁有者、文件所屬組和其他用戶這部分概念了。
以這個為例,看以權(quán)限:
首先,以
d
開頭表明這是一個目錄;其次的三個字符
rwx
: 這是文件擁有者的三個權(quán)限再后面三個字符
rwx
: 這是文件所屬組的三個權(quán)限最后的三個字符
r-x
: 這是其他用戶的三個權(quán)限
權(quán)限的表示方法:
Linux表示 | 權(quán)限說明 |
---|---|
--- | 沒有任何權(quán)限 |
r-- | 只讀 |
-w- | 只寫 |
--x | 僅可執(zhí)行 |
rw- | 可讀可寫 |
r-x | 可讀可執(zhí)行 |
-wx | 可寫可執(zhí)行 |
rwx | 可讀可寫可執(zhí)行 |
除了上圖所示表示方式,還有一種表示方式(8進(jìn)制
表示)
? 我們將每一個訪問者的三個權(quán)限看作一個二進(jìn)制數(shù)(其中
-
表示0,其余表示1);這樣我們就得到了一個<=7
并且>=0
的二進(jìn)制數(shù)(比如rwx
就是111
對應(yīng)的數(shù)是7,---
就是000
對應(yīng)的數(shù)是0)。這樣我們就能將權(quán)限(9個字符)轉(zhuǎn)化成一個8進(jìn)制數(shù)(比如:
rw-rw-rw-
就是666
,rwxrwxrwx
就是777
)。
權(quán)限符號 | 8進(jìn)制 | 2進(jìn)制 |
---|---|---|
r-- | 4 | 100 |
-w- | 2 | 010 |
--x | 1 | 001 |
rw- | 6 | 110 |
r-x | 5 | 101 |
-wx | 3 | 011 |
rwx | 7 | 111 |
--- | 0 | 000 |
文件訪問權(quán)限的相關(guān)設(shè)置方法
? 說了這么多,那我們能不能自己設(shè)置這些權(quán)限?當(dāng)然可以,接著往下看
chmod
修改文件權(quán)限
首先,我們應(yīng)該明白一點(diǎn),只有文件所有者和
root
可以修改權(quán)限
使用格式
chmod [參數(shù)] 權(quán)限 文件名
? 現(xiàn)在來看一下,修改權(quán)限有沒有成功
chmod
權(quán)限命令值的格式
+
: 向權(quán)限范圍內(nèi)加權(quán)限
-
: 向權(quán)限范圍內(nèi)減(去掉)權(quán)限
=
: 向權(quán)限范圍內(nèi)賦予代號所表示的權(quán)限用戶符號
u
: 擁有者g
: 所屬組o
: 其他用戶a
: 所有用戶選項
-R
: 遞歸修改文件權(quán)限
chmod o+w code.c
chmod o-w code.c
設(shè)置權(quán)限還可以直接使用8進(jìn)制數(shù)來設(shè)置
chmod 777 code.c
chmod 666 code.c
chown
現(xiàn)在,我是文件的所有者,但是我不想要了,我想把文件所有者設(shè)置成別人;
chown
就是用來修改文件所有者的(有個前提,需要root
權(quán)限)
? 選項:
-R
: 遞歸修改文件所有者
chown [參數(shù)] 用戶名 文件名
chgrp
修改文件所屬組
現(xiàn)在我們指定如何修改文件所有者了,那如何修改文件所屬組呢?
chgrp
用來修改文件所屬組(這個前提也是,需要root
權(quán)限)
chgrp [參數(shù)] 用戶組名 文件名
umask
查看修改文件掩碼
現(xiàn)在我們新建的文件,默認(rèn)權(quán)限是664(
rw-rw-r--
);新建的目錄,默認(rèn)權(quán)限是775(rwxrwxr-x
);這個能不能修改呢?
usmak
用來查看和修改文件掩碼
? 在看這個之前,先來看文件權(quán)限又什么影響的:
文件權(quán)限 = 默認(rèn)權(quán)限 &(
~umask
)
? 默認(rèn)權(quán)限
- 新建文件夾默認(rèn)權(quán)限=0666
- 新建目錄默認(rèn)權(quán)限=0777
? umask
權(quán)限掩碼
可以直接用
umask
查詢和修改
umask //查看
umask 044 //修改權(quán)限掩碼
舉例:
?
? 我們也可以設(shè)置權(quán)限掩碼:
3、粘滯位
? 在Linux系統(tǒng)中,粘滯位 是一種特殊權(quán)限位,主要用于控制對特定目錄中文件的刪除操作。設(shè)置粘滯位后,只有文件的所有者或 root 用戶才能刪除或移動該文件,而其他用戶即使有寫權(quán)限也不能刪除或移動這些文件
簡單來說就是,有了粘滯位限制,普通用戶只能刪除和移動自己的文件(
root
無視粘滯位)。注意: 粘滯位對目錄有效,對文件無效。
粘滯位的作用:
粘滯位通常用于多用戶環(huán)境中的公共目錄,以防止用戶刪除或移動其他用戶的文件。設(shè)置粘滯位后,目錄的其他用戶權(quán)限位會顯示為
t
或T
。
設(shè)置粘滯位
chmod +t 目錄名 //給目錄添加粘滯位
chmod -t 目錄名 //給目錄去掉粘滯位
當(dāng)一個目錄被設(shè)置為粘滯位
,則該目錄下的文件只能由
- 超級管理員(
root
)刪除- 該目錄的所有者刪除
- 該文件的所有者刪
三、番外篇:sudo
提權(quán)
這里來了解一下
sudo
提權(quán),它可以讓執(zhí)行的只有擁有root
權(quán)限。
但是,我們現(xiàn)在使用sudo
提權(quán)顯示失敗:
? 這里提示大概意思就是,用戶lxb
不在sudoers
這個文件里,(sudoers
文件就好似系統(tǒng)里的白名單)。
sudoers
這個文件在/etc/sudoers
路徑下,我們只需要去這個文件里進(jìn)行修改即可;
我們需要在這個文件中添加這樣一行內(nèi)容:
[用戶名] ALL=(ALL:ALL) ALL
在文件中大致在100行作用 (CentOs
下),(ubantu
大致在20行)
創(chuàng)建完成之后我們就能夠讓普通用戶進(jìn)sudo
提權(quán)了。
有了
sudo
提權(quán)以后,我們就可以使用普通用戶,必要時使用sudo
提權(quán),而不需要切換賬號了。
我的博客即將同步至騰訊云開發(fā)者社區(qū),邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws