1. 程式人生 > >linux用戶及用戶組管理

linux用戶及用戶組管理

linux 用戶

linux與windows互傳文件:


  1. xshell securecet 前提要使用這兩個軟件才可以使用命令上傳下載文件

  2. lrzsz 安裝yum install -y lrzsz

  3. sz 從linux傳到windows 用法sz 1.txt

  4. rz 從windows傳到linux 用法rz 回車 (文件傳到當前目錄)


linux用戶配置文件和密碼配置文件:


用戶配置文件


  1. 查看用戶配置文件,輸入ls /etc/passwd,查看文件輸入cat /etc/passwd。

[root@aminglinux-01 ~]# ls /etc/passwd

/etc/passwd

[root@aminglinux-01 ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:998:996:User for polkitd:/:/sbin/nologin

tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

chrony:x:997:995::/var/lib/chrony:/sbin/nologin

aming:x:1000:1000::/home/aming:/bin/bash //從這開始都是新創建的用戶

user1:x:1001:1001::/home/user1:/bin/bash

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

舉例解釋每個用戶行的意思,如user1:x:1001:1001::/home/user1:/bin/bash

  1. 每個用戶行都被用:號分割成七段,第一個是root用戶,其它都是系統自帶的用戶。

  2. user1第一段表示用戶。

  3. 1001:1001,第三段與第四段表示UID,每個用戶都有一個ID,它也會屬於一個組,它的組ID是第四段。

  4. 第二段x,早期是屬於密碼文件 。

  5. 第五段為空,這個表示用戶註釋信息,沒有實質作用。

  6. 第六段是用戶的家目錄,如普通用戶是/home/user1,root的家目錄是root。

  7. 第七段是用戶shell,一個用戶能登錄首先要有一個交互的終端,那我們用xsehll或Putty去登錄centos獲得一個窗口,那這個窗口就是shell。/bin/bash表示這個用戶是可以登錄的,/sbin/nologin表示不能登錄的,即使設置密碼也不能登錄 。


密碼配置文件


  1. 查看用戶配置文件,輸入ls /etc/shadow,查看文件輸入cat /etc/passwd

[root@aminglinux-01 ~]# ls /etc/shadow

/etc/shadow

[root@aminglinux-01 ~]# cat /etc/shadow

root:$6$d/ka/dyhdjMyt3sM$MgvGAIq26dXli0z65uotOigG60TskCnEAAXRbmNF/Jz5PhmUo5Bb9Rj7MznInVovaKeI1fVck30Zo/wFUdb.Q1::0:99999:7:::

bin:*:17110:0:99999:7:::

daemon:*:17110:0:99999:7:::

adm:*:17110:0:99999:7:::

lp:*:17110:0:99999:7:::

sync:*:17110:0:99999:7:::

shutdown:*:17110:0:99999:7:::

halt:*:17110:0:99999:7:::

mail:*:17110:0:99999:7:::

operator:*:17110:0:99999:7:::

games:*:17110:0:99999:7:::

ftp:*:17110:0:99999:7:::

nobody:*:17110:0:99999:7:::

systemd-bus-proxy:!!:17455::::::

systemd-network:!!:17455::::::

dbus:!!:17455::::::

polkitd:!!:17455::::::

tss:!!:17455::::::

postfix:!!:17455::::::

sshd:!!:17455::::::

chrony:!!:17455::::::

aming:!!:17464:0:99999:7:::

user1:!!:17464:0:99999:7:::

aminglinux:!!:17466:0:99999:7:::

  1. 這個密碼配置文件/etc/shadow每一行與用戶配置文件/etc/passwd每一行是一一對應的

  2. 給用戶設置密碼passwd aming,查看兩個用戶的密碼配置文件(設置同樣的密碼加密不一樣)

技術分享

舉例解釋每個用戶行的意思,如:user1:!!:17464:0:99999:7:::

  1. 這個文件是專門用來控制用戶密碼的,用:被分割成九段,第一段是用戶名

  2. 第二段是用戶的密碼,密碼是加密的,而且無法編譯。

  3. 第三段是一個數字,表示天數。距離1970年1月1號到密碼更改的時候經過了多少天。

  4. 第四段表示密碼有多少天之前不能更改,要過多少天才可以更改密碼,默認為0,0表示不受限制。

  5. 第五段意思是密碼多少天後到期及在多少天內必須要更改密碼。

  6. 第六段密碼到期前的期限,系統會有一個提醒。比如期限設置為七天,當七天後密碼過期時,系統就是發出警告,提醒用戶密碼將在七天後到期。

  7. 第七段表示賬戶失效期限,比如期限設置為3天,密碼到期後還沒有更改密碼,三天後這個用戶將被鎖定。

  8. 第八段表示一個賬號的生命周期,與第三段差不多,距離19700101賬有多少天,賬號號在這個日期前可以使用,到期後密碼會被鎖定,就不能使用。

  9. 第九段是保留字段,沒有實際意義。


用戶組管理:


  1. 查看用戶組管理配置文件,輸入ls /etc/group,查看文件內容輸入cat /etc/group,組密碼配置文件查看輸入cat /etc/gshadow。

  2. groupadd 創建一個新的用戶組命令,例:groupadd grp1

  3. 在增加組的同時可以給組指定ID,命令groupadd -g 例:

[root@aminglinux-01 ~]# groupadd -g 1005 grp2

[root@aminglinux-01 ~]# tail -n3 /etc/group

slocate:x:21:

grp1:x:1003:

grp2:x:1005:

4.刪除組,命令groupdel ,tail -n3是查看文件/etc/group下的組前三行,例:

[root@aminglinux-01 ~]# groupdel grp1

[root@aminglinux-01 ~]# tail -n3 /etc/group

aminglinux:x:1002:

slocate:x:21:

grp2:x:1005:

5.刪除user1組,提示不能刪除,如果需要一個組,前提是這個組裏面沒有用戶。組的概念:一個組包含很多成員,每個成員都是一個用戶,只要是這個組裏面有任何一個成員在,就不能刪除這個組。

[root@aminglinux-01 ~]# groupdel user1

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


用戶管理:


  1. useradd與adduser 創建用戶命令,例:創建用戶user2,輸入命令useradd user2。

  2. 查看一個用戶文件/etc/passwd的UID號列表。

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user1:x:1001:1001::/home/user1:/bin/bash

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

user2:x:1003:1003::/home/user2:/bin/bash

3.在創建用戶的同時指定用戶的UID及用戶組。例:

[root@aminglinux-01 ~]# useradd -u 1004 -g grp2 user3

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

aminglinux:x:1002:1002::/home/aminglinux:/bin/bash

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

[root@aminglinux-01 ~]#

4.在創建用戶的同時指定家目錄及shell。例:

[root@aminglinux-01 ~]# useradd -u 1006 -g grp2 -d /home/aming111 -s /sbin/nologin user4

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

[root@aminglinux-01 ~]# ls /home/

aming aming111 aminglinux user1 user2 user3

5.在創建用戶的同時指定不能建立家目錄,例:

[root@aminglinux-01 ~]# useradd -M user5 //-M的作用是在創建用戶的同時不去創建家目錄,它的家目錄是/home/user5,只是沒有創建而已。

[root@aminglinux-01 ~]# tail -n 3 /etc/passwd

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

問題:GID是否可以從其它數字開始,例子:

1.假設先創建一個組grp3,指定GID是1010。

[root@aminglinux-01 ~]# groupadd -g 1010 grp3

2.在創建一個新的用戶user6,指定組為grp3。

[root@aminglinux-01 ~]# useradd -g grp3 user6

3.查看剛創建用戶及組指定的GID號,從第五段看出GID直接從7跳到了10。

[root@aminglinux-01 ~]# tail -n5 /etc/passwd

user2:x:1003:1003::/home/user2:/bin/bash

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

4.創建用戶user7

[root@aminglinux-01 ~]# useradd user7

5.查看user7GID是1009

[root@aminglinux-01 ~]# tail -n5 /etc/passwd

user3:x:1004:1005::/home/user3:/bin/bash

user4:x:1006:1005::/home/aming111:/sbin/nologin

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

user7:x:1009:1009::/home/user7:/bin/bash

結論:GID與上面的數字沒有關系,不會根據GID去增加,只會根據UID去增加。

6.userdel 刪除用戶命令,例:刪除用戶user8

[root@aminglinux-01 ~]# userdel user8

[root@aminglinux-01 ~]# tail -n3 /etc/passwd

user5:x:1007:1007::/home/user5:/bin/bash

user6:x:1008:1010::/home/user6:/bin/bash

user7:x:1009:1009::/home/user7:/bin/bash

7.userdel -r 刪除用戶的同時也把用戶家目錄刪除。原因:刪除用戶的時候擔心誤刪掉用戶的文件,想把這個刪除用戶家目錄的權限留給管理員,所以刪除用戶的時候沒有直接刪除用戶家目錄,加上-r就可以直接刪除用戶及用戶家目錄。

[root@aminglinux-01 ~]# ls /home/

aming aming111 aminglinux user1 user2 user3 user6 user7 user8

[root@aminglinux-01 ~]# rm -rf /home/user8 //單獨刪除用戶user8家目錄

[root@aminglinux-01 ~]# userdel -r user7 //舉例,直接刪除用戶user7及家目錄

[root@aminglinux-01 ~]# ls /home/

aming aming111 aminglinux user1 user2 user3 user6


知識點:


  1. 如果想在一行終端上打兩個命令,你就可以用;分割開,如:

[root@aminglinux-01 ~]# head -n1 /etc/shadow: tail -n2 /etc/shadow

  1. 使用ls查看下面這些文件中,記住在輸入命令時使用Tab鍵補全或ls /etc/passwd*回車,帶減號的文件是系統自動給這些文件做備份用的,假如不小心把文件刪除或用戶刪除了,把文件拷貝還可以恢復過來,如果備份文件沒更新,可能會導致兩個文件信息不一致。

技術分享

本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1977596

linux用戶及用戶組管理