系统上所有用户的,CentOS下的账户管理

命令这三种方法查看系统中用户的信息,只能存在一个当前生效的群组(初始群组)

经过行使 /etc/passwd 文件,getent 命令,compgen
命令那三种方法查看系统中客户的音讯。

CentOS下的账户管理

大家都通晓,Linux 系统中顾客信息寄存在 /etc/passwd 文件中。

在Linux中,每一种文件都分3类权限:账户自己的权限,账户所在群组的权杖和别的权限。账户和群组是多对多的关系,即贰个账户能够属于多少个群组,叁个群组能够分包三个账户。可是,对于每三个已报到的账户,只可以存在一个脚下生效的群组(起首群组)。
账户管理相关安插文件如下:账户音讯文件是/etc/passwd、账户密码文件是/etc/shadow、群组音信文件是/etc/group、群组密码文件是/etc/gshadow。
1、/etc/passwd文件怎么看
图片 1
如上海体育场合,/etc/passwd文件中每一表现贰个账户,以冒号作为分割的各种字段意思按序号分别如下:
[1] 账户名。改名使用命令usermod -l
[系统上所有用户的,CentOS下的账户管理。2] 密码,该字段已启用。账户密码在/etc/shadow文件配置
[3] UID,账户的独一标记。影响该字段值的命令包罗:useradd -u、usermod
-u
[4]系统上所有用户的,CentOS下的账户管理。系统上所有用户的,CentOS下的账户管理。
GID,初叶群组的独一标志,关联/etc/group文件的第1个字段。该群组为账户暗中认可的实用群组(有效群组能够使用newgrp命令进行切换)。影响该字段值的通令富含:useradd
-g、usermod -g
[5] 描述。影响该字段值的一声令下包蕴:useradd -c、usermod -c
[6] 家目录相对路线。影响该字段值的通令包罗:useradd -d、usermod -d
[7]
shell,账户暗许启用的shell,当为/sbin/nologin时账户不只怕登入。账户能应用的shell可以用命令chsh
-l查询(查询结果为/etc/shells文件的故事情节)。影响该字段值的通令包含:useradd
-s、usermod -s
2、/etc/shadow文件怎么看
 图片 2
如上海体育场合,文件/etc/shadow的每一行对应一个账户的密码消息,以冒号作为分割的各样字段意思按序号分别如下:
[1] 账户名,关联/etc/passwd文件的首个字段
[2]
密码,加密后的密文,加密算法由/etc/login.defs文件中的ENCWranglerYPT_METHOD内定,此处为SHA512。影响该字段值的一声令下富含:usermod
-L(前置!!冻结)、usermod -U(解冻)、passwd -l(冻结)、passwd -u(解冻)、
[3]
成立日期,上图显示的是四个数字,该数字代表自一九七〇-01-01来讲所经历的造化。影响该字段值的一声令下包罗:chage
-d
[4]
密码创设之后需经历多少天工夫再一次修改,0意味无此限制。影响该字段值的一声令下包涵:passwd
-n、chage -m
[5]
密码创制多少天之后就过期,99999天也就是99999/365年,好几百多年表示密码不会晚点。影响该字段值的吩咐包含:passwd
-x、chage -M
[6]
密码过期前某个天起先向客户发送警告消息。影响该字段值的授命包含:passwd
-w、chage -W
[7]
密码过期后仍可以宽许多少天,在此时间段内顾客还是能够登录和退换密码,过了这么些时刻段顾客就不能够登入了。影响该字段值的吩咐满含:useradd
-f、usermod -f、passwd -i、chage -I
[8]
失效日期,叁个数字,该数字代表自1967-01-01以来所经历的天数。过了这一天客户的密码就失效,无论是还是不是过期均不得再登陆。影响该字段值的下令包蕴:useradd
-e、usermod -e、chage -E
[9] 保留
系统上所有用户的,CentOS下的账户管理。3、/etc/group文件怎么看
图片 3
如上海教室,文件/etc/group的每一行对应贰个群组,以冒号作为分割的各类字段意思按序号分别如下:
[1] 群组名。改名使用命令:groupmod -n
[2] 密码,已启用,群组密码在/etc/gshadow文件中布局
[3]系统上所有用户的,CentOS下的账户管理。
GID,群组唯一标记,由/etc/passwd文件中的第二个字段关联,作为对应账户的伊始群组。影响该字段值的吩咐富含:groupadd
-g、groupmod -g
[4]
帐号名列表,以逗号隔绝。那一个帐号可以积极切换为该群组的成员,如上海体育场合客户mophee(开首群组为mophee)可利用newgrp命令将其收效群组切换为mysql或mail。影响该字段值的一声令下包涵:useradd
-G、usermod -[a]系统上所有用户的,CentOS下的账户管理。G
4、/etc/gshadow文件怎么看
图片 4
如上海教室,文件/etc/gshadow中的每一行对应三个群组的密码音讯,以冒号作为分割后的种种字段意思按序号分别如下:
[1] 群组名,与/etc/group中的群组名对应
[2] 密码,加密后的密文,使用命令gpasswd
group_name可安装群组密码,使用gpasswd -r group_name删除密码
[3] 群组管理员,使用命令gpasswd -A user1,… group_name
可安装群组的管理人。注:群组管理员可以为群组成员设置密码
[4]
群组成员,该字段与/etc/group的第2个字段同样且同步转移,除了行使useradd
-G、usermod -G命令维护外,还可采纳gpasswd

那是多个分包种种顾客中央音讯的文书文件。当大家在系统中开创三个客户,新客户的详细消息就能够被增多到那一个文件中。

-[adM]开展维护。影响该字段值的授命包含:useradd -G、usermod -[a]G

答辩上,修改上述4个布局文件就能够进行账户管理,但不提出如此进行账户管理。Linux提供丰富的授命对账户实行田间管理,尽管这几个命令实质上也是修改那4个文件的剧情,但提议利用这个命令:
useradd:增添账户

useradd mophee
#确立群组mophee,创建账户mophee,创建家目录/home/mophee且权限为700。无密码,无法登入。
useradd -u 519 -g users mophee2
#确立账目mophee2并内定UID为519,钦命初阶群组为users
useradd -r mophee3
#树立系统帐号mophee3,UID和GID范围:100~499,无家目录
 

usermod:修改账户
userdel:删除账户

userdel mophee #删去账户mophee:
#1、从/etc/passwd和/etc/shadow删除;
#2、从/etc/group和/etc/gshadow的末梢一个字段除移;
#3、若其发轫群组无另外成员账户,则删除群组
userdel -r mophee #除去剔除账户外,还删除其家目录和邮件目录
 

passwd:账户密码管理

passwd -S mophee #列出帐号mophee相关的密码音信
 

图片 5
chage:修改账户密码,日常客商可用此命令修改本身的密码

chage -l mophee #列出帐号mophee相关的密码音信
 

图片 6
groupadd:增添群组
groupmod:修改群组
groupdel:删除群组
gpasswd:群组密码、群组管理员和成员管理
groups:查看所属群组

groups mophee #列出帐号mophee所属的群组
 

图片 7

/etc/passwd 文件将各样顾客的基本信息记录为文件中的一行,一行中含有 7
个字段。

newgrp:切换有效群组

与账户管理有关的其余配置文件:/etc/login.defs、/etc/default/useradd(使用命令useradd时的某个暗中同意值)。
1、文件/etc/default/useradd怎么看
图片 8
GROUP:预设的群组ID
HOME:家目录的尺度目录,增添账户且创制其家目录等同于在该原则目录下新建一个与账户名同名的目录,影响/etc/passwd的第6个字段
INACTIVE:设置密码过期后是还是不是失效,-1意味着不会失灵,影响/etc/shadow的第7个字段
EXPIRE:密码失效日期,影响/etc/shadow的第8个字段
SHELL:默认的shell,影响/etc/passwd的第7个字段
SKEL:成立家目录是参照的上马内容,即创办家目录时会将该目录下的剧情复制一份到家目录中
CREATE_MAIL_SPOOL:是还是不是创制对应的mailbox目录,yes/no,yes时会在/var/spool/mail/目录下开创与帐号名同名的目录用于存款和储蓄该账户的邮件
2、文件/etc/login.defs怎么看
MAIL_DI中华V:邮件目录的规范化目录,日常为/var/spool/mail
PASS_MAX_DAYS:自密码创设之日起到过期的造化,影响/etc/shadow的第5个字段
PASS_MIN_DAYS:密码创造之后差异意更换的运气,影响/etc/shadow的第三个字段
PASS_MIN_LEN:设置密码允许的最短长度,已启用,由pam模块代替该意义
PASS_WARN_AGE:密码过期事先早首发送警告音信的天命,影响/etc/shadow的第6个字段
UID_MIN:小于该数字值的UID均为系统帐号,默许设为500。使用useradd且未增多-r选项时加上的账户UID均大于此值
UID_MAX:系统辅助最大的UID值
GID_MIN:与UID_MIN作用看似,影响的是GID
GID_MAX:与UID_MAX功效看似,影响的是GID
CREATE_HOME:私下认可是或不是创建家目录,yes/no
UMASK:家目录暗许权限的反码,即该值为077时,家目录的权能为700
USERGROUPS_ENAB:设置在选拔userdel命令删除账户时,借使其初步群组下没有其余成员账户,是不是将群组也删除。yes/no
ENCRYPT_METHOD:加密算法,如SHA512

在Linux中,各类文件都分3类权限:账户本身的权能,账户所在群组的权位和其它权限。账户和群组是多对多的关系,即一…

/etc/passwd 文件的一整套代表三个单身的顾客。该文件将客户的音讯分为 3
个部分。

  1. *第1部分:`root`用户信息
  2. *第2部分:系统定义的账号信息
  3. *第3部分:真实用户的账户信息

率先有的是 root
账户,那意味着管理员账户,对系统的各样方面都有一同的权位。

第二盘部是系统定义的群组和账户,这个群组和账号是没有错安装和立异系统软件所必须的。

其三局地在最后,代表三个选择系统的实际客商。

在创立新客户时,将修改以下 4 个文本。

  1. *`/etc/passwd`:用户账户的详细信息在此文件中更新。
  2. *`/etc/shadow`:用户账户密码在此文件中更新。
  3. *`/etc/group`:新用户群组的详细信息在此文件中更新。
  4. *`/etc/gshadow`:新用户群组密码在此文件中更新。

** 提出阅读 : **

  • 怎么在 Linux
    上查看成立客商的日期
  • 怎么着在 Linux 上查看 A
    客商所属的群组
  • 什么样强制客户在下二遍登陆 Linux
    系统时修改密码

 

方法 1 :使用 /etc/passwd 文件

利用别的二个像 catmoreless 等公事操作命令来打字与印刷 Linux
系统上创办的顾客列表。

/etc/passwd 是贰个文件文件,在这之中包蕴了登陆 Linux
系统所必备的种种顾客的音信。它保存客户的有用消息,如客商名、密码、顾客ID、群组 ID、客商 ID 音信、客户的家目录和 Shell 。

/etc/passwd
文件将各类顾客的详细消息写为一行,在那之中包蕴四个字段,各类字段之间用冒号
: 分隔:

  1. #cat/etc/passwd
  2. root:x:0:0:root:/root:/bin/bash
  3. bin:x:1:1:bin:/bin:/sbin/nologin
  4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  5. adm:x:3:4:adm:/var/adm:/sbin/nologin
  6. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  7. sync:x:5:0:sync:/sbin:/bin/sync
  8. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  9. halt:x:7:0:halt:/sbin:/sbin/halt
  10. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  11. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
  12. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  13. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  14. tcpdump:x:72:72::/:/sbin/nologin
  15. 2gadmin:x:500:10::/home/viadmin:/bin/bash
  16. apache:x:48:48:Apache:/var/www:/sbin/nologin
  17. zabbix:x:498:499:ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologin
  18. mysql:x:497:502::/home/mysql:/bin/bash
  19. zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin
  20. rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
  21. 2daygeek:x:503:504::/home/2daygeek:/bin/bash
  22. named:x:25:25:Named:/var/named:/sbin/nologin
  23. mageshm:x:506:507:2gAdmin-Magesh M:/home/mageshm:/bin/bash

7 个字段的详细新闻如下。

  • 用户名magesh): 已创制顾客的顾客名,字符长度 1 个到 12个字符。
  • 密码x):代表加密密码保存在 `/etc/shadow 文件中。
  • **用户 ID(506):代表客户的 ID 号,每一个客商都要有一个独一的 ID
    。UID 号为 0 的是为 root 客户保留的,UID 号 1 到 99
    是为系统客商保留的,UID 号 100-999 是为系统账户和群组保留的。
  • **群组 ID (507):代表群组的 ID 号,各类群组都要有二个独一的
    GID ,保存在 /etc/group 文件中。
  • **客户音信(2g Admin - Magesh M):代表描述字段,能够用来说述顾客的消息(LCTT
    译注:此处原来的书文疑有误)。
  • **家目录(/home/mageshm):代表客户的家目录。
  • **Shell(/bin/bash):代表客户使用的 shell 类型。

你能够利用 awkcut 命令仅打字与印刷出 Linux
系统中负有客户的顾客名列表。显示的结果是完全一样的。

  1. # awk -F':''{ print $1}'/etc/passwd
  2. or
  3. #cut-d:-f1 /etc/passwd
  4. root
  5. bin
  6. daemon
  7. adm
  8. lp
  9. sync
  10. shutdown
  11. halt
  12. mail
  13. ftp
  14. postfix
  15. sshd
  16. tcpdump
  17. 2gadmin
  18. apache
  19. zabbix
  20. mysql
  21. zend
  22. rpc
  23. 2daygeek
  24. named
  25. mageshm

 

方法 2 :使用 getent 命令

getent 命令呈现 Name Service Switch
库帮助的数据库中的条约。这么些库的布署文件为 /etc/nsswitch.conf

getent 命令突显类似于 /etc/passwd
文件的客户详细信息,它将各种客户详细新闻呈现为包涵多少个字段的单行。

  1. # getent passwd
  2. root:x:0:0:root:/root:/bin/bash
  3. bin:x:1:1:bin:/bin:/sbin/nologin
  4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  5. adm:x:3:4:adm:/var/adm:/sbin/nologin
  6. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  7. sync:x:5:0:sync:/sbin:/bin/sync
  8. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  9. halt:x:7:0:halt:/sbin:/sbin/halt
  10. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  11. ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
  12. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  13. sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
  14. tcpdump:x:72:72::/:/sbin/nologin
  15. 2gadmin:x:500:10::/home/viadmin:/bin/bash
  16. apache:x:48:48:Apache:/var/www:/sbin/nologin
  17. zabbix:x:498:499:ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologin
  18. mysql:x:497:502::/home/mysql:/bin/bash
  19. zend:x:502:503::/u01/zend/zend/gui/lighttpd:/sbin/nologin
  20. rpc:x:32:32:RpcbindDaemon:/var/cache/rpcbind:/sbin/nologin
  21. 2daygeek:x:503:504::/home/2daygeek:/bin/bash
  22. named:x:25:25:Named:/var/named:/sbin/nologin
  23. mageshm:x:506:507:2gAdmin-Magesh M:/home/mageshm:/bin/bash

7 个字段的详细消息如上所述。(LCTT 译注:此处内容重复,删节)

你同样能够采用 awkcut 命令仅打印出 Linux
系统中存有客户的客商名列表。彰显的结果是平等的。

 

方法 3 :使用 compgen 命令

compgenbash 的停放命令,它将显得所有可用的指令,别称和函数。

  1. # compgen -u
  2. root
  3. bin
  4. daemon
  5. adm
  6. lp
  7. sync
  8. shutdown
  9. halt
  10. mail
  11. ftp
  12. postfix
  13. sshd
  14. tcpdump
  15. 2gadmin
  16. apache
  17. zabbix
  18. mysql
  19. zend
  20. rpc
  21. 2daygeek
  22. named
  23. mageshm

via:

作者:Magesh Maruthamuthu
选题:lujun9972
译者:SunWave
校对:wxy

本文由 LCTT
原创编写翻译,Linux中国
荣誉推出

Linux公社的RSS地址:

本文恒久更新链接地址

图片 9