linux用戶及用戶組管理
linux與windows互傳文件:
xshell securecet 前提要使用這兩個軟件才可以使用命令上傳下載文件
lrzsz 安裝yum install -y lrzsz
sz 從linux傳到windows 用法sz 1.txt
rz 從windows傳到linux 用法rz 回車 (文件傳到當前目錄)
linux用戶配置文件和密碼配置文件:
用戶配置文件
查看用戶配置文件,輸入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
每個用戶行都被用:號分割成七段,第一個是root用戶,其它都是系統自帶的用戶。
user1第一段表示用戶。
1001:1001,第三段與第四段表示UID,每個用戶都有一個ID,它也會屬於一個組,它的組ID是第四段。
第二段x,早期是屬於密碼文件 。
第五段為空,這個表示用戶註釋信息,沒有實質作用。
第六段是用戶的家目錄,如普通用戶是/home/user1,root的家目錄是root。
第七段是用戶shell,一個用戶能登錄首先要有一個交互的終端,那我們用xsehll或Putty去登錄centos獲得一個窗口,那這個窗口就是shell。/bin/bash表示這個用戶是可以登錄的,/sbin/nologin表示不能登錄的,即使設置密碼也不能登錄 。
密碼配置文件
查看用戶配置文件,輸入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:::
這個密碼配置文件/etc/shadow每一行與用戶配置文件/etc/passwd每一行是一一對應的
給用戶設置密碼passwd aming,查看兩個用戶的密碼配置文件(設置同樣的密碼加密不一樣)
舉例解釋每個用戶行的意思,如:user1:!!:17464:0:99999:7:::
這個文件是專門用來控制用戶密碼的,用:被分割成九段,第一段是用戶名
第二段是用戶的密碼,密碼是加密的,而且無法編譯。
第三段是一個數字,表示天數。距離1970年1月1號到密碼更改的時候經過了多少天。
第四段表示密碼有多少天之前不能更改,要過多少天才可以更改密碼,默認為0,0表示不受限制。
第五段意思是密碼多少天後到期及在多少天內必須要更改密碼。
第六段密碼到期前的期限,系統會有一個提醒。比如期限設置為七天,當七天後密碼過期時,系統就是發出警告,提醒用戶密碼將在七天後到期。
第七段表示賬戶失效期限,比如期限設置為3天,密碼到期後還沒有更改密碼,三天後這個用戶將被鎖定。
第八段表示一個賬號的生命周期,與第三段差不多,距離19700101賬有多少天,賬號號在這個日期前可以使用,到期後密碼會被鎖定,就不能使用。
第九段是保留字段,沒有實際意義。
用戶組管理:
查看用戶組管理配置文件,輸入ls /etc/group,查看文件內容輸入cat /etc/group,組密碼配置文件查看輸入cat /etc/gshadow。
groupadd 創建一個新的用戶組命令,例:groupadd grp1
在增加組的同時可以給組指定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”的主組
用戶管理:
useradd與adduser 創建用戶命令,例:創建用戶user2,輸入命令useradd user2。
查看一個用戶文件/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
知識點:
如果想在一行終端上打兩個命令,你就可以用;分割開,如:
[root@aminglinux-01 ~]# head -n1 /etc/shadow: tail -n2 /etc/shadow
使用ls查看下面這些文件中,記住在輸入命令時使用Tab鍵補全或ls /etc/passwd*回車,帶減號的文件是系統自動給這些文件做備份用的,假如不小心把文件刪除或用戶刪除了,把文件拷貝還可以恢復過來,如果備份文件沒更新,可能會導致兩個文件信息不一致。
本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1977596
linux用戶及用戶組管理