1. 程式人生 > >30.用戶和組管理命令

30.用戶和組管理命令

刪除用戶 新建 包括 gid dd命令 添加 user 刪除 清除

linux系統的用戶賬號的管理命令:
添加用戶:useradd命令
修改用戶:usermod命令
刪除用戶:userdel命令
修改用戶密碼:passwd命令

1.添加用戶:useradd命令

        選項:
            -c comment 指定一段註釋性描述。
            -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
            -g 用戶組 指定用戶所屬的用戶組。
            -G 用戶組,用戶組 指定用戶所屬的附加組。
            -s Shell文件 指定用戶的登錄Shell。
            -u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。

實例1
~]# useradd –d /usr/sam -m sam

此命令創建了一個用戶sam,其中-d和-m選項用來為登錄名sam產生一個主目錄/usr/sam(/usr為默認的用戶主目錄所在的父目錄)。

實例2
~]# useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一個用戶gem,該用戶的登錄Shell是 /bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。

這裏可能新建組:#groupadd group及groupadd adm

增加用戶賬號就是在/etc/passwd文件中為新用戶增加一條記錄,同時更新其他系統文件如/etc/shadow, /etc/group等。

Linux提供了集成的系統管理工具userconf,它可以用來對用戶賬號進行統一管理。

2.修改用戶:usermod命令

        修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等

        常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。

        另外,有些系統可以使用選項:-l 新用戶名

        這個選項指定一個新的賬號,即將原來的用戶名改為新的用戶名。

例如:
~]# usermod -s /bin/ksh -d /home/z –g developer sam

此命令將用戶sam的登錄Shell修改為ksh,主目錄改為/home/z,用戶組改為developer。

3.刪除用戶:userdel命令

    如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄

    常用的選項是 -r,它的作用是把用戶的主目錄一起刪除。

例如:
~]# userdel -r sam

此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。

4.修改用戶密碼:passwd命令

    passwd命令用來更改使用者的密碼

            選項:

                    -d 刪除密碼
                    -f 強制執行
                    -k 更新只能發送在過期之後
                    -l 停止賬號使用
                    -S 顯示密碼信息
                    -u 啟用已被停止的賬戶
                    -x 設置密碼的有效期
                    -g 修改群組密碼
                    -i 過期後停止用戶賬號

        實例:

                [root@localhost ~]# passwd docker
                        更改用戶 docker 的密碼 。
                        新的 密碼:
                        重新輸入新的 密碼:
                        passwd:所有的身份驗證令牌已經成功更新。

            [root@localhost ~]# passwd -S docker
                    docker PS 2019-01-22 0 99999 7 -1 (密碼已設置,使用 SHA512 算法。)

                [root@localhost ~]# passwd -d docker
                    清除用戶的密碼 docker。
                    passwd: 操作成功

Linux系統用戶組的管理

                進程一其發起者的身份運行;
                            進程對文件的訪問權限,取決於發起此進程的用戶權限;
                系統用戶:為了能夠讓那後臺進程

組命令:
groupadd命令:添加組
groupmod命令:修改組
groupdel命令:刪除組

groupadd命令:添加組

            選項:
                    -g:指定新建工作組的id; 默認是上一個組的GID+1;
                     -r:創建系統組,系統組的組ID小於500;

                實例:

                    ~]# groupadd mygrp
                    ~]# groupadd -r -g 306 mysql

                        [root@localhost ~]# tail -10 /etc/group
                        stapdev:x:158:
                        itxuezhe:x:1000:
                        apache:x:48:
                        gentoo:x:1001:
                        centos:x:1002:
                        docker:x:1003:
                        mysql:x:982:
                        mygrp:x:1004:
                        testgrp:x:981:
                        mariadb:x:306:

groupmod命令:修改組

        選項:

                -g GID: 修改GID;
                -n new_name:修改組名,將用戶組的名字改為新名字
                -o 與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同。

            實例:

                    [root@localhost ~]# tail -2 /etc/group
                    testgrp:x:981:
                    mariadb:x:306:

                    [root@localhost ~]# groupmod -g 702 mariadb
                    #把mariadb的GID修改為702

                    [root@localhost ~]# tail -2 /etc/group
                    testgrp:x:981:
                    mariadb:x:702:

                    [root@localhost ~]# groupmod -n hello mariadb
                    [root@localhost ~]# tail -2 /etc/group
                    testgrp:x:981:
                    hello:x:702:
                    #把mariadb組修改為hello,組GID還是702

groupdel命令:刪除組

                選項:

                groupdel [選項] GROUP

                實例:

                            [root@localhost ~]# groupdel hello 
                            [root@localhost ~]# groupdel testgrp 

                            [root@localhost ~]# tail /etc/group
                            stapusr:x:156:
                            stapsys:x:157:
                            stapdev:x:158:
                            itxuezhe:x:1000:
                            apache:x:48:
                            gentoo:x:1001:
                            centos:x:1002:
                            docker:x:1003:
                            mysql:x:982:
                            mygrp:x:1004:

30.用戶和組管理命令