2015.8.25作業(練習):使用者管理各命令的使用

來源:互聯網
上載者:User

標籤:password   linux   管理員   使用者   

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:組的密碼及相關屬性;

    /etc/passwd:
        name:password:UID:GID:GECOS:directory:shell

        登入名稱:x:UID:GID:comment:主目錄:使用者預設shell

    /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 field

        $6$YNzGOv5VyXxmDU2n$PxariU7Ag0mBlzBoNLWUjubn9OBtoLJauXIfoRqQ1FtZt058FrQKJO6QVJTUXkP4LUKPsiH7ejWo8bg6c4RrC1
            6:密碼編譯演算法


        單向加密:
            提取資料指紋;

            md5, sha1, sha224, sha256, sha384, sha512

            雪崩效應:
            定長輸出:

        相對於Unix元年;
            1970年1月1號;

    /etc/group
        group_name:password:GID:user_list

密碼的複雜性策略:
    1、使用數字、小寫字母、大寫字母、特殊字元四類中至少三類;
    2、足夠長;
    3、使用隨機密碼;
    4、定期更換;

使用者和組管理的相關命令:
        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

[[email protected] ~]# useradd mageedu
[[email protected] ~]# ll -d /home/mageedu
drwx------. 4 mageedu mageedu 4096 8月  30 23:54 /home/mageedu

[[email protected] ~]# 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

[[email protected] ~]# groupadd database  <==首先建立兩個附加組
[[email protected] ~]# groupadd sql

[[email protected] ~]# 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

[[email protected] ~]# groupadd mageedu
[[email protected] ~]# grep mageedu /etc/group /etc/gshadow
/etc/group:mageedu:x:3001:
/etc/gshadow:mageedu:!::     #使用者組的內容與這兩個檔案相關:/etc/group , /etc/gshadow

 

2.將剛才建立的mageedu組名稱更改為Mygroup,GID為201.

[[email protected] ~]# groupmod -g 201 -n Mygroup mageedu

[[email protected] ~]# 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

[[email protected] ~]# id Oracle
uid=3000(Oracle) gid=3000(Oracle) 組=3000(Oracle),503(database),504(sql)

[[email protected] ~]# 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‘

[[email protected] ~]# su wwg8708
[[email protected] root]$

[[email protected] root]$ su -   <==普通使用者切換為root使用者
密碼:
[[email protected] ~]#

[[email protected] ~]# exit    <==離開su的環境
logout
[[email protected] root]$

[[email protected] 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

[[email protected] ~]# 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

執行個體:

[[email protected] ~]# usermod -d /home/bak/ mageedu  #修改mageedu使用者的家目錄

[[email protected] ~]# 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

執行個體:

[[email protected] ~]# passwd mageedu1
更改使用者 mageedu1 的密碼 。
新的 密碼:

[[email protected] ~]# passwd -d mageedu1
清除使用者的密碼 mageedu1。
passwd: 操作成功

 

userdel:刪除使用者
            userdel [-r] USERNAME
                -r:刪除使用者的同時刪除其家目錄;

執行個體:

[[email protected] ~]# userdel -r amdin  
[[email protected] ~]#

groupmod: 組屬性修改
            groupmod [OPTION] GROUPNAME
                -n GROUP_NAME
                -g GID

執行個體:

[[email protected] ~]# useradd test
[[email protected] ~]# groupmod test -n test2 #將test組名換可test2

[[email protected] ~]# groupmod -g 1111 test2  #將test2的gid換成1111

 

gpasswd:設定組密碼

執行個體:

[[email protected] ~]# gpasswd test2        #設定test2組密碼
Changing the password for group test2
New Password:
Re-enter new password:
[[email protected] ~]#

 

newgrp:切換基本組為指定的組

[[email protected] ~]# newgrp test2  登入到test2群組

 

groupdel:刪除群組

[[email protected] ~]# groupdel tests

 

chage:密碼失效是通過此命令來管理的。

  參數意思:
  -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
  -M 密碼保持有效最大天數。
  -W 使用者密碼到期前,提前收到警告資訊的天數。
  -E 帳號到期的日期。過了這天,此帳號將不可用。
  -d 上一次更改的日期
  -I 停滯時期。如果一個密碼已到期這些天,那麼此帳號將不可用。
  -l 例出當前的設定。由非特權使用者來確定他們的密碼或帳號何時到期。
 

[[email protected] ~]# chage -M 90 test #設定密碼有效期間為90天

finger  用 戶名  查看使用者資訊

[[email protected] ~]# finger test
Login: test                       Name:
Directory: /home/test                   Shell: /bin/bash
Never logged in.
No mail.
No Plan.

 

 


 


 

2015.8.25作業(練習):使用者管理各命令的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.