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