這篇文章給大家分享的是有關(guān)Linux中如何創(chuàng)建修改刪除用戶和組的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為冠縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及冠縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計、冠縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!介紹
在日常的維護(hù)過程中創(chuàng)建用戶操作用的相對會多一些,但是在這個過程中涉及到的知識點(diǎn)就不單單就是useradd了,接下來就來詳細(xì)了解賬號管理的相關(guān)信息。
用戶信息
先從用戶信息開始分析,可以通過查詢/etc/password文件,每一行代表一個用戶信息
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin mysql:x:496:501::/home/mysql:/bin/bash
每個冒號分隔一部分,整行總共分為7個部分。
1.用戶名
2.用戶密碼,早期版本的賬號密碼是直接存在這里,為了兼容所以也保留下了這部分,用X代替。
3.UID:所屬的用戶ID,每個文件的前面都有該文件所屬的用戶和組,其實(shí)存的是UID只不過是通過UID再去etc/password、/etc/shadow中找到對應(yīng)的UID和GID的名稱。
超級用戶的uid=0
系統(tǒng)用戶(1-499):其中1-99是系統(tǒng)創(chuàng)建的,100-499是用戶創(chuàng)建的系統(tǒng)賬戶,系統(tǒng)用戶不能登入但是可以執(zhí)行系統(tǒng)的一些命令,這個跟最后指定的shell有關(guān);有一個特殊的shell是/sbin/nologin
普通用戶(500-65535)
4.GID:賬號所屬的用戶組ID,和/etc/group組文件有關(guān)聯(lián)
5.用戶描述
6.用戶的家目錄:創(chuàng)建用戶的家目錄默認(rèn)是在/home/用戶/,在創(chuàng)建用戶的時候可以指定用戶的家目錄,系統(tǒng)用戶的家目錄比較特殊,比如root用戶的家目錄是/root
7.shell:shell是終端和kernel(內(nèi)核)溝通的橋梁、內(nèi)核再和低層的硬件交互(包括CPU、主板、硬盤、顯卡、光驅(qū)等),linux默認(rèn)的shell是/bin/bash
密碼信息
用戶密碼文件中每一行記錄一個用戶的密碼信息,總共有九個部分
[root@localhost ~]# cat /etc/shadow root:$1$4/CBv0UU$GZ1mEvqxy6/9UaTGI9YUT0:16862:0:99999:7:::
1.用戶名:對應(yīng)/etc/password文件中的用戶信息
2.密碼:密碼存的是密文
3.最近更改密碼的日期:linux將1970年1月1日作為1,所以上面的16862是累加的,具體就不去算了
4.密碼不可被更改的天數(shù):0代表密碼隨時可以被更改,通常可以用來設(shè)置某個用戶在多少天密碼不能被更改
5.密碼需要重新更改的天數(shù):99999為273年,改時間是在第3部分的基礎(chǔ)上再相加的。
6.密碼需要修改前的警告天數(shù):改天數(shù)是在第5的基礎(chǔ)上計算的,這里默認(rèn)是7天也就是密碼在需要更改前的第7天開始就發(fā)出警告。
7.密碼過期后賬號寬限的天數(shù):當(dāng)密碼超過了需要更改的天數(shù)后,如果用戶依然沒有更改密碼,那么該密碼就過期了,在過期的這幾天里密碼依舊可以登入當(dāng)用戶在寬限的時間內(nèi)登入系統(tǒng)系統(tǒng)會強(qiáng)制用戶修改密碼,如果用戶在寬限的天內(nèi)還未修改密碼那么密碼就永久過期無法再登入,只有賬戶超出了密碼過期的天數(shù)之后賬戶才失效,所以一個賬戶總的有效時間是3+6+7。
8.用戶失效的日期:改日期同第3部分一樣都是從1970年1月1日開始計算出來的數(shù)字,超過這個日期之后無論用戶密碼是否過期用戶都失效不能再使用,改日期通常會用在規(guī)定一個用戶在規(guī)定的日期之后就用戶就不能使用的收費(fèi)系統(tǒng)中。
9.保留部分
計算當(dāng)前日期通過1970年換算過來的數(shù)字
[root@localhost ~]# echo $(($(date +'%s')/86400+1)) 16927
計算指定日期通過1970年換算過來的數(shù)字
[root@localhost ~]# echo $(($(date --date="2016-01-01" +'%s')/86400+1)) 16802
創(chuàng)建用戶
明白了上面的概念之后就可以來創(chuàng)建用戶了,創(chuàng)建用戶的命令是useradd,接下來看幾個主要的參數(shù)。
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-m\M] [-c 說明] [-d 家目錄絕對路徑] [-s shell] 賬號名
-c, --comment COMMENT 用戶說明 -d, --home-dir HOME_DIR 用戶的家目錄 -D, --defaults 默認(rèn)的用戶配置 -e, --expiredate EXPIRE_DATE 用戶的失效日期,這里需要指定的是從1970年1月1日開始計算出來的數(shù)字,比如16925代表2016年5月4日過期,對應(yīng)密碼文件的第8部分 -f, --inactive INACTIVE 指定密碼過期的時間,這里指定的是數(shù)字,比如10代表密碼在過期的10天內(nèi)還可以登入但是登入后需要強(qiáng)制修改密碼, 對應(yīng)密碼文件的第7部分 -g, --gid GROUP 用戶的GID -G, --groups GROUPS 列出用戶還能加人的組、次要組 -h, --help 幫助信息 -k, --skel SKEL_DIR use this alternative skeleton directory -K, --key KEY=VALUE override /etc/login.defs defaults -l, --no-log-init do not add the user to the lastlog and faillog databases -m, --create-home 強(qiáng)制需要創(chuàng)建家目錄 -M, --no-create-home 強(qiáng)制不創(chuàng)建家目錄 -N, --no-user-group 不創(chuàng)建用戶的組名和用戶名一樣 -o, --non-unique 允許創(chuàng)建的用戶uid相同,默認(rèn)情況下用戶的UID是唯一的,加上-o參數(shù)可以創(chuàng)建相同UID的不用用戶 -p, --password PASSWORD 指定創(chuàng)建用戶的密碼,這里的密碼存儲的是密文,所以還需要知道密文對應(yīng)的明文密碼是多少 -r, --system 創(chuàng)建一個系統(tǒng)用戶 -s, --shell SHELL 指定用戶的shell -u, --uid UID 指定用戶的uid -U, --user-group 創(chuàng)建的用戶組名同用戶名,這是默認(rèn)的 -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
1.創(chuàng)建用戶test
創(chuàng)建用戶不加參數(shù)默認(rèn)會創(chuàng)建一個同名的用戶組、密碼為空,用戶的UID和GID都是500之后在現(xiàn)有的UID和GID的基礎(chǔ)上往后自動添加、默認(rèn)會創(chuàng)建一個同名的家目錄家目錄的默認(rèn)權(quán)限是700
[root@localhost ~]# useradd test [root@localhost ~]# grep test /etc/passwd /etc/shadow /etc/group /etc/passwd:test:x:501:502::/home/test:/bin/bash /etc/shadow:test:!!:16925:0:99999:7::: /etc/group:test:x:502: [root@localhost ~]# ll -d /home/test drwx------. 4 test test 4096 May 4 16:25 /home/test
2.創(chuàng)建用戶new備注用戶為test,指定用戶UID為600,用戶的組初始組為test、用戶的次要組為mysql,指定用戶的失效日期(注意這里的失效日期也是需要通過1970年1月1日進(jìn)行換算)、指定用戶的過期天數(shù)
3.創(chuàng)建系統(tǒng)用戶old
創(chuàng)建的系統(tǒng)用戶雖然在用戶文件中有指定家目錄,但是實(shí)際上在home目錄下并不會創(chuàng)建對應(yīng)用戶的目錄,且不會創(chuàng)建用戶郵件通知目錄。
4.創(chuàng)建不允許登入的用戶
5.指定用戶家目錄
先創(chuàng)建用戶家目錄
[root@localhost ~]# mkdir -p /test/home [root@localhost ~]# mkdir /test/home/testuser
創(chuàng)建用戶并指定家目錄
[root@localhost ~]# useradd -d /test/home/testuser testuser useradd: warning: the home directory already exists. Not copying any file from skel directory into it.
注意:這里的家目錄是絕對路徑,也就是你指定了那個目錄家目錄就是哪個目錄不會在你指定的目錄下再創(chuàng)建目錄,這里會有警告說用戶不能拷貝文件到家目錄,因?yàn)榧夷夸浀臋?quán)限還是之前創(chuàng)建目錄用戶的權(quán)限,這個時候需要給家目錄賦予用戶擁有者。
[root@localhost ~]# chown testuser:testuser /test/home/testuser [root@localhost ~]# ll /test/home total 4 drwxr-xr-x. 2 testuser testuser 4096 May 5 06:22 testuser [root@localhost ~]#
刪除用戶
userdel [options] LOGIN
-f, --force 強(qiáng)制刪除用戶,不管該用戶是否在使用
-h, --help 幫助信息
-r, --remove 刪除用戶和組并且刪除用戶的家目錄和郵件通知目錄
-Z, --selinux-user 刪除SELinux用戶
1.不加參數(shù)刪除用戶
userdel testuser
不加參數(shù)刪除只會刪除用戶、密碼、用戶組,不會刪除用戶的家目錄和用戶的郵件目錄
2.刪除用戶同時刪除用戶的家目錄和郵件通知目錄
userdel -r test
使用-r參數(shù)刪除用戶會同時刪除用戶的家目錄和用戶的郵件通知目錄,如果用戶的用戶組是使用其它用戶的用戶組,其它用戶組不會被刪除。
用戶組
創(chuàng)建用戶組
groupadd groupname
刪除用戶組
groupdel groupname
修改用戶組
--修改用戶組名 groupmod -h newname oldname --修改用戶組ID groupmod -g newgid oldgid
單獨(dú)對用戶組的操作用的不會很多,這里只需要了解一下就好。
感謝各位的閱讀!關(guān)于“Linux中如何創(chuàng)建修改刪除用戶和組”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。