Linux用戶:UserName/password
UID:0-65535
管理員:0
普通用戶:1-60000
系統用戶:
CentOS6: 1-499
CentOS7:1-999
登陸用戶:
CentOS6: 500+
CentOS7: 1000+
用戶的基本組:
用戶的私有組;
用戶的附加組算法
Linux用戶和組的相關的配置文件:
/etc/passwd:用戶名、UID、基本組等信息
/etc/group:組名、GID、組內包含的用戶;
/etc/shadow:用戶密碼及相關屬性;
/etc/gshadow:組的密碼及相關屬性;sql
/etc/passwd:
name:password:UID:GID:GECOS:directory:shellshell
登陸名:x:UID:GID:comment:主目錄:用戶默認shellcentos
/etc/shadow:
login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved fieldbash
$6$YNzGOv5VyXxmDU2n$PxariU7Ag0mBlzBoNLWUjubn9OBtoLJauXIfoRqQ1FtZt058FrQKJO6QVJTUXkP4LUKPsiH7ejWo8bg6c4RrC1
6:加密算法ide
單向加密:
提取數據指紋;ui
md5, sha1, sha224, sha256, sha384, sha512加密
雪崩效應:
定長輸出:spa
相對於Unix元年;
1970年1月1號;md5
/etc/group
group_name:password:GID:user_list
密碼的複雜性策略:
一、使用數字、小寫字母、大寫字母、特殊字符四類中至少三類;
二、足夠長;
三、使用隨機密碼;
四、按期更換;
用戶和組管理的相關命令:
useradd、usermod、passwd、userdel
groupadd、groupmod、gpasswd、groupdel
chage, chsh, chfn
id, w, who, whoami
su
useradd命令: useradd(選項)(參數)
useradd命令用於Linux中建立的新的系統用戶。useradd可用來創建用戶賬號。賬號建好以後,再用passwd設定賬號的密碼.
而可用userdel刪除賬號。使用useradd指令所創建的賬號,其實是保存在/etc/passwd文本文件中。
選項:
-c<備註>:加上備註文字。備註文字會保存在passwd的備註欄位中;
-d<登入目錄>:指定用戶登入時的啓始目錄;
-D:變動預設值;
-e<有效期限>:指定賬號的有效期限;
-f<緩衝天數>:指定在密碼過時後多少天即關閉該賬號;
-g<羣組>:指定用戶所屬的羣組;
-G<羣組>:指定用戶所屬的附加羣組;
-m:自動創建用戶的登入目錄;
-M:不要自動創建用戶的登入目錄;
-n:取消創建以用戶名稱爲名的羣組;
-r:創建系統賬號;
-s:指定用戶登入後所使用的shell;
-u:指定用戶id。
參數:用戶賬號名
實例:
1.默認值新建一個賬戶,用戶名爲:mageedu
[root@localhost ~]# useradd mageedu
[root@localhost ~]# ll -d /home/mageedu
drwx------. 4 mageedu mageedu 4096 8月 30 23:54 /home/mageedu
[root@localhost ~]# grep mageedu /etc/passwd /etc/shadow /etc/group
/etc/passwd:mageedu:x:502:502::/home/mageedu:/bin/bash
/etc/shadow:mageedu:!!:16677:0:99999:7:::
/etc/group:mageedu:x:502: <==默認會建立一個與賬號如出一轍的用戶組名
2.建立用戶Oracle,所屬附加組database和sql,ID號爲3000, 家目錄爲/home/database
[root@localhost ~]# groupadd database <==首先建立兩個附加組
[root@localhost ~]# groupadd sql
[root@localhost ~]# useradd -G database,sql -u 3000 -d /home/database Oracle
Groupadd命令:
groupadd [選項] 參數
選項:
-g:指定新建工做組的id;
-r:建立系統工做組,系統工做組的組ID小於500;
-K:覆蓋配置文件「/ect/login.defs」;
-o:容許添加組ID號不惟一的工做組。
參數: 組名,指定新建工做組名稱
實例:
1.新建一個用戶組,名稱爲:mageedu
[root@localhost ~]# groupadd mageedu
[root@localhost ~]# grep mageedu /etc/group /etc/gshadow
/etc/group:mageedu:x:3001:
/etc/gshadow:mageedu:!:: #用戶組的內容與這兩個文件相關:/etc/group , /etc/gshadow
2.將剛纔新建的mageedu組名稱更改成Mygroup,GID爲201.
[root@localhost ~]# groupmod -g 201 -n Mygroup mageedu
[root@localhost ~]# grep Mygroup /etc/group /etc/gshadow
/etc/group:Mygroup:x:201:
/etc/gshadow:Mygroup:!::
id:查看用戶相關的id信息;
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Groups
-n: NAME
[root@localhost ~]# id Oracle
uid=3000(Oracle) gid=3000(Oracle) 組=3000(Oracle),503(database),504(sql)
[root@localhost ~]# id <== 查看當前用戶的id信息。
uid=0(root) gid=0(root) 組=0(root) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
su:switch user, 切換用戶或以其它用戶的身份執行命令;
切換方式:
su USERNAME: 非徹底切換;非登陸式切換
su - USERNAME或su -l USERNAME: 徹底切換;登陸式切換
僅以指定用戶的身份執行指定的命令:
su - USERNAME -c 'COMMAND'
[root@localhost ~]# su wwg8708
[wwg8708@localhost root]$
[wwg8708@localhost root]$ su - <==普通用戶切換爲root用戶
密碼:
[root@localhost ~]#
[root@localhost ~]# exit <==離開su的環境
logout
[wwg8708@localhost root]$
[wwg8708@localhost root]$ su - -c"命令" <=若是隻是執行一個只有root才能進行的命令,且執行完畢就恢復本來的身份,則執行此命令,而後輸入root密碼。
使用root切換成爲任何用戶時,並不須要輸入新用戶的密碼。
雖然su很方便,不過缺點是,當個人主機是多人管理的環境時,若是你們都要使用su 來初換成爲root身份,那麼不就每一個人都知道root的密碼,這樣密碼太多人知道可能會流傳出去,很不穩當,怎辦?
經過sudo來處理便可!
usermod:用戶屬性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-s SHELL
-c 'COMMENT'
-d HOME: 修改用戶的家目錄爲新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-l LOGIN:
-L:lock user
-U: unlock user
實例:
1.修改用戶mageedu的用戶名爲mageedu1
[root@localhost ~]# usermod -l mageedu mageedu1
usermod:用戶屬性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-s SHELL
-c 'COMMENT'
-d HOME: 修改用戶的家目錄爲新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-l LOGIN:
-L:lock user
-U: unlock user
usermod:用戶屬性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-s SHELL
-c 'COMMENT'
-d HOME: 修改用戶的家目錄爲新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-l LOGIN:
-L:lock user
-U: unlock user
實例:修改ma
usermod:用戶屬性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-s SHELL
-c 'COMMENT'
-d HOME: 修改用戶的家目錄爲新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-l LOGIN:
-L:lock user
-U: unlock user
實例:
[root@localhost ~]# usermod -d /home/bak/ mageedu #修改mageedu用戶的家目錄
[root@localhost ~]# usermod -e 12/31/2015 mageedu #修改用戶的有效期
passwd:給用戶添加密碼
passwd [OPTION] [UserName]
-l: lock user
-u: unlock user
-n mindays: 最短使用期限;
-x maxdays:默認爲99999天;
-w warndays:
-i inactivedays:
--stdin:從標準輸出接收用戶密碼;
echo 'centos' | passwd --stdin centos
實例:
[root@localhost ~]# passwd mageedu1
更改用戶 mageedu1 的密碼 。
新的 密碼:
[root@localhost ~]# passwd -d mageedu1
清除用戶的密碼 mageedu1。
passwd: 操做成功
userdel:刪除用戶
userdel [-r] USERNAME
-r:刪除用戶的同時刪除其家目錄;
實例:
[root@localhost ~]# userdel -r amdin
[root@localhost ~]#
groupmod: 組屬性修改
groupmod [OPTION] GROUPNAME
-n GROUP_NAME
-g GID
實例:
[root@localhost ~]# useradd test
[root@localhost ~]# groupmod test -n test2 #將test組名換可test2
[root@localhost ~]# groupmod -g 1111 test2 #將test2的gid換成1111
gpasswd:設定組密碼
實例:
[root@localhost ~]# gpasswd test2 #設置test2組密碼
Changing the password for group test2
New Password:
Re-enter new password:
[root@localhost ~]#
newgrp:切換基本組爲指定的組
[root@localhost ~]# newgrp test2 登陸到test2羣組
groupdel:刪除組
[root@localhost ~]# groupdel tests
chage:密碼失效是經過此命令來管理的。 參數意思: -m 密碼可更改的最小天數。爲零時表明任什麼時候候均可以更改密碼。 -M 密碼保持有效的最大天數。 -W 用戶密碼到期前,提早收到警告信息的天數。 -E 賬號到期的日期。過了這天,此賬號將不可用。 -d 上一次更改的日期 -I 停滯時期。若是一個密碼已過時這些天,那麼此賬號將不可用。 -l 例出當前的設置。由非特權用戶來肯定他們的密碼或賬號什麼時候過時。
[root@localhost ~]# chage -M 90 test #設置密碼有效期爲90天
finger 用 戶名 查看用戶信息
[root@localhost ~]# finger testLogin: test Name: Directory: /home/test Shell: /bin/bashNever logged in.No mail.No Plan.