第四章Linux账号管理

目录

一、用户账号、组账号

1. 用户账号分类

2. 组账号

3. UID和GID

二、用户账号、组账号管理

2.1 用户账号管理

2.1.1 添加用户账号——useradd命令

2.1.2 删除用户——userdel命令

2.1.3 设置/更改用户口令密码——passwd命令

2.1.4 修改已存在的用户账户的属性——usermod命令

2.2 组账号管理

2.2.1 添加组账号——groupadd

2.2.2 添加组成员——gpasswd

2.2.3 删除组账号——groupdel

2.2.4 查看账户的组信息

三、用户账号、组账号文件管理

3.1 账号文件类型

①用户账号文件,位置 /etc/passwd,每一行对应一个账号记录

②用户密码文件,位置/etc/shadow(只用root有权限)

 ③组账号文件,位置/etc/group

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

①系统环境变量配置文件,对所有用户有效

②用户家目录下的初始配置文件,只对当前用户有效

四、查看文件/目录的权限和归属

4.1 设置文件和目录的权限——chmod命令

4.2 设置目录和文件归属 ——chown命令

4.3 设置目录和文件的默认权限——umask


一、用户账号、组账号

1. 用户账号分类
用户账号分类用户权限
超级用户root是系统中拥有最高权限唯一的超级用户
普通用户管理员用户创建的用户默认拥有权限,一般只在用户自己的宿主目录中拥有完整权限。
程序用户用于应用程序运行的用户应用程序运行用的低权限用户,一般不允许登录到系统,如 bin、daemon、ftp、mail 等。
2. 组账号

基本组:创建用户时自动归属的组

附加组:除了基本组以外,后续加入的组

3. UID和GID
  • UID用户账户ID和GID组账户ID,都是唯一不重复的;
  • root用户账号的 UID和GID号为固定值 0
  • 程序用户账号的 UID和GID号默认:Centos5,6:1~499,Centos7:1~999
  • 普通用户的 UID和GID号默认:Centos5,6:500~60000,Centos7:1000~6000

二、用户账号、组账号管理

2.1 用户账号管理
2.1.1 添加用户账号——useradd命令

可通过在/etc/passwd 文件和/etc/shadow 文件的末尾增加用户账号的记录。若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件(ls -A 指定用户家目录能查看到.bash开头的文件为初始配置文件)。若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow 文件中。

格式:useradd/adduser [选项] 用户名 (adduser是useradd的软链接文件)

          vim /etc/passwd    #可查看用户和信息

-u   创建用户是指定UID号,UID号不能重复
-d   指定用户家目录(与-M一起使用是不生效),只能用绝对路径指定目录,不需要实现创建目录。不指定默认在home目录添加
-e   指定XXXX-XX-XX年月日失效日期
-g   指定基本组名或GID号
-G   指定附加组名或GID号
-M   不建立家目录(不可与-D同时使用)
-s   指定用户的登录shell(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统))

【示例】新建pyx用户目录 UID为9527,不创建家目录,指定不可登录操作系统

useradd pyx -u 9527 -M -s /sbin/nologin

【示例】创建一个用户,指定在2024年年底失效

useradd XXX -e 2025-01-01 

【示例】 创建一个用户,指定在2024年年底失效,不创建目录,不能登陆

useradd XXX -M -s /sbin/nologin -e 2025-01-01
2.1.2 删除用户——userdel命令
userdel 用户名  #删除用户,对应家目录不删
userdel 用户名 -r #删除用户时,对应家目录也一起删除
2.1.3 设置/更改用户口令密码——passwd命令

passwd [用户名] ,不加用户名表示当前用户,普通用户只能用passwd修改自己的密码

(root密码如果忘记了,可以用保存过密码的终端软件先登录,再更改root密码)

-d    #清空用户的密码,仅用用户名登录系统,空密码用户风险很大,一般删掉
-l    #锁定用户,禁用用户,无法登陆
-u    #解锁用户,恢复登录,空密码用户默认不能-u解锁
-u -f #强制解锁空密码用户
-S    #查看指定用户当前的锁定状态

修改密码还有echo命令,直接改

echo “XXXX指定字符串” | passwd --sdtin 用户名

示例:输出abc1234字符串 管道符号 模拟键盘输入的方式修改密码

echo 用户名 : 密码 | chpaaswd

2.1.4 修改已存在的用户账户的属性——usermod命令

usermod 用户名 [选项]

-l 新用户名   #修改用户名
-L   #锁定用户
-U   #解锁用户
-u   #创建用户是指定UID号,UID号不能重复
-d   #指定用户家目录(与-M一起使用是不生效),只能用绝对路径指定目录,不需要实现创建目录。不指定默认在home目录添加
-e   #指定XXXX-XX-XX年月日失效日期
-g   #指定基本组名或GID号
-G   #指定附加组名或GID号
-M   #不建立家目录(不可与-D同时使用)
-s   #指定用户的登录shell((/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统))

【示例】把本地用户pyx添加到student组中(加入新租,不会退出原来所在的组)

usermod pyx -G student

2.2 组账号管理
2.2.1 添加组账号——groupadd
-g GID 组名   #添加组账号
2.2.2 添加组成员——gpasswd

gpasswd [选项] <组账号名>

-a 用户名   #添加组成员
-d 用户名   #删除组成员
-M 用户1,用户2,...  #重新定义组成员列表
2.2.3 删除组账号——groupdel
groupdel <组账号名>
2.2.4 查看账户的组信息
groups 用户名   #查看用户属于哪个组,第一个位基本组,后面为附加组
id 用户名       #显示用户的UID,GID以及所属的组
finger 用户名   #查看用户账号登录信息和权限
w              #查看用户登录的详细信息。当前系统什么时候登录,有哪些用户,当前登录的信息用户名从什么终端什么IP地址等信息。0表示服务器本地登录,pts/1通过xshell等远程登录用户,tty2 linux操作系统的虚拟终端,ctrl+alt+F2,图形界面ctrl+alt+F1
who            #查看当前用户登录信息。当前系统什么时候登录,有哪些用户,当前登录的信息用户名从什么终端什么IP地址等信息
users          #查看当前有哪些用户登录

三、用户账号、组账号文件管理

3.1 账号文件类型
①用户账号文件,位置 /etc/passwd,每一行对应一个账号记录
man 5 passwd    #查看该文档内的配置信息文档的帮助内容

用户名:x密码占位符:UID:GID:用户说明:家目录:登录shell
字段①:用户帐号的名称
字段②:用户密码占位符“x”
字段③:用户帐号的UID号
字段④:所属基本组帐号的GID号
字段⑤:用户全名
字段⑥:宿主目录
字段⑦:登录Shell信息(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统

②用户密码文件,位置/etc/shadow(只用root有权限)

示例:root:$6$VyOUGqOC$v5HlLM1wagZC/FwGfnrtJFnlT:18445:0:99999:7:::
字段①:用户帐号的名称
字段②:密码字符串。使用MD5加密方式,*和!!表示该用户不能登录系统,: :为空密码用户,(linux系统中不允许)。
字段③:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段④:密码的最短有效期,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段⑤:密码的最长有效期,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段⑥:提前多少天警告用户密码将过期,默认值为7
字段⑦:在密码过期之后多少天禁用此用户
字段⑧:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用。
字段⑨:保留字段(未使用)

 ③组账号文件,位置/etc/group

字段1:组帐号的名称
字段2:占位符“x”
字段3:组账号的GID号
字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔

id XXX用户     #查看用户所在组
vim /etc/group #查看组账号文件内容
/etc/group     #查看当前系统中有多少组,显示基本信息
/etc/gshadow   #组账户密码文件

3.2 用户账号的初始配置文件
①系统环境变量配置文件,对所有用户有效

/etc/profile    #设置用户每次登录时要执行的命令

/etc/bashrc   #设置每次切换shell环境时要执行的命令(包括登录系统时要执行的命令)

②用户家目录下的初始配置文件,只对当前用户有效

~/.bash_profile        

  • 此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件。(ps:bash_profile只会在登录时执行一次,su切换环境,exit回到执行后的环境。)

~/.bashrc            

  • 此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件

~/.bash_logout        

  • 退出登录或退出bash shell时执行的命令,用的不多,走之前清空历史命令用到

四、查看文件/目录的权限和归属

  文件权限由3个8进制数表示,一个文件最大权限为7,最小为0。

4.1 设置文件和目录的权限——chmod命令

  u表示属主,g表示属组,o表示其他用户,a表示所有用户,rwx表示运行权限;

chmod -R 文件/目录 nnn   #代表递归修改目录及所有子目录和文件的权限;
chmod ugo+rwx 文件/目录  #+表示添加权限,-表示删除权限,=重新定义权限;
chmod a -
chomd nnn <文件或目录>   #nnn为权限数值

  注意:关键文件不能设为777!

4.2 设置目录和文件归属 ——chown命令
chown -R 属主 文件/目录
chown :属组 文件/目录   
chown 用户名:用户名 文件/目录 #属主和属组一起修改
chown 用户名.用户名 文件/目录 #属主和属组一起修改

4.3 设置目录和文件的默认权限——umask
umask  #查询umask的值

umask nnn为八进制数字,系统默认umask值为022。文件的最大默认权限为6,目录最大默认为7,则新建文件默认权限 666 -022=644,新建目录默认权限 777 -022=755。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值