Linux用戶及權限管理sql
Linxu 用戶管理分爲用戶管理及用戶組管理 shell
Linux用戶:UserName/passwordbash
UID:0-65535ide
管理員:0ui
普通用戶:1-60000加密
系統用戶:spa
CentOS6:1-499orm
CentOS7:1-999token
登陸用戶:ssl
CentOS6:500+
CentOS7:1000+
Linux組:GroupName/GID
管理員組:0
普通組:
1-499,1-999
500+,1000+
用戶的基本組:
用戶的私有組;
用戶的附加組
關於用戶管理的文件:
/etc/passwd:用戶名、UID、基本組等信息
/etc/group:組名、GID、組內包含的用戶;
/etc/shadow:用戶密碼及相關屬性;
/etc/gshadow:組的密碼及相關屬性;
/etc/passwd
使用whatis passwd 查看關於passwd 配置文件在man文件的那個章節中
root@localhost ~]# whatis passwd
passwd (1) - update user's authentication tokens
passwd (5) - password file
passwd [sslpasswd] (1ssl) - compute password hashes
能夠看到在man文件第5章節中,使用man5passwd 查看關於/etc/passwd的幫助信息:
root@localhost ~]# whatis passwd
There is one entry per line, and each linehas the format:
account:password:UID:GID:GECOS:directory:shell
account:登陸名
password:密碼
uid:用戶ID
GID:用戶組ID
GECOS:註釋
Directory:用戶主目錄
Shell:shell類型
/etc/group
使用同查看passwd幫助文檔方法查看/etc/group的幫助文檔:
/etc/group is a text file which defines thegroups on the system. There is one entryper line, with the following for-
mat:
group_name:passwd:GID:user_list
group_name:用戶組名
passwd:密碼
GID:用戶組ID
user_list:包含用戶列表
/etc/shadow
login name:encrypted password:date of lastpassword change:minimum password age:maximum password age:password warningperiod:password inactivity period:account expiration date:reserved field
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 field:預留
用戶管理相關命令:
useradd:
做用:添加用戶
使用格式:
useradd [options] LOGIN
useradd -D [options]
經常使用參數:
-r:建立系統用戶
-uUID: 指定UID;
-gGID: 指定用戶所屬基本組,此組必須事先存在
-c'COMMENT':
-d/PATH/TO/SOMEWHERE 事先不能存在
-sSHELL:設定用戶的默認shell;
-GGID,...:指定所屬的附加組;
-M:不給用戶建立家目錄;
練習:建立用戶Oracle,所屬附加組database和sql,ID號爲3000, 家目錄爲/home/database
事先要建立database和sql 組
[root@localhost ~]# useradd -u 3000 -Gdatabase,sql -d /home/database Oracle
[root@localhost ~]#
沒有報錯信息
查看結果
[root@localhost ~]# id Oracle
uid=3000(Oracle) gid=3000(Oracle)groups=3000(Oracle),501(database),502(sql)
查看/etc/passwd 文件
Oracle:x:3000:3000::/home/database:/bin/bash
groupadd:
做用:建立組
使用格式:
groupadd[OPTIONS] GROUPNAME
-gGID: 指明組ID;
-r: 建立系統組;
id:
做用:查看用戶相關的id信息
使用格式;
id[OPTION]... [USER]
-u:UID
-g:GID
-G:Groups
-n:NAME
usermod:
做用:用戶屬性修改
使用格式:
usermod[OPTION]... LOGIN
-uUID
-gGID
-GGID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-sSHELL
-c'COMMENT'
-dHOME: 修改用戶的家目錄爲新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-lLOGIN:
-L:lock user
-U:unlock user
例如修改Oracle UID 爲3005,附加組爲text
root@localhost ~]# usermod -u 3005 -Gtext Oracle
[root@localhost ~]# id Oracle
uid=3005(Oracle) gid=3000(Oracle)groups=3000(Oracle),3001(text)
passwd:
做用:給用戶添加密碼
使用格式:
passwd[OPTION] [UserName]
-l:lock user
-u:unlock user
-nmindays: 最短使用期限;
-xmaxdays:默認爲99999天;
-wwarndays:
-iinactivedays:
--stdin:從標準輸出接收用戶密碼;
例如:修改用戶lishuai 密碼爲lishuai
[root@localhost ~]# echo 'lishua'i|passwd--stdin lishuai
Changing password for user lishuai.
passwd: all authentication tokens updatedsuccessfully.
userdel:
做用:刪除用戶
使用格式:
userdel[-r] USERNAME
-r:刪除用戶的同時刪除其家目錄;
例如:刪除Oracle 用戶同時刪除其家目錄
[root@localhost ~]# tail -n 1 /etc/passwd
Oracle:x:3000:3000::/home/database:/bin/bash
[root@localhost ~]# userdel -r Oracle
[root@localhost ~]# tail -n 1 /etc/passwd
lishuai:x:500:500:davachi:/home/lishuai:/bin/bash
groupmod:
做用:組屬性修改
使用格式:
groupmod[OPTION] GROUPNAME
-nGROUP_NAME
-gGID
gpasswd:設定組密碼
newgrp:切換基本組爲指定的組
groupdel:刪除組