Linux学习3 :用户及文件权限管理
Linux中創(chuàng)建、刪除用戶、及用戶組等操作;
Linux中文件權(quán)限設(shè)置。
Linux 是一個(gè)可以實(shí)現(xiàn)多用戶登陸的操作系統(tǒng),他們共享一些主機(jī)的資源,但他們也分別有自己的用戶空間,用于存放各自的文件。但實(shí)際上他們的文件都是放在同一個(gè)物理磁盤上的甚至同一個(gè)邏輯分區(qū)或者目錄里,但是由于 Linux 的 用戶管理 和 權(quán)限機(jī)制,不同用戶不可以輕易地查看、修改彼此的文件。
==1、查看用戶==
who am i 或者 who mom likes
輸出的第一列表示打開當(dāng)前偽終端的用戶的用戶名;
如果要查看當(dāng)前登錄的用戶名,使用whoami即可。
輸出的pts/0 中 pts 表示偽終端,所謂偽是相對(duì)于 /dev/tty 設(shè)備而言的,還記得終端時(shí)的那七個(gè)使用 [Ctrl]+[Alt]+[F1]~[F7] 進(jìn)行切換的 /dev/tty 設(shè)備么,這是“真終端”,偽終端就是當(dāng)你在圖形用戶界面使用 /dev/tty7 時(shí)每打開一個(gè)終端就會(huì)產(chǎn)生一個(gè)偽終端, pts/0 后面那個(gè)數(shù)字就表示打開的偽終端序號(hào),你可以嘗試再打開一個(gè)終端,然后在里面輸入 who am i ,看第二列是不是就變成 pts/1 了,第三列則表示當(dāng)前偽終端的啟動(dòng)時(shí)間。
==2、創(chuàng)建用戶==
在 Linux 系統(tǒng)里, root賬戶擁有整個(gè)系統(tǒng)至高無(wú)上的權(quán)利,比如 新建/添加 用戶。
root 權(quán)限,系統(tǒng)權(quán)限的一種,與 SYSTEM 權(quán)限可以理解成一個(gè)概念,但高于 Administrator 權(quán)限,root 是 Linux 和 UNIX 系統(tǒng)中的超級(jí)管理員用戶帳戶,該帳戶擁有整個(gè)系統(tǒng)至高無(wú)上的權(quán)力,所有對(duì)象他都可以操作,所以很多黑客在入侵系統(tǒng)的時(shí)候,都要把權(quán)限提升到 root 權(quán)限,用 Windows 的方法理解也就是將自己的非法帳戶添加到 Administrators 用戶組。更比如安卓操作系統(tǒng)中(基于 Linux 內(nèi)核)獲得 root 權(quán)限之后就意味著已經(jīng)獲得了手機(jī)的最高權(quán)限,這時(shí)候你可以對(duì)手機(jī)中的任何文件(包括系統(tǒng)文件)執(zhí)行所有增、刪、改、查的操作。
我們一般登錄系統(tǒng)時(shí)都是以普通賬戶的身份登錄的,要?jiǎng)?chuàng)建用戶需要 root 權(quán)限,這里就要用到 ==sudo== 這個(gè)命令了。不過(guò)使用這個(gè)命令有兩個(gè)大前提,一是你要知道當(dāng)前登錄用戶的密碼,二是當(dāng)前用戶必須在 sudo 用戶組。
su \su- \sudo:
su 可以切換到用戶 user,執(zhí)行時(shí)需要輸入目標(biāo)用戶的密碼,
sudo 可以以特權(quán)級(jí)別運(yùn)行 cmd 命令,需要當(dāng)前用戶屬于 sudo 組,且需要輸入當(dāng)前用戶的密碼。
su - 命令也是切換用戶,同時(shí)環(huán)境變量也會(huì)跟著改變成目標(biāo)用戶的環(huán)境變量。
**新建一個(gè)用戶:
sudo adduser lilei
按要求輸入密碼,密碼輸入不顯示。后面默認(rèn)的選項(xiàng)直接使用回車默認(rèn)。
這個(gè)命令不僅可以添加用戶到系統(tǒng),同時(shí)也會(huì)默認(rèn)為新用**戶創(chuàng)建home目錄:
ls /home
現(xiàn)在你已經(jīng)創(chuàng)建好一個(gè)用戶,并且你可以使用你創(chuàng)建的用戶登錄了,**使用如下命令切換登錄用戶:
su -l lilei
可使用pwd查看目錄
退出當(dāng)前用戶,可使用exit 或者快捷鍵ctrl+d
==3、用戶組==
在 Linux 里面每個(gè)用戶都有一個(gè)歸屬(用戶組),用戶組簡(jiǎn)單地理解就是一組用戶的集合,它們共享一些資源和權(quán)限,同時(shí)擁有私有資源,就跟家的形式差不多,你的兄弟姐妹(不同的用戶)屬于同一個(gè)家(用戶組),你們可以共同擁有這個(gè)家(共享資源),爸媽對(duì)待你們都一樣(共享權(quán)限),你偶爾寫寫日記,其他人未經(jīng)允許不能查看(私有資源和權(quán)限)。當(dāng)然一個(gè)用戶是可以屬于多個(gè)用戶組的,正如你既屬于家庭,又屬于學(xué)校或公司。
在 Linux 里面如何知道自己屬于哪些用戶組呢?
1)使用groups命令
groups 組名
其中冒號(hào)之前表示用戶,后面表示該用戶所屬的用戶組。
每次新建用戶如果不指定用戶組的話,默認(rèn)會(huì)自動(dòng)創(chuàng)建一個(gè)與用戶名相同的用戶組(差不多就相當(dāng)于家長(zhǎng)的意思,或者說(shuō)是老總)。
默認(rèn)情況下在 sudo 用戶組里的可以使用 sudo 命令獲得 root 權(quán)限。
2)查看/etc/group文件
cat /etc/group | sort
這里 cat 命令用于讀取指定文件的內(nèi)容并打印到終端輸出,后面會(huì)詳細(xì)講它的使用。
| sort 表示將讀取的文本進(jìn)行一個(gè)字典排序再輸出++,然后你將看到如下一堆輸出.表示用戶組信息。
可以使用命令過(guò)濾到不想要的結(jié)果:
cat /etc/group |grep -E ” 組名”
例如輸出: 5000
etc/group 文件格式說(shuō)明:
/etc/group 的內(nèi)容包括用戶組(Group)、用戶組口令、GID 及該用戶組所包含的用戶(User),每個(gè)用戶組一條記錄。格式如下:
group_name:password:GID:user_list
輸出的 password 字段為一個(gè) x 并不是說(shuō)密碼就是它,只是表示密碼不可見而已。
@@將其他的用戶加入sudo用戶組:
默認(rèn)情況下新創(chuàng)建的用戶是不具有 root 權(quán)限的,也不在 sudo 用戶組,可以讓其加入 sudo 用戶組從而獲取 root 權(quán)限:
su -l lilei
sudo ls
會(huì)提示lilei不在sudoers文件中,就是lilei不在sudo用戶組中,至于sudoers文件,不要隨便操作,不慎會(huì)比較麻煩結(jié)果。
使用 usermod 命令可以為用戶添加用戶組,同樣使用該命令你必需有 root 權(quán)限,你可以直接使用 root 用戶為其它用戶添加用戶組,或者用其它已經(jīng)在 sudo 用戶組的用戶使用 sudo 命令獲取權(quán)限來(lái)執(zhí)行該命令。
這里我用 ss 用戶執(zhí)行 sudo 命令將 lilei 添加到 sudo 用戶組,讓它也可以使用 sudo 命令獲得 root 權(quán)限:
su ss 包括密碼
groups lilei
sudo usermod -G sudo lilei
groups lilei
你再切回lilei用戶,就可以使用sudo獲取root權(quán)限了。
== 4、刪除用戶==
sudo deluser lilei –remove-home
==5、文件權(quán)限==
1)查看文件權(quán)限
ls
可以列出并顯示當(dāng)前目錄下的文件。
使用較長(zhǎng)格式列出文件:
ls -l
p:管道
- 普通文件
文件類型:
有一點(diǎn)你必需時(shí)刻牢記 Linux 里面一切皆文件,正因?yàn)檫@一點(diǎn)才有了設(shè)備文件( /dev 目錄下有各種設(shè)備文件,大都跟具體的硬件設(shè)備相關(guān))這一說(shuō)。 socket:網(wǎng)絡(luò)套接字。pipe 管道,這個(gè)東西很重要。軟鏈接文件:鏈接文件是分為兩種的,另一種當(dāng)然是“硬鏈接”(硬鏈接不常用,具體內(nèi)容不作為本課程討論重點(diǎn),而軟鏈接等同于 Windows 上的快捷方式)。
文件權(quán)限:
讀權(quán)限,表示你可以使用 cat 之類的命令來(lái)讀取某個(gè)文件的內(nèi)容;寫權(quán)限,表示你可以編輯和修改某個(gè)文件;
執(zhí)行權(quán)限,通常指可以運(yùn)行的二進(jìn)制程序文件或者腳本文件,如同 Windows 上的 exe 后綴的文件,不過(guò) Linux 上不是通過(guò)文件后綴名來(lái)區(qū)分文件的類型。你需要注意的一點(diǎn)是,一個(gè)目錄同時(shí)具有讀權(quán)限和執(zhí)行權(quán)限才可以打開并查看內(nèi)部文件,而一個(gè)目錄要有寫權(quán)限才允許在其中創(chuàng)建其它文件,這是因?yàn)槟夸浳募?shí)際保存著該目錄里面的文件的列表等信息。
所有者權(quán)限,這一點(diǎn)相信你應(yīng)該明白了,至于所屬用戶組權(quán)限,是指你所在的用戶組中的所有其它用戶對(duì)于該文件的權(quán)限,比如,你有一個(gè)艾派德,那么這個(gè)用戶組權(quán)限就決定了你的兄弟姐妹有沒(méi)有權(quán)限使用它破壞它和占有它。
鏈接數(shù):
鏈接到該文件所在的 inode 結(jié)點(diǎn)的文件名數(shù)目(關(guān)于這個(gè)概念涉及到 Linux 文件系統(tǒng)的相關(guān)概念知識(shí))。
文件大小:
以 inode 結(jié)點(diǎn)大小為單位來(lái)表示的文件大小,你可以給 ls 加上 -lh 參數(shù)來(lái)更直觀的查看文件的大小。
ls命令的其他用法:
顯示除了 .(當(dāng)前目錄)和 ..(上一級(jí)目錄)之外的所有文件,包括隱藏文件(Linux 下以 . 開頭的文件為隱藏文件)。
ls -A
ls -Al
查看某一個(gè)目錄的完整屬性,而不是顯示目錄里面的文件屬性:
ls -dl 目錄名
ls -AsSh :
其中小 s 為顯示文件大小,大 S 為按文件大小排序,若需要知道如何按其它方式排序,請(qǐng)使用“man”命令查詢。
2)變更文件所有者
假設(shè)目前是 lilei 用戶登錄,新建一個(gè)文件,命名為 “ iphone6 ”:
touch iphone6
可以使用 ll iphone6 查看文件的屬性,發(fā)現(xiàn)文件的所有者是lilei
現(xiàn)在切換一個(gè)身份ss,使用下列命令變更文件所有者為ss:
cd /home/lilei
ls iphone6
sudo chown ss iphone6
再使用ll iphone6查看文件屬性
發(fā)現(xiàn)所有者改變?yōu)閟s
3)修改文件權(quán)限
如果你有一個(gè)自己的文件不想被其他用戶讀、寫、執(zhí)行,那么就需要對(duì)文件的權(quán)限做修改,這里有兩種方式:
方式一:
二進(jìn)制數(shù)字表示:
每個(gè)文件的三組權(quán)限(擁有者、所屬用戶組、其他用戶,順序固定)對(duì)應(yīng)一個(gè)“rwx”,也就是7,所以如果將文件iPhone6的權(quán)限改為只有我自己就:
先給文件里加點(diǎn)內(nèi)容:
echo “echo \”hello ss \”” > iphone6
然后修改權(quán)限:
chmod 700 iphone6
現(xiàn)在其他用戶已經(jīng)不可以讀這個(gè)文件了,
可以使用ll iphone6查看權(quán)限
使用cat iphone6 試驗(yàn),輸出權(quán)限失敗
方式二:加減賦值操作
完成上述功能,使用:
chmod go-rw iphone6
g、o 還有 u 分別表示 group、others 和 user,+ 和 - 分別表示增加和去掉相應(yīng)的權(quán)限。
adduser 和 useradd 的區(qū)別是什么?
答:useradd 只創(chuàng)建用戶,創(chuàng)建完了用 passwd lilei 去設(shè)置新用戶的密碼。adduser 會(huì)創(chuàng)建用戶,創(chuàng)建目錄,創(chuàng)建密碼(提示你設(shè)置),做這一系列的操作。其實(shí) useradd、userdel 這類操作更像是一種命令,執(zhí)行完了就返回。而 adduser 更像是一種程序,需要你輸入、確定等一系列操作。
總結(jié)
以上是生活随笔為你收集整理的Linux学习3 :用户及文件权限管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OpenLayers6(5):基于kri
- 下一篇: linux中获取日志5分钟以内的内容