用戶的管理

用戶和組管理的相關命令:

                   useraddusermodpasswduserdel

                   groupaddgroupmodgpasswdgroupdel

                   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,所屬附加組databasesqlID號爲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:

 

 

suswitch user, 切換用戶或以其它用戶的身份執行命令;

                            切換方式:

                                     suUSERNAME: 非完全切換;非登錄式切換

                                     su- USERNAMEsu -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

 

                                     -Llock 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$N9xUWJyWSsjPdzW0zyjV8RlafMuA1TXjfHCDMXq2hF37I6zrtHz64eh5YRy43sMjdwWY6G.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 ~]#

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章