Linux系統用戶與用戶組管理以及磁盤管理(3.6)

Linux系統用戶與用戶組

  1. /etc/passwd 與/etc/shadow(這兩個文件尤其重要不可以刪掉)
  • /etc/passwd(存儲用戶,如系統用戶)
    該文件是一個純文本文件,每行採用了相同的格式:name:password:uid:gid:comment:home:shell

#cat /etc/passwd | head // “|” 爲管道符,作用是把前面的命令的輸出再輸入給後面的命令,輸出前十行
root:x:0:0:root:/root:/bin/bash(6個“:”代表7個段,1、用戶,2、x爲密碼,3、UID,4、GID,5、root詳細信息,6、家目錄,7、腳本,終端)

  • /etc/shadow(存放密碼)

#cat /etc/shadow |head -n 3
root:66QjkfxoVu…(9個段,主要兩個段:1、用戶名,2、用戶密碼)

  1. 用戶和用戶組管理
  • groupadd(新增組),格式爲groupadd (-g GID) groupname(直接加用戶組即可)

#groupadd grptest1
#tail -n1 /etc/group
grptest1:x:1003

若不加-g,則按照系統默認的gid創建組。gid是從500開始的。

#groupadd -g 1008 grptest2
#tail -n2 /etc/group
grptest1:x:1003:
grptest2:x:1008:

  • groupdel(刪除組)

#groupdel grptest2
#tail -n2 /etc/group
user1:x:1002:
grptest1:x:1003:

特殊情況:若user1組中包含user1賬戶,只有刪除user1賬戶後纔可以刪除該組

#groupdel user1
groupdel:不能移除用戶 “user1”的主組

  • useradd(增加用戶),格式爲useradd (-u UID) (-g GID) (-d HOME) (-M) (-s)

-u:表示自定義UID
-g:表示是新增用戶屬於已經存在的某個組,後面可以跟組id,也可以跟組名
-d:表示自定義用戶的家目錄
-M:表示不建立家目錄
-s:表示自定義shell

例:

#useradd test10
#tail -n1 /ect/passwd
test10:x:1002:1004::/home/test10:/bin/bash
#tail -n1 /ect/group
test10:x:1004:

若useradd不加任何選項,直接跟用戶名,則會創建一個跟用戶名同名的組

#useradd -u1005 -g 1006 -M -s /sbin/nologin user11
useradd: "1006"組不存在 //數字一定要存在
#useradd -u1005 -g 1004 -M -s /sbin/nologin user11
#useradd -u1006 -g grptest1 user12
tail -n2 /etc/passwd
user11:x:1005:1004::/home/user11:/sbin/nologin
user11:x:1006:1003::/home/user11:/bin/bash
# tail -n2 /etc/group
grptest1:x:1003:
test10:x:1004:

  • userdel(刪除賬戶),格式爲userdel (-r) username。-r:當刪除用戶時,一併刪除該用戶的家目錄。
  • 使用chfn更改用戶的finger,finger就是在/etc/passwd文件第五個字段中顯示詳細的信息。格式爲chfn (用戶)
  1. 用戶密碼管理
  • passwd(爲用戶設置密碼),格式爲passwd (username)//更改username的密碼。該命令後面若不加用戶名字,則是更改當前root密碼。
  • mkpasswd(生成密碼)(安全),要先安裝expect。
    安裝命令:

#yum install -y expect
#mkpasswd
HXut8oy*8

生成指定長度的密碼:

#mkpasswd -l 12 // 生成12位長度的密碼,按照特殊要求(大小寫字母+數字+特殊符號)
#mkpasswd -l 12 -s o -d 3 //可以指定有幾個字母,幾個數字

  1. 用戶身份切換
  • 修改用戶密碼passwd 用戶
  • su (切換用戶)(普通用戶的su命令不加username = 切換到root用戶),格式爲su (-) username。加“-”時:會初始化當前用戶的各種環境變量。

$pwd
/home/test
$su// 切換到root賬戶時,當前目錄沒變化(普通用戶KaTeX parse error: Expected 'EOF', got '#' at position 9: ,而root的爲#̲) `密碼:` `#pwd` …su -//切換到root時,當前目錄爲root賬戶的家目錄,即當root切換到普通用戶時,時不需要輸密碼的密碼:#pwd/root`

  • sudo(普通用戶想用root的語句),普通用戶想要使用sudo時,在root裏用visudo來編輯相關文件

#visudo /etc/sudoers
root ALL=(ALL) ALL // 原來的
test ALL=(ALL) ALL //原來的下面加的 ,“ test”爲普通用戶名

注:用不了visudo的,需要先安裝yum install -y sudo

  • 不允許root遠程登錄Linux

#vi /etc/ssh/sshd_config
找到#PermitRootLogin "yes"改成"no"
然後重啓
systemctl restart sshd.service

Linux磁盤管理

  1. df(用於查看已掛載磁盤的總容量、使用容量、剩餘容量等,可不加任何參數,默認以KB爲單位顯示)

#df
/dev、/dev/shm:內存分區,好處是讀寫非常快,壞處是系統重啓時文件容易丟失。
其他分區爲臨時分區不用管

  • #df -i、h、k、m
    -i:表示查看inodes的使用情況,如已經使用100%,即使磁盤空間有富裕,也會提示磁盤已滿

#df -i |grep -v tmpfs // grep -v 作用是過濾掉包含tmpfs字符串的行
文件系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/sda3 84300800 125075 8305005 2% /

-h:表示使用合適的單位顯示,如GB。

#df -h |grep -v tmpfs
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 17G 3.9G 13G 24% /

-k、-m:分別表示以KB和MB爲單位顯示

#df -k |grep -v tmpfs
#df -m |grep -v tmpfs

  • du(查看某個目錄或文件所佔空間的大小),格式爲du (-abckmsh) (文件或目錄名)
    -a:表示全部文件和目錄的大小都列出來,若不指定單位,則默認單位 KB。

#du /tmp/test_mv //只顯示了目錄包括子目錄的大小
0 du /tmp/test_mv/dirb/dirc

#du -a /tmp/test_mv
4 du /tmp/test_mv /dirb/filee//加了-a後多了的
0 du /tmp/test_mv/dirb/dirc

-b:表示列出的值以B爲單位輸出
-k:表示以KB輸出,跟默認的一樣
-m:表示以MB輸出
-h:表示系統自動調節單位
-c:表示最後加總(就是會列出那些目錄,最後算出個總用量)

#du -c /tmp/test_mv
0 du /tmp/test_mv/dirb/dirc
4 du /tmp/test_mv/dirb
4 總用量

-s:表示只列出總和(不列出目錄,直接出總數)

#du -s /tmp/test_mv
4 /tmp/test_mv

2.磁盤的分區和格式化

  • 增加磁盤=硬盤:先關掉虛擬機,然後編輯該虛擬機,添加硬盤,然後一直默認選項就好,到這要改一下
    在這裏插入圖片描述
  • fdisk(劃分小於2TB的分區)

1.fdisk -l //查看磁盤以及分區

#fdisk -l //直接列出系統中所有的磁盤設備以及分區表
#fdisk -l /dev/sdb //只列出該設備的分區表

2.fdisk (磁盤設備) //這樣是修改該磁盤設備(輸字母時要注意,不要亂按)

相關字母用法:
p:表示打印當前磁盤分區情況
n:表示建立一個新的分區
w:表示保存
q:表示退出
d:表示刪除一個分區
m:尋求幫助(英文好的話可以看看)

例子:

#lsblk //查看有什麼磁盤
#fdisk /dev/sdb//編輯磁盤
Command (m for help):p //顯示分區表
Command (m for help):n //對磁盤進行分區
Partition type:
p primary (0 primary, 0 extended, 4 free) //主分區
e extended //e代表擴展分區
Select (default p):默認選擇的是主分區,選擇完成後按 Enter 鍵
Using default response p
Partition number (1-4, default 1):1(輸入主分區號,默認選擇是“1”)(然後按Enter鍵)
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +10G (創建分區的大小,字母單位一定要大寫,前面一定要有“+”號)
Command (m for help): p(再查看一下)
Command (m for help): w(保存)
#fdisk -l(出來再看一下)

若創建4個主分區後,想再創建一個分區,則要刪除第四個分區,再新建分區

例:(這裏的分區4是不能用而且無法刪除的,真正能用的是分區5)

先刪除分區
Command (m for help):d //對磁盤進行刪除
Partition number (1-4, default 1):4
Command (m for help):n
Partition type:
p primary (0 primary, 0 extended, 4 free) //主分區
e extended //e代表擴展分區
Select (default e):e
Command (m for help):p(發現擴展分區再最後一列顯示Extended)
再繼續創建分區
Command (m for help):n
添加邏輯分區 5
First sector (2048-104857599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +500M
Command (m for help):p

注:回到分區界面按“Ctrl+C”直接退出,就可以取消剛做的分區。
3.格式化磁盤分區

  • mke2fs (-biNcLjt): mke2fs不可以把分區格式化成XFS類型

-b:表示分區時設定每個數據區塊佔用的空間大小。
-i:表示設定的inode的大小
-N:表示設定的inode的數量
-c:表示在格式化前先檢測一下磁盤是否有問題
-L:表示預設該分區的標籤(label)
-j:表示建立ext3格式的分區。如使用mkfs.ext3格式就不用加這個
-t:用來指定文件系統的類型,可ext2、ext3、ext4

比較常用
例子:mke2fs -t 文件類型 磁盤分區化

#mke2fs -t ext4 /dev/vdb1= #mkfs.ext4 /dev/vdb1

  • mkfs.ext2、
  • mkfs.ext3、
  • mkfs.ext4、
  • mkfs.xfs

#mkfs.xfs /dev/vdb1

  • e2label(用於查看或修改分區的標籤)

4.掛載/卸載磁盤

  • mount(掛載)

#mount
可看見相關掛載文件的東西

#mkdir /newdir //創建空目錄
#touch /newdir/newfile.txt//在空目錄裏建空白文檔
#ls /newdir/
# mount /dev/vdb1 /newdir//把格式化的/dev/vdb1掛載到newdir上
#ls /newdir/
#df -h //查看掛載情況

#umount /newdir/ //卸載掛載目錄//可加掛載點和分區名

  • /etc/fstab配置文件:磁盤被手動掛載之後都必須把掛載信息寫入/etc/fstab這個文件中,否則下次開機啓動時仍然需要重新掛載。(凡是要掛載的,都要把他保存進去)

#cat /etc/fstab //查看掛載情況

  • blkid(獲取全部磁盤分區的UUID)
    獲取UUID後

#blkid /dev/vdb1
/dev/vdb1: LABEL="TEST123" UUID="一串東西" TYPE="ext4"

獲取UUID 後,使用方法:

umount /newdir
mount UUID=“…” /newdir

UUID也是支持寫到/etc/fstab中:

UUID=“..” /newdir ext4 defaults 0 0

若想讓某個分區在開機後自動掛載,有兩個方法:

#vi /etc/fstab
UUID=“..” /newdir ext4 defaults 0 0 //在該文件中添加這句

把掛載命令寫到/etc/rc.d/rc.local文件中去 ,只要你把想要開機啓動的命令都寫進這個文件中(放到最後)即可。

  • swap(增加虛擬內存)

#dd if=/dev/zero of=/tmp/newdisk bs=1M count=1024//建立swapfile
#mkswap -f /tmp/newdisk//文件格式化
#free -m//就可以掛載使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章