您好,登錄后才能下訂單哦!
用戶和組管理的相關命令:
useradd、usermod、passwd、userdel
groupadd、groupmod、gpasswd、groupdel
chage,chsh, chfn
id,w, who, whoami
su
useradd:創建用戶
-r: 創建系統用戶
-uUID: 指定UID;
-gGID: 指定用戶所屬基本組,此組必須事先存在
-c'COMMENT':
-d/PATH/TO/SOMEWHERE:指定用戶的主目錄路徑;此位置不能事先存在,否則,其用戶相關配置文件將被復制;/etc/skel
-sSHELL:設定用戶的默認shell;
cat/etc/shells
-GGID,...:指定所屬的附加組;
-M:不給用戶創建家目錄;
練習:創建用戶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 [root@localhost ~]# tail /etc/group 查看創建的用戶 fuse:x:494: sshd:x:74: stapusr:x:156: stapsys:x:157: stapdev:x:158: tcpdump:x:72: slocate:x:21: database:x:500:Oracle sql:x:501:Oracle Oracle:x:3000: [root@localhost ~]# tail -1 /etc/group Oracle:x:3000: [root@localhost ~]# tail -1 /etc/passwd Oracle:x:3000:3000::/home/database:/bin/bash [root@localhost ~]#
groupadd:創建組
groupadd[OPTIONS] GROUPNAME
-gGID: 指明組ID;
-r: 創建系統組;
[root@localhost ~]# groupadd database --創建兩個附加的組 [root@localhost ~]# groupadd sql [root@localhost ~]# tail -3 /etc/group database:x:500:Oracle sql:x:501:Oracle Oracle:x:3000:
su:switch user, 切換用戶或以其它用戶的身份執行命令;
切換方式:
suUSERNAME: 非完全切換;非登錄式切換
su- USERNAME或su -l USERNAME: 完全切換;登錄式切換
僅以指定用戶的身份執行指定的命令:
su- USERNAME -c 'COMMAND'
非完全切換;非登錄式切換:
[root@localhost ~]# su Oracle [Oracle@localhost root]$ id uid=3000(Oracle) gid=3000(Oracle)groups=3000(Oracle),500(database),501(sql) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [Oracle@localhost root]$ pwd /root [Oracle@localhost root]$ exit
完全切換;登錄式切換
[root@localhost ~]# su - Oracle [Oracle@localhost ~]$ id uid=3000(Oracle) gid=3000(Oracle)groups=3000(Oracle),500(database),501(sql) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [Oracle@localhost ~]$ pwd /home/database [Oracle@localhost ~]$
usermod:用戶屬性修改
usermod[OPTION]... LOGIN
-uUID
-gGID
-GGID[,GID,...]:修改用戶所屬的附加組;同時使用-a選項;
-sSHELL
-c'COMMENT'
-dHOME: 修改用戶的家目錄為新位置時,用戶原來的文件是不會被移動至新家;-m選項可實現同時將其遷至新的家目錄;
-lLOGIN:
-L:lock user
-U:unlock user
[root@localhost ~]# id Oracle uid=3000(Oracle) gid=3000(Oracle)groups=3000(Oracle),500(database),501(sql) [root@localhost ~]# usermod -u 3001 Oracle [root@localhost ~]# id Oracle uid=3001(Oracle) gid=3000(Oracle)groups=3000(Oracle),500(database),501(sql)
passwd:給用戶添加密碼
passwd[OPTION] [UserName]
-l:lock user
-u:unlock user
-nmindays: 最短使用期限;
-xmaxdays:默認為99999天;
-wwarndays:
-iinactivedays:
--stdin:從標準輸出接收用戶密碼;
[root@localhost ~]# passwd Oracle Changing password for user Oracle. New password: BAD PASSWORD: it is based on a dictionaryword BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updatedsuccessfully. [root@localhost ~]# [root@localhost ~]# echo 'centos' | passwd--stdin Oracle Changing password for user Oracle. passwd: all authentication tokens updatedsuccessfully. [root@localhost ~]#
userdel:刪除用戶
userdel[-r] USERNAME
-r:刪除用戶的同時刪除其家目錄;
[root@localhost ~]# id Oracle uid=3000(Oracle) gid=3000(Oracle)groups=3000(Oracle),500(database),501(sql) [root@localhost ~]# userdel -r Oracle [root@localhost ~]# id Oracle id: Oracle: No such user
groupmod: 組屬性修改
groupmod[OPTION] GROUPNAME
-nGROUP_NAME
-gGID
[root@localhost ~]# cat /etc/group | tail-n 2 database:x:500: sql:x:501: [root@localhost ~]# groupmod database -nssd --將database組名換成ssd [root@localhost ~]# cat /etc/group | tail-n 2 sql:x:501: ssd:x:500: [root@localhost ~]# groupmod -g 505 sql [root@localhost ~]# cat /etc/group | tail-n 2 --將sql的gid換成505 sql:x:505: ssd:x:500: [root@localhost ~]#
gpasswd:設定組密碼
參數: -a:添加用戶到組 -d:從組刪除用戶 -A:指定管理員 -M:指定組成員和-A的用途差不多 -r:刪除密碼 -R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組
[root@localhost ~]# gpasswd ssd
Changing the password for group ssd
New Password:
Re-enter new password:
[root@localhost ~]# cat /etc/gshadow | tail -n 2
sql:!::
ssd:$6$zE9XjK8uLG/aA$N9xUWJyWSsjPdzW0zyjV8RlafMuA1TXjfHCDMXq2hF37I6zrtHz64eh6YRy43sMjdwWY6G.wBnQMGZ9bgdiIq.::
[root@localhost ~]#
newgrp:切換基本組為指定的組
[root@localhost ~]# newgrp ssd
groupdel:刪除組
[root@localhost ~]# cat /etc/group | tail -n 2
sql:x:505:
ssd:x:500:
[root@localhost ~]# groupdel ssd
[root@localhost ~]# cat /etc/group | tail -n 2
slocate:x:21:
sql:x:505:
[root@localhost ~]#
chage:修改用戶賬號及密碼的屬性
chage [OPTION]... LOGIN
參數意思: -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。 -M 密碼保持有效的最大天數。 -W 用戶密碼到期前,提前收到警告信息的天數。 -E 帳號到期的日期。過了這天,此帳號將不可用。 -d 上一次更改的日期 -I 停滯時期。如果一個密碼已過期這些天,那么此帳號將不可用。 -l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。
[root@localhost ~]# useradd oracle
[root@localhost ~]# cat /etc/passwd | tail-n 1
oracle:x:500:500::/home/oracle:/bin/bash
[root@localhost ~]# chage -l oracle
Last password change : Aug 27,2015
Password expires : never
Password inactive : never
Account expires :never
Minimum number of days between passwordchange : 0
Maximum number of days between passwordchange : 99999
Number of days of warning before passwordexpires : 7
[root@localhost ~]# chage -M 90 oracle
[root@localhost ~]# chage -d 0 -m 0 -M 90-W 15 oracle
[root@localhost ~]# chage -l oracle
Last password change : passwordmust be changed
Password expires : password must be changed
Password inactive :password must be changed
Account expires :never
Minimum number of days between passwordchange : 0
Maximum number of days between passwordchange : 90
Number of days of warning before passwordexpires : 15
[root@localhost ~]#
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。