文章目录

  • 1.UID and GID
    • 1.1 用户账号和组账号概述
    • 1.2 用户账号文件/etc/passwd
    • 1.3 用户账号文件/etc/shadow
  • 2. UID
    • 2.1 添加用户账号
    • 2.2 设置/更改用户口令passwd
    • 2.3 修改用户账号属性usermod
    • 2.4 删除用户账号userdel
  • 3. GID
    • 3.1 用户账号的初始配置文件
    • 3.2 组账号文件
    • 3.3 添加组账号groupadd
    • 3.4 添加删除组成员gpasswd
    • 3.5 删除组账号groupdel

1.UID and GID

1.1 用户账号和组账号概述

linux基于用户身份对资源访问进行控制

● 用户账号
超级用户、普通用户、程序用户

用户账号
超级用户: root用户是 Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。

普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。

程序用户:在安装inux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、 demon、ftp、mail等。

● 组账号
基本组(私有组)
附加组(公共组)

组账号

基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。在/etc/passwd文件中第4字段记录的即为该用户的基本组GID号。

附加组(公共组):用户除了基本组以外,额外添加指定的组。

● UID和GID
UID (User IDentity,用户标识号)
GID (Group IDentity,组标识号)

UID:用户标识号

GID:组标识号

root 用户账号的UID和GID号为固定值0

程序用户账号的UID和GID号默认为Centos5,6: 1~499,Centos7: 1~999

普通用户的UID和GID号默认为Centos5,6: 500~60000,Centos7:1000~60000

1.2 用户账号文件/etc/passwd

保存用户名称、宿主目录、登录shell等基本信息

文件位置:/etc/passwd

每一行对应一个用户的账号记录


root:x:0:0:root:/root:/bin/bash
第一字段root:用户名
第二字段x:占位符
第三字段0:用户的UID号
第四字段0:用户基本组的GID号
第五字段root:用户全名信息的描述
第六字段/root:用户的宿主目录,也就是家目录所在位置
第七字段/bin/bash:用户登录的shell信息(/bin/bash:默认的shell登录信息;/sbin/nologin:不允许登录的shell信息)

1.3 用户账号文件/etc/shadow

保存用户的密码、账号有效期等信息

文件位置:/etc/shadow

每一行对应一个用户的密码记录

root:$6$rn9yK8kuso3pcHaI$mi0mdf/UQf9p2PdB/zkG1Zmyh7DtvL2Ckgr1aFjTJP1tFPKwRLaKUzUxLtKvR2b995g4JqOcTuWd6EF/ad4xa0::0:99999:7:::
第一字段root:用户名
第二字段$6$rn9yK8kuso3pcHaI$mi0mdf/UQf9p2PdB/zkG1Zmyh7DtvL2Ckgr1aFjTJP1tFPKwRLaKUzUxLtKvR2b995g4JqOcTuWd6EF/ad4xa0:MD5算法加密(当为"*"或"!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统)
第三字段:::上次修改密码的时间
第四字段0:密码的最短有效天数
第五字段99999:密码的最长有效天数
第六字段7:提前多少天警告用户密码将过期,默认为7
第七字段:::密码过期之后多少天禁用此用户
第八字段:::账号失效时间
第九字段:保留字段(未使用)

2. UID

2.1 添加用户账号

useradd命令

useradd命令格式:useradd [选项]…用户名

常用选项:

-u、-d、-e、-g、-G、-M、-s

[root@clr ~]# which useradd   #查看外部命令useradd在系统中的位置
/usr/sbin/useradd
[root@clr ~]# ll /usr/sbin/useradd
-rwxr-xr-x. 1 root root 137616 8月   9 2019 /usr/sbin/useradd
[root@clr ~]# which adduser  #查看外部命令adduser在系统中的位置
/usr/sbin/adduser
[root@clr ~]# ll /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 3月  23 00:42 /usr/sbin/adduser -> useradd   #adduser是个软链接指向useradd

useradd -d ## -e ## -s ##命令:指定用户的宿主目录位置、账户失效时间以及登录shell信息

[root@clr ~]# useradd -d /admin -e 2024-01-01 -s /sbin/nologin admin1  #添加用户admin1,指定家目录/admin;指定失效时间:2024-01-01;指定不能登录到系统的shell命令

[root@clr ~]# useradd -u 2000 -g gaozhenyang -G 1002 admin2  #指定用户admin2的UID号为2000;指定基本组名为gaozhenyang;指定附加组的GID号为1002(admin1)[root@clr ~]# vim /etc/passwd
admin2:x:2000:1001::/home/admin2:/bin/bash[root@clr ~]# id admin2
uid=2000(admin2) gid=1001(gaozhenyang) 组=1001(gaozhenyang),1002(admin1)  #查看可得,用户admin2的UID为2000;基本组的GID为1001(gzozhenyang);附加组的GID号为1002(admin1)

创建程序用户:useradd -M -s命令:不建立宿主目录,指定用户的登录shell信息

[root@clr ~]# useradd -M -s /sbin/nologin ergouzi #创建程序用户ergouzi,不建立宿主目录,shell登录信息,设置为不允许登录
[root@clr ~]# vim /etc/passwd
ergouzi:x:2001:2001::/home/ergouzi:/sbin/nologin

2.2 设置/更改用户口令passwd

passwd命令

passwd命令格式:passwd [选项]…用户名

常用选项:

-d、-l、-S、-u

不指定用户名时,修改当前账号的密码

passwd -d命令:清空指定用户的密码,仅使用用户名即可登录系统

[root@clr ~]# passwd -d gaozhenyang
清除用户的密码 gaozhenyang。
passwd: 操作成功

passwd -l命令:锁定用户账户,锁定的用户账号将无法再登录系统

[root@clr ~]# passwd -l gaozhenyang #锁定用户账户,锁定的用户账户将无法再登录系统
锁定用户 gaozhenyang 的密码 。
passwd: 操作成功
[root@clr ~]# passwd -l ergouzi
锁定用户 ergouzi 的密码 。
passwd: 操作成功

passwd -S命令:看用户账户的状态(是否被锁定)

[root@clr ~]# passwd -S gaozhenyang #查看用户账户的状态是否被锁定
gaozhenyang LK 2023-04-02 0 99999 7 -1 (密码已被锁定。)

passwd -u命令:解锁用户账户

[root@clr ~]# passwd -u gaozhenyang #解锁用户账户gaozhenyang
解锁用户 gaozhenyang 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)[root@clr ~]# passwd -u -f gaozhenyang #-f命令,强制解锁用户
解锁用户 gaozhenyang 的密码。
passwd: 操作成功

设置用户密码之方法二:echo “密码” | passwd --stdin 用户名

[root@clr ~]# echo "abc" | passwd --stdin gaozhenyang #将用户gaozhenyang的密码修改为abc
更改用户 gaozhenyang 的密码 。
passwd:所有的身份验证令牌已经成功更新。

设置用户密码之方法三:echo <用户名>:<密码> | chpasswd

[root@clr ~]# echo gaozhenyang:123 | chpasswd #将用户gaozhenyang的密码修改为123

2.3 修改用户账号属性usermod

usermod命令

usermd命令格式:usermod [选项]…用户名

常用选项:

-l、-L、-U

以下选项与useradd命令中的含义相同

-u、-d、-e、-g、-G、-s

usermod -l命令:更改用户账号的登录名称。

[root@clr ~]# usermod -l CLR cCLR  #更改用户账户cCLR的登录密码[root@clr ~]# vim /etc/passwd
CLR:x:1000:1000:CLR:/home/cCLR:/bin/bash

usermod -s命令:指定用户的登录shell

[root@clr ~]# usermod -s /bin/bash ergouzi #修改用户账户ergouzi的登录方式,修改为可登录/bin/bash[root@clr ~]# vim /etc/passwd
ergouzi:x:2001:2001::/home/ergouzi:/bin/bash

usermod -d命令:修改用户的宿主目录位置

[root@clr ~]# usermod -d /admin CLR   #修改用户CLR的宿主目录位置为/admin[root@clr ~]# vim /etc/passwd
CLR:x:1000:1000:CLR:/admin:/bin/bash
"/etc/passwd" 50L, 2568C

usermod -e命令:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式

[root@clr ~]# usermod -e 2023-12-31 admin1 #修改账户用户admin1的失效时间[root@clr ~]# vim /etc/shadow
admin1:!!:19449:0:99999:7::19722:

usermod -L命令:锁定用户账户

[root@clr ~]# usermod -L ergouzi  #锁定用户账户ergouzi [root@clr ~]# passwd -S ergouzi  #查看用户账户ergouzi的状态,是否已被锁定
ergouzi LK 2023-04-02 0 99999 7 -1 (密码已被锁定。)

usermod -U命令:解锁用户账户

[root@clr ~]# echo ergouzi:123 | chpasswd #为用户账户ergouzi设置密码123[root@clr ~]# usermod -U ergouzi  #解锁用户账户ergouzi[root@clr ~]# passwd -S ergouzi  #查看用户账户ergouzi的状态(是否已被锁定)
ergouzi PS 2023-04-02 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

2.4 删除用户账号userdel

userdel命令

userdel命令格式:userdel [-r] 用户名

添加 -r 选项时,表示连用户的宿主目录一并删除

userdel -r命令:删除用户并删除其家目录

[root@clr ~]# userdel -r admin2  #删除用户admin2,并且连同家目录也一并删除
[root@clr ~]# ls /home/   #admin2的家目录已被删除
gaozhenyang
  • 当系统中的某个用户帐号已经不再需要使用时(如该员工已经从公司离职等情况),可以使用userdel命令将该用户帐号删除。

  • 使用userdel命令需要指定帐号名称作为参数,添加"-r"选项时可以将该用户的宿主目录一并删除。

3. GID

3.1 用户账号的初始配置文件

文件来源

useradd命令添加一个新的用户账号后,会在该用户的宿主目录中建立一些初始配置文件。

这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件。

主要的用户初始配置文件

● ~/.bash_profile

● ~/.bashrc

● ~/.bash_logout

查看模板目录隐藏文件/etc/skel/

[root@clr ~]# ls /etc/skel/ -a #查看账号模板目录/etc/skel/下的隐藏文件
.  ..  .bash_logout(用户退出系统时,加载的文件)  .bash_profile(用户登录时,自动加载的环境变量配置文件)  .bashrc  .mozilla

查看.bash_profile文件

[root@clr ~]# vim .bash_profile #查看并修改.bash_profile文件# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc  #./bash_profile文件会调用该用户的~/.bashrc文件

查看.bashrc文件

[root@clr ~]# vim .bashrc  #查看并修改.bashrc文件# .bashrc# User specific aliases and functionsalias rm='rm -i'  #每次登录系统或shell环境时,都会自动执行的程序代码
alias cp='cp -i'
alias mv='mv -i'# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc  #./bashrc文件会调用./etc/bashrc文件

作用范围:

etc/profile /etc/bashrc 对所有用户有效

~/.bash_profile ~/.bashrc 只针对=当前用户有效

功能用途:

profile:系统启动后用户登录直接执行文件里的命令或者配置

bashrc:用户登录或者用户切换shell环境就会执行文件里的命令或者配置

调用关系:

/etc/profile -> /etc/profile.d/xxx. sh

~/.bash_profile -> ~/.bashrc -> /etc/bashrc

注意:

  • /etc/profile中的文件,系统启动时会自动执行;

  • ~/.bash_profile的文件,只有在指定用户登录或切换shell环境时,才会执行。

3.2 组账号文件

与用户帐号文件相类似

  • /etc/group:保存组帐号基本信息

  • /etc/gshadow:保存组帐号的密码信息

查看组账号基本信息/etc/group

[root@clr ~]# vim /etc/groupkvm:x:36:qemu
组名:密码占位符:组的GID号:组中用户
[root@clr ~]# useradd -G admin1 zhangsan #添加用户zahngsan,并指定附加组为admin[root@clr ~]# vim /etc/group
admin1:x:1002:lisi,zhangsan  #admin1中有组员lisi和zhangsan

3.3 添加组账号groupadd

groupadd命令

groupadd命令格式:groupadd [-g GID] 组账号名

示例

groupadd -g命令:添加组,并设置指定的组账号

[root@clr ~]# groupadd -g 2345 mygirl #添加组mygirl,并设置组GID号为2345
[root@clr ~]# vim /etc/group
mygirl:x:2345:

3.4 添加删除组成员gpasswd

gpasswd命令

设置组帐号密码(极少用)、添加/删除组成员

gpasswd命令格式:gpasswd [选项]…组帐号名

`常用选项

-a:向组内添加一个用户

● -d:从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

gpasswd -a命令:向组内添加一个用户

[root@clr ~]# gpasswd -a zhangsan mygirl #用户zhangsan加入到mygirl组中
正在将用户“zhangsan”加入到“mygirl”组中
[root@clr ~]# id zhangsan
uid=2004(zhangsan) gid=2004(zhangsan) 组=2004(zhangsan),1002(admin1),2345(mygirl)

gpasswd -d命令:从组内删除一个用户成员

[root@clr ~]# gpasswd -d zhangsan admin1  #将用户zhangsan从admin1组中删除
正在将用户“zhangsan”从“admin1”组中删除
[root@clr ~]# id zhangsan
uid=2004(zhangsan) gid=2004(zhangsan) 组=2004(zhangsan),2345(mygirl)

gpasswd -M命令:定义组成员列表,以逗号分隔

[root@clr ~]# useradd xiaohua #分别创建三个用户xiaohua,xiaowang,xiaozhang
[root@clr ~]# useradd xiaowang
[root@clr ~]# useradd xiaozhang[root@clr ~]# gpasswd -M xiaohua,xiaowang,xiaozhang mygirl  #将这三个用户xiaohua,xiaowang,xiaozhang,一次性加入到mygirl组中(-M定义组成员列表,定义即覆盖)
[root@clr ~]# vim /etc/group
mygirl:x:2345:xiaohua,xiaowang,xiaozhang

3.5 删除组账号groupdel

groupdel命令

groupdel命令格式:groupdel 组账号名

示例

【Linux】——用户账号和组账号相关推荐

  1. Linux中用户账号和组账号的介绍

    用户账号和组账号概述:       众所周知,Linux是基于用户身份对资源进行访问控制的.       用户账号:     超级用户:root     普通用户:普通用户账号一般只能在自己的宿主目录 ...

  2. 管理用户账号和组账号

    账号和权限管理 管理用户账号和组账号 用户账号和组账号概述 linux基于用户身份对资源访问进行控制 用户账号 组账号 UID和GID 用户账号文件 用户账号文件/etc/passwd 保存文件名称. ...

  3. 账号和权限管理——管理用户账号和组账号(一)

    一.用户账号和组账号概述 1.用户账号 在 Linux 操作系统中,根据系统管理的需要将用户账号分为不同的类型,主要包括超级用户.普通用户和程序用户,各类型拥有的权限.担任的角色也各不相同.  超级用 ...

  4. Linux--账号和权限管理(用户账号和组账号,用户账号和组帐号管理,文件和目录的权限和归属)

    文章目录 前言 一.用户账号和组账号 1.1用户账号 1.2组账号 1.3UID号和GID号 1.4用户账号文件 1.4.1用户账号文件/etc/passwd 1.4.2用户账号文件/etc/shad ...

  5. 账号和权限管理之管理用户账号和组账号

    账号和权限管理之管理用户账号和组账号 前言 1.用户介绍 2.组的分类 3.UID和GID 4.用户账号文件 5.添加用户账号 6.设置/更改用户口令 7.修改用户的账户属性 八.passwd与use ...

  6. 用户账号和组账号概述

    Linux用户及权限管理 文章目录 Linux用户及权限管理 1用户账号和组账号概述 2用户账号文件/etc/passwd 3影子文件/etc/shadow/ 3.1针对系统已存在的用户修改账号和密码 ...

  7. linux如何标识用户账号和组账号,linux管理用户和组

    唯一标识: UID GID  (管理员root的UID为0) 组的分类: 基本组 附加组(从属组) 基本组:Linux自己创建的组,与用户同名,系统自动将用户加入 附加组(从属组):管理员自建创建,管 ...

  8. 深入理解Linux系统中的用户和组账号

    为什么80%的码农都做不了架构师?>>>    一.Linux中的用户和组账号概述     与Windows操作系统相比,Linux系统中的用户和组账号的作用本质上是一样的,同样都是 ...

  9. linux怎么查看组用户名和密码,Linux基础命令(十一)——用户和组账号管理

    注:文档有点长,前面部分说的是一些比较概念的东西,看命令的话可以直接看后面部分. 一.用户账号和组账号概述 与Windows操作系统对比,Linux系统中的用户账号和组账号的作用在本质上是一样的,同样 ...

最新文章

  1. 在Linux下进行Apache+tomcat整合
  2. FireFox与IE兼容性汇编
  3. HTTP API响应数据规范整理
  4. poj3279 Fliptile
  5. 关于display相关的一些内容(总体)
  6. LInux CentOS6 无人值守安装实例(原作)
  7. ITK:将静态密集2D级别集可视化为高程图
  8. 根据RTL图编写Verilog程序
  9. html如何移动整体列表,移动端H5各种各样的列表的制作方法(一)
  10. android 底部弹窗失效,Android实现从底部弹出Dialog(和PopWindow实现的效果同样)
  11. Visual Studio 设置快捷代码段
  12. FR跨SHEET条件汇总
  13. SaaSBase:什么是数云麒麟CRM?
  14. 批处理之计划任务at和schtasks
  15. 瑞利信道的多普勒谱的原理与MATLAB仿真
  16. VB.NET利用WMI获取操作系统所在硬盘序列号
  17. java 单例模式实现的5种方式
  18. 电脑无缘无故黑屏,无法调节亮度。
  19. 一次安装IE11浏览器的经历
  20. 爆笑的程序员梗,笑死人不偿命!

热门文章

  1. 手把手教你Axure-默认元件库(上)
  2. 计算机毕业设计ssm+vue基本微信小程序的“香草屋”饮料奶茶点单小程序
  3. canvas设置大小
  4. tkinter如何绑定鼠标和键盘等事件
  5. 贷款买房,利息怎么算?等额本金与等额本息
  6. 用Python代码来下载任意指定网易云歌曲
  7. u大师U盘装系统教程
  8. Java流程控制练习题
  9. POS、银联密钥体系
  10. 网站中的PV是什么意思?