天天看點

使用者配置檔案與密碼配置檔案使用者檔案密碼檔案使用者組管理使用者管理使用者密碼管理

[root@jinkai01 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin 以:為隔離分段 第一段:使用者名 第二段:以前密碼存放地 第三段:使用者uid 第四段:組gid 第五段:注釋 第六段:使用者家目錄 第七段:使用者的shell
[root@jinkai01 ~]# head -n2 /etc/shadow root:$6$iika5pjh$mvkptcvxtu1lgan8mivrix2lb05bezfucych1hc9s6zbqdukjavanycdlpwzwc3ihd/gmztqwedeal9uxptsc/:18478:0:99999:7::: bin:*:17834:0:99999:7::: 分為9段,其中密碼已經被加密 第二段:密碼 第三段:上次更改密碼的時間(1970年-數值年) 第四段:要過多少天你必須更改 0為不需要 第五段:密碼多少天到期; 第六段:密碼到期前的警告; 第七段:賬号失效時段;到期後還有7天時間可以使用;
組檔案 /etc/group 組密碼檔案 /etc/gshadow

增加一個組

指令格式:

groupadd [組名]

[root@jinkai01 ~]# groupadd grp2 [root@jinkai01 ~]# tail -n5 /etc/group postfix:x:89: linuxprobe:x:1000:linuxprobe grp1:x:1003: user1:x:1004: grp2:x:1005:

-g:指定組id

groupadd -g 1005 grp3

[root@jinkai01 ~]# groupadd -g 1006 grp3 grp3:x:1006:

删除一個組(删除組必須把組内的使用者清空才可以)

groupdel [組名]

[root@jinkai01 ~]# groupdel grp3

建立使用者

useradd [參數][使用者名]

實驗1:增加一個使用者名user2

useradd user2

[root@jinkai01 ~]# useradd user2 [root@jinkai01 ~]# tail -n2 /etc/passwd user1:x:1003:1004::/home/user1:/bin/bash user2:x:1004:1006::/home/user2:/bin/bash

-u:指定uid

實驗2:增加一個使用者名user3,指定uid為1005

useradd -u 1005 user3

[root@jinkai01 ~]# useradd -u 1005 user3 user3:x:1005:1007::/home/user3:/bin/bash

-d:指定家目錄

-s:指定shell

-g:指定組

實驗3:建立使用者user4指定組為grp2

[root@jinkai01 ~]# useradd -g grp2 user4 user4:x:1006:1005::/home/user4:/bin/bash

删除使用者

格式:

userdel [使用者名]

userdel user4 删除使用者後使用者的家目錄還是存在的

[root@jinkai01 ~]# userdel user4 [root@jinkai01 ~]# ls /home/ linuxprobe user1 user2 user3 user4

-r:删除使用者時,同時删除家目錄

[root@jinkai01 ~]# userdel -r user3 linuxprobe user1 user2 user4

usermod指令用于修改使用者帳号

usermod可用來修改使用者帳号的各項設定

參數

-c<備注>  修改使用者帳号的備注文字。 -d<登入目錄>  修改使用者登入時的目錄。 -e<有效期限>  修改帳号的有效期限。 -f<緩沖天數>  修改在密碼過期後多少天即關閉該帳号。 -g<群組>  修改使用者所屬的群組。 -g<群組>  修改使用者所屬的附加群組。 -l<帳号名稱>  修改使用者帳号名稱。 -l  鎖定使用者密碼,使密碼無效。 -s<shell>  修改使用者登入後所使用的shell。 -u<uid>  修改使用者id。 -u  解除密碼鎖定。*

更改使用者uid

實驗1:更改user2使用者的uid為1008

指令:usermod -u 1008 user2

[root@jinkai01 ~]# tail -n1 /etc/passwd [root@jinkai01 ~]# usermod -u 1008 user2 user2:x:1008:1006::/home/user2:/bin/bash

更改使用者所屬組

實驗2:更改賬号user005使用者的組為grp3也就是gid為1007

指令:usermod -g grp2 user2

更改使用者家目錄

[root@jinkai01 ~]# tail -n1 /etc/group grp3:x:1007: [root@jinkai01 ~]# usermod -g grp3 user2 user2:x:1008:1007::/home/user2:/bin/bash

實驗3:指定user2的家目錄為/home/user4

[root@jinkai01 ~]# usermod -d /home/user4 user2

更改使用者shell目錄

實驗4:指定user2的shell

usermod -s /sbin/nologin user2

增加使用者所屬組(多個組)

查詢所屬uid gid 組的指令

id [使用者名]

id user2

[root@jinkai01 ~]# id user2 uid=1008(user2) gid=1007(grp3) groups=1007(grp3)

添加到額外擴充組中

usermod -g [組名] [使用者名]

[root@jinkai01 ~]# usermod -g grp2 user2 uid=1008(user2) gid=1007(grp3) groups=1007(grp3),1005(grp2)

更改使用者密碼

passwd [使用者名]

passwd user2

[root@jinkai01 ~]# passwd user2 changing password for user user2. new password: bad password: the password fails the dictionary check - it is based on a dictionary word retype new password: passwd: all authentication tokens updated successfully

**注意:檢視/etc/shadow 檔案中第二清單示密碼,!号為無密碼,号為被鎖定無法登陸使用;

passwd -l [使用者名]

passwd -l user2

[root@jinkai01 ~]# passwd -l user2

locking password for user user2.

passwd: success**

[root@jinkai01 ~]# tail -n1 /etc/shadow user2:!!$6$a0f4dgf0$4oeci5cln7kp9tdpgc5hafztpmkn8qb4hmc60qj6fagb5o8nsh/nceggc/zikyhpftohdtag.9hslb/xqfztj1:18479:0:99999:7:::

passwd -u [使用者名]

passwd -u user2

[root@jinkai01 ~]# passwd -u user2 unlocking password for user user2. passwd: success user2:$6$a0f4dgf0$4oeci5cln7kp9tdpgc5hafztpmkn8qb4hmc60qj6fagb5o8nsh/nceggc/zikyhpftohdtag.9hslb/xqfztj1:18479:0:99999:7:::

更改使用者密碼,隻需要輸入1次密碼;

passwd --stdin 【使用者名】

passwd --stdin user2

[root@jinkai01 ~]# passwd --stdin user2 changing password for user user2 admin123 passwd: all authentication tokens updated successfully.

那麼我們寫腳本時可以使用管道符|一次性給一個賬号改密碼

echo "123456789"|passwd --stdin user2

指令意思就是輸出字元串123456789給passwd --stdin user2 來實作密碼更改

[root@jinkai01 ~]# echo "123456789" | passwd --stdin user2

echo新技能

echo -e 可以在字元串中加入\n來實作換行

echo -e "123456\nabcd"

[root@jinkai01 ~]# echo -e "123456\nabcd" 123456 abcd

根據這個 我們也可以來一次性更改密碼

更改使用者 user2 的密碼 。

[root@jinkai01 ~]# echo -e "admin\nadmin" | passwd user2 mkpasswd

一個生成密碼的小工具

安裝包expect

yum install -y expect

預設随機生成9位密碼

[root@jinkai01 ~]# mkpasswd sfk8ov0p$

-l [數值]:指定生成字元串的長度

-s [數值]:指定特殊符号

-d [數值]:指定多少個數字

指定長度

實驗1:生成長度為12的字元串

[root@jinkai01 ~]# mkpasswd -l 12 6+yxi5fcuskm

指定特殊符号數

實驗2:生成長度為12,特殊符号為0的字元串

[root@jinkai01 ~]# mkpasswd -l 12 -s 0 q1omoohw1cyo

指定數字數

實驗3:生成長度為12,特殊符号為0,數字為8的字元串;

[root@jinkai01 ~]# mkpasswd -l 12 -s 0 -d 8 17n39u6m90u1

繼續閱讀