您好,登錄后才能下訂單哦!
[root@lokott ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash——以冒號分隔 下面進行逐一解釋
[root@lokott ~]# head -2 /etc/shadow //查看頭兩行信息
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::
bin:*:17110:0:99999:7:::
[root@lokott ~]#
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::——以冒號分隔,下面逐一解釋
root——用戶賬號名稱
粗體部分——表示加密算法加密的密碼,登錄輸入該密碼是無效的
::——之間的內容是上次修改時間
0——密碼的最短有效天數(0表示隨時可以更改)
99999——密碼的最長有效天數
7——提前7天提醒用戶口令將過期
:::——表示的是密碼和賬號過期之后的操作處理(基本可以忽略)
選項
實例:useradd -d /opt/mike (-g mike) -G caiwu -s /sbin/nologin mike
[root@lokott ~]# useradd -d /opt/mike -G caiwu -s /sbin/nolgin mike //注意需要先有caiwu組——groupadd caiwu
[root@lokott ~]# tail -2 /etc/passwd //查看passwd文件最后兩行信息
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
mike:x:1001:1001::/opt/mike:/sbin/nolgin
[root@lokott ~]# tail -2 /etc/group
caiwu:x:1002:mike
mike:x:1001:
[root@lokott ~]# tail -2 /etc/shadow
lokott:$6$aq3AU9oDZf/ERE2D$Ol.zBTLNqbsPDdsJYE0yU3Wa7EUU1SonR3rUQ616PsgA2u.DtQ99ecTUbdw2y2RhmlaL75WlcqMsfEUNretgb0:18192:0:99999:7:::
mike:!!:18200:0:99999:7:::
[root@lokott ~]# id mike //查看mike的id信息
uid=1001(mike) gid=1001(mike) 組=1001(mike),1002(caiwu)
[root@lokott ~]# ls /home/ //因為-d 指定了用戶的宿主目錄,所以家目錄創建在了指定的/opt/mike目錄中
demo lokott
[root@lokott ~]# ls /opt/
demo01.txt mike rh test
[root@lokott ~]#
passwd 選項 .... 用戶名
[root@lokott ~]# useradd -d /opt/lisi -s /sbin/nologin lisi
[root@lokott ~]# tail -2 /etc/passwd
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
lisi:x:1001:1001::/opt/lisi:/sbin/nologin //這里/sbin/nologin是表示用戶無法登錄
[root@lokott ~]# passwd lisi
更改用戶 lisi 的密碼 。
新的 密碼: //需要你輸入密碼
無效的密碼: 密碼少于 8 個字符 //因為輸入了簡單密碼,可以繼續輸入一次也行,當然復雜密碼就沒問題
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@lokott ~]# su - lisi
最后一次失敗的登錄:四 10月 31 18:49:45 CST 2019從 :1:1 上
最有一次成功登錄后有 1 次失敗的登錄嘗試。
This account is currently not available. // 無法登錄,因為登錄的shell是/sbin/nologin
[root@lokott ~]# pwd
/root
[root@lokott ~]# vim /etc/passwd //進入passwd文件中將該用戶的/sbin/nologin改為/bin/bash
[root@lokott ~]# su - lisi //root切換用戶時不需要輸入密碼
上一次登錄:四 10月 31 18:52:42 CST 2019pts/2 上
[lisi@lokott ~]$ pwd //登錄lisi用戶
/opt/lisi
[lisi@lokott ~]$ su //相當于su - root 下面的結果表明普通用戶切換root時需要密碼,輸入的密碼不會顯示
密碼:
[root@lokott lisi]# pwd
/opt/lisi
[root@lokott lisi]# cd
[root@lokott ~]# pwd //表明切換到root用戶
/root
[root@lokott ~]#passwd -l lisi //鎖定lisi的密碼
鎖定用戶 lisi 的密碼 。
passwd: 操作成功
[root@lokott ~]# passwd -S lisi //查看lisi用戶的密碼狀態
lisi LK 2019-10-31 0 99999 7 -1 (密碼已被鎖定。)
[root@lokott ~]# su - lisi
上一次登錄:四 10月 31 19:01:10 CST 2019pts/2 上
[lisi@lokott ~]$ pwd //可以看出雖然被鎖定了但是root可以切換登錄且無需密碼
/opt/lisi
[lisi@lokott ~]$
[root@lokott ~]# passwd -u lisi
解鎖用戶 lisi 的密碼。
passwd: 操作成功
[root@lokott ~]# passwd -S lisi
lisi PS 2019-10-31 0 99999 7 -1 (密碼已設置,使用 SHA512 算法。)
該實例可以作以下總結:
其中1-4與useradd類似,演示以下-l的操作
[root@lokott ~]# usermod -l zhangsan lisi
usermod: user lisi is currently used by process 71736
[root@lokott ~]# ps -ef | grep lisi
root 71735 71117 0 19:01 pts/2 00:00:00 su - lisi
lisi 71736 71735 0 19:01 pts/2 00:00:00 -bash
root 72433 71829 0 19:11 pts/2 00:00:00 su - lisi
lisi 72435 72433 0 19:11 pts/2 00:00:00 -bash
root 73325 72935 0 19:24 pts/2 00:00:00 grep --color=auto lisi
[root@lokott ~]# kill 71735 //也可以重啟,自動就會結束進程
[root@lokott ~]#
Session terminated, killing shell... ...已殺死。
[root@lokott ~]# exit
[root@lokott ~]# usermod -l zhangsan lisi
[root@lokott ~]# tail -2 /etc/passwd
mike:x:1001:1001::/opt/mike:/sbin/nolgin
zhangsan:x:1002:1003::/opt/lisi:/bin/bash //只是把lisi用戶名字改了但是家目錄的名字還是lisi
[root@lokott ~]#ls /opt
demo01.txt lisi mike rh test
[root@lokott ~]#
-r 宿主目錄一起刪除,下面的演示接著上面的操作
[root@lokott ~]# tail -2 /etc/passwd //顯示兩個用戶
mike:x:1001:1001::/opt/mike:/sbin/nolgin
zhangsan:x:1002:1003::/opt/lisi:/bin/bash
[root@lokott ~]# userdel -r mike //刪除mike用戶并且“抄家”
[root@lokott ~]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
zhangsan:x:1002:1003::/opt/lisi:/bin/bash
[root@lokott ~]# ls -l /opt/mike //表明-r的作用將指定的家目錄刪除
ls: 無法訪問/opt/mike: 沒有那個文件或目錄
[root@lokott ~]# ls /opt //當前在/opt下有lisi家目錄(名字在上面改成了zhangsan)
demo01.txt lisi rh test
[root@lokott ~]# userdel -r zhangsan //刪除zhangsan用戶,同時也會將lisi目錄刪除
[root@lokott ~]# tail -3 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
[root@lokott ~]# ls -l /opt //因刪除了zhangsan用戶且-r刪除家目錄,不加-r則不會刪除
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 18:33 test
[root@lokott ~]# useradd wang //創建一個新的用戶
[root@lokott ~]# usermod -l sung wang //改用戶名
[root@lokott ~]# tail -2 /etc/passwd //查看passwd信息
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
sung:x:1001:1003::/home/wang:/bin/bash
[root@lokott ~]# userdel sung //刪除sung用戶但是不會刪除wang
[root@lokott ~]# ls /home/
demo lokott wang
文件來源——新建用戶賬號是從/etc/skel目錄中復制過來 (cd到家目錄中用ls -a)
groupadd 選項 組名
-g ——指定GID
[root@lokott ~]# groupadd lisi //添加lisi組
[root@lokott ~]# tail /etc/group //查看group信息
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
lokott:x:1000:
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
[root@lokott ~]# groupadd -g 1005 wangwu //添加wangwu組且給其配置GID為1005
[root@lokott ~]# tail -2 /etc/group
lisi:x:1003:
wangwu:x:1005:
[root@lokott ~]#
[root@lokott ~]# tail -2 /etc/group //查看組信息
lisi:x:1003:
wangwu:x:1005:
[root@lokott ~]# tail -2 /etc/passwd //查看用戶信息
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
[root@lokott ~]# useradd lisi //添加lisi用戶會失敗,因為上面顯示lisi組已經存在
useradd:lisi 組已經存在 - 如果您想將此用戶加入到該組,請使用 -g 參數。
[root@lokott ~]# useradd -g lisi lisi //將lisi用戶添加到lisi組中
[root@lokott ~]# useradd zhangsan //再添加一個zhangsan用戶
[root@lokott ~]# tail -2 /etc/passwd //查看用戶信息
lisi:x:1001:1003::/home/lisi:/bin/bash
zhangsan:x:1002:1006::/home/zhangsan:/bin/bash
[root@lokott ~]# gpasswd -a lisi wangwu //添加lisi到wangwu組中(先得有wangwu組)
正在將用戶“lisi”加入到“wangwu”組中
[root@lokott ~]# id lisi //查看lisi的UID
uid=1001(lisi) gid=1003(lisi) 組=1003(lisi),1005(wangwu)
[root@lokott ~]# gpasswd -d lisi wangwu //從wangwu組中刪除lisi
正在將用戶“lisi”從“wangwu”組中刪除
[root@lokott ~]# id lisi //查看lisi的UID,已經不屬于wnagwu組了
uid=1001(lisi) gid=1003(lisi) 組=1003(lisi)
[root@lokott ~]# tail -5 /etc/passwd //顯示用戶信息
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
lisi:x:1001:1003::/home/lisi:/bin/bash
zhangsan:x:1002:1006::/home/zhangsan:/bin/bash
[root@lokott ~]# tail -5 /etc/group //顯示組信息
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:
zhangsan:x:1006:
[root@lokott ~]# gpasswd -M lisi,zhangsan wangwu //將兩個用戶批量添加到wangwu組中
[root@lokott ~]# tail -5 /etc/group
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:lisi,zhangsan //查看到信息
zhangsan:x:1006:
[root@lokott ~]# useradd hh //添加兩個新的用戶,為了驗證-M的覆蓋功能
[root@lokott ~]# useradd ww
[root@lokott ~]# gpasswd -M hh,ww wangwu
[root@lokott ~]# tail -5 /etc/group
lisi:x:1003:
wangwu:x:1005:hh,ww //原本的lisi和zhangsan都被踢出去了
zhangsan:x:1006:
hh:x:1007:
ww:x:1004:
注意!!!不能使用 groupdel 命令隨意刪除組。此命令僅適用于刪除那些 "不是任何用戶初始組(主組 )" 的組,換句話說,如果有組還是某用戶的初始組(主組),則無法使用 groupdel 命令成功刪除。例如:
[root@lokott ~]# tail -10 /etc/group
stapdev:x:158:
tcpdump:x:72:
lokott:x:1000:
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:hh,ww
zhangsan:x:1006:
hh:x:1007:
ww:x:1004:
[root@lokott ~]# groupdel caiwu
[root@lokott ~]# groupdel lisi
groupdel:不能移除用戶“lisi”的主組
[root@lokott ~]# groupdel wangwu
[root@lokott ~]# groupdel zhangsan
groupdel:不能移除用戶“zhangsan”的主組
[root@lokott ~]# groupdel hh
groupdel:不能移除用戶“hh”的主組
[root@lokott ~]# groupdel ww
groupdel:不能移除用戶“ww”的主組
[root@lokott ~]#
如果真的要刪除,可以將創建該組的初始成員刪除后再刪除
[root@lokott note]# tail -1 /etc/passwd
ww:x:10000:10000::/home/ww:/bin/bash
[root@lokott note]# groupdel ww
groupdel:不能移除用戶“ww”的主組
[root@lokott note]# userdel ww
[root@lokott note]# tail -1 /etc/group
zhangsan:x:1006:
[root@lokott note]#
[root@lokott ~]# lastb
lisi :1 :1 Thu Oct 31 18:49 - 18:49 (00:00)
root pts/1 Thu Oct 31 17:07 - 17:07 (00:00)
root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00)
root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00)
root :0 :0 Thu Oct 24 14:43 - 14:43 (00:00)
btmp begins Thu Oct 24 14:43:01 2019
[root@lokott ~]#
讀取r:允許查看文件內容、顯示目錄列表
寫入w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
可執行x: 允許運行程序、切換目錄
屬主:用于該文件或目錄的用戶賬號
屬組:用于該文件或目錄的組賬號
[root@lokott ~]# ls -l
總用量 8
-rw-------. 1 root root 1785 10月 23 12:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 1833 10月 23 12:24 initial-setup-ks.cfg
drwxr-xr-x. 4 root root 73 10月 30 22:03 note //以此為例介紹
下面對drwxr-xr-x. 4 root root 73 10月 30 22:03 note 進行解釋
//下面是對文件的權限操作
[root@lokott note]# touch 2.sh
[root@lokott note]# ls -l 2.sh //2.sh權限是644
-rw-r--r--. 1 root root 0 10月 31 21:41 2.sh
[root@lokott note]# chmod u+x 2.sh
[root@lokott note]# ls -l 2.sh
-rwxr--r--. 1 root root 0 10月 31 21:41 2.sh
[root@lokott note]# chmod ugo+w 2.sh
[root@lokott note]# ls -l 2.sh
-rwxrw-rw-. 1 root root 0 10月 31 21:41 2.sh
[root@lokott note]# chmod 655 2.sh
[root@lokott note]# ls -l 2.sh
-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh
//下面是對目錄的權限操作
[root@lokott note]# ll //ll是ls -l --color 的別名
總用量 8
-rwxrwxrwx. 1 root root 0 10月 31 21:40 1.txt
-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh
-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33
drwxrwxrwx. 2 root root 26 10月 23 13:20 linux-cmd
-rwxr-xr-x. 1 root root 30 10月 30 22:02 readme.txt
drwxrwxrwx. 2 root root 173 10月 30 21:56 shell
drwxr-xr-x. 2 root root 6 10月 31 21:38 test
[root@lokott note]# which ll
alias ll='ls -l --color=auto'
/usr/bin/ls
[root@lokott note]# chmod 777 test/ 更改權限為777
[root@lokott note]# ll
總用量 8
-rwxrwxrwx. 1 root root 0 10月 31 21:40 1.txt
-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh
-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33
drwxrwxrwx. 2 root root 26 10月 23 13:20 linux-cmd
-rwxr-xr-x. 1 root root 30 10月 30 22:02 readme.txt
drwxrwxrwx. 2 root root 173 10月 30 21:56 shell
drwxrwxrwx. 2 root root 6 10月 31 21:38 test
[root@lokott note]# touch test/1.sh
[root@lokott note]# ls -l test/1.sh
-rw-r--r--. 1 root root 0 10月 31 21:50 test/1.sh //目錄的權限與其子目錄與文件權限無關除非遞歸—R
[root@lokott note]# chmod 777 -R test/ //遞歸更改權限 即test和其子目錄的所有文件權限都是777
[root@lokott note]# ls -l test/1.sh
-rwxrwxrwx. 1 root root 0 10月 31 21:50 test/1.sh
如果給予屬組和其他用戶只有寫權限(622),可以強制寫入,但會覆蓋原本的內容!
[root@lokott test]# pwd //當前所在目錄的絕對路徑
/opt/test
[root@lokott test]# ll //顯示詳細信息
總用量 8
-rw-r--r--. 1 root root 13 10月 31 16:33 1.txt //除了root的其余用戶權限為只讀
-rw--w--w-. 1 root root 18 10月 31 18:33 2.txt //除了root的其余用戶權限為只寫
[root@lokott test]# cat 1.txt
tehsda
hello
[root@lokott test]# cat 2.txt //這邊原本的2.txt的內容如下
231354
2222244878
[root@lokott lisi]# su - lisi //切換到lisi用戶
上一次登錄:四 10月 31 22:36:45 CST 2019pts/1 上
[lisi@lokott ~]$ cd /opt/test/
[lisi@lokott test]$ ll //沒有ls的權限
ls: 無法打開目錄.: 權限不夠
[lisi@lokott test]$ cat 1.txt //表示可以查看1.txt內容
tehsda
hello
[lisi@lokott test]$ vim 1.txt //嘗試寫入數據
[lisi@lokott test]$ cat 1.txt //可以wq!強制保存退出,結果是可以寫入數據的
tehsda
hello
dada
asdaadas
[lisi@lokott test]$ cat 2.txt
cat: 2.txt: 權限不夠
[lisi@lokott test]$ vim 2.txt
[lisi@lokott test]$ cat 2.txt //似乎強制寫入數據之后就可以查看,因為屬主是lisi,但如果 //屬主是root用戶在lisi用戶登錄時就無法查看
ssdad
dsawdad
[lisi@lokott test]$ ls -l 2.txt
-rw--w--w-. 1 lisi lisi 14 10月 31 22:45 2.txt
//使用echo命令重定向和追加形式寫入數據到文本中
[lisi@lokott test]$ echo "123123" > 2.txt
[lisi@lokott test]$ cat 2.txt
123123
[lisi@lokott test]$ echo "123456" >> 2.txt
[lisi@lokott test]$ cat 2.txt
123123
123456
[lisi@lokott test]$ su
密碼:
[root@lokott test]# ls -l
總用量 8
-rw-r--r--. 1 lisi lisi 27 10月 31 22:43 1.txt
-rw--w--w-. 1 lisi lisi 14 10月 31 22:47 2.txt
[root@lokott test]# cat 2.txt
123123
123456
[root@lokott test]#
[root@lokott opt]# ls -l
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 22:45 test
[root@lokott opt]# chown lisi test
[root@lokott opt]# ls -l
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 lisi root 32 10月 31 22:45 test //test目錄自身屬主變成lisi而屬組未發生改變
[root@lokott opt]# chown root:lisi test
[root@lokott opt]# ls -l
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 root lisi 32 10月 31 22:45 test //test目錄自身屬主變成root而屬組變為lisi
[root@lokott opt]# chown :root test
[root@lokott opt]# ls -l
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 22:45 test //test目錄自身屬組變為root
作用:控制新建的文件或者目錄的權限——注意只是對新建的有效
默認權限去除umask的權限為
[root@lokott opt]# mkdir umasktest
[root@lokott opt]# umask 000 umasktest/
[root@lokott opt]# ll
總用量 0
-rw-r--r--. 1 root root 0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwx-wx-wx. 2 root lisi 32 10月 31 22:45 test
drwxrwxrwx. 2 root root 6 10月 31 23:26 umasktest
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2019
[root@lokott umasktest]# touch 1.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt //文件權限為666
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019 //目錄權限為777
[root@lokott umasktest]# cd ..
[root@lokott opt]# umask 111 umasktest/ //原本的1.txt和2019權限沒有發生變化!
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2018
[root@lokott umasktest]# touch 2.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt
drw-rw-rw-. 2 root root 6 10月 31 23:28 2018 //目錄權限為666
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019
-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt // 2.txt權限為666
[root@lokott umasktest]# cd ..
[root@lokott opt]# umask 666 umasktest/
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2017
[root@lokott umasktest]# touch 3.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt
d--x--x--x. 2 root root 6 10月 31 23:29 2017 //目錄權限為111
drw-rw-rw-. 2 root root 6 10月 31 23:28 2018
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019
-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt
----------. 1 root root 0 10月 31 23:29 3.txt //文件3.txt權限全為0
[root@lokott umasktest]# umask //查看umask值
0666
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。