2015.8.25做業(練習):用戶管理各命令的使用

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.

相關文章
相關標籤/搜索