Linux账号和权限管理

文章详细介绍了Linux系统中的用户账号类型,包括超级用户和程序用户,以及UID和GID的概念和作用。还讨论了用户和组账号的管理,如`useradd`、`passwd`、`usermod`、`groupadd`和`gpasswd`等命令的使用。此外,内容涵盖了如何查询账号信息,如`id`、`finger`等命令,并详细讲解了文件和目录的权限与归属,包括`chmod`和`chown`命令的用法。
摘要由CSDN通过智能技术生成

一、用户账号管理

1.1 用户账号概述

1.1.1 用户账号类型

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

  • 超级用户

  • 普通用户(权限受限)

  • 程序用户 ---- 管理程序的用户,给程序用的,不是给人用的,不能登录到系统

为什么有程序账户?

超级管理员和普通用户都是登录到系统中,程序不是完美的,有漏洞,用程序用户管理程序,程序用户不能登录到系统,防止了程序被破解后,继续攻击系统,系统不会受到影响。

1.1.2 组账号

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理

  • 基本组(私有组):主要工作,只能有一个

  • 附加组(公共组):兼职,可有可无,可以有多个
    在这里插入图片描述

Tips:
Linux中超级管理员组是wheel

root组只是名字叫root

1.1.3 UID和GID

root为超级管理员
在这里插入图片描述

1.1.3.1 UID(User IDentity,用户标识号)

linux根据UID标识用户

UID=0 超级管理员

UID=1-60000 普通用户

UID=1-499 (Cent Os6)1-999(Cent Os7) 程序用户

1.1.3.2 GID(Group IDentify,组标识号)

GID的作用是用于标识和管理用户组,它是一个用于系统内部识别用户组的数字值。
root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。

1.1.4 用户账号文件

1.1.4.1 passwd文件
passwd文件   存放用户基本信息 (用户名称、宿主目录、登录shell等等基本信息) 

文件位置    /etc/passwd 

在这里插入图片描述

passwd文件内容格式

cat passwd //查看passwd文件内容
....
lucas:x:1000:1000:Lucas:/home/lucas/lucas:/bin/bash

lucas         用户名称

:x            密码占位符   

:1000         uid

:1000         gid

:lucas        备注信息,描述

:/home/lucas  家目录路径

:/bin/bash    shell环境

1.1.4.2 shadow文件
shadow文件用于存放用户密码
文件位置  /etc/shadow
文件内容格式

bin:*:17110:0:99999:7:::

字段1 bin :   //用户名
字段2 *       //密码  * 和 !! 表示不能登录此用户
字段3 17110   // 上次修改密码后,至今的天数
字段4 0       // 最小修改密码间隔时间 0表示啥时候改都行
字段5 99999   // 密码有效期  99999为默认值  近似于永久有效
字段6 7       // 密码到期提醒 提前7天提醒
字段7         // 密码到期后 不修改 还能用多久  这个时间之后,原密码失效
字段8         // 失效时间  字段5为99999 所以此字段无需设置
字段9         // 保留

1.1.4.3 初始配置文件
  • 文件来源

新建用户帐号时,从/etc/skel目录中复制而来

  • 主要的用户初始配置文件

~/.bash_profile : 这个文件是为系统全局变量配置文件,可以通过重启系统或者执行source /etc/profile 命令使profile文件被读取
~/.bashrc: 这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本
~/.bash_logout: 每一个允许bash shell 的用户都会执行此文件,可通过执行bash命令打开一个新的bash shell时,使bashrc文件被读取

1.2 用户账号管理(命令)

1.2.1 添加用户 useradd (新用户)

只能新建用户,不能对已有用户进行修改

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

选项功能
-u 指定用户UID 不能相同
-d指定用户的家目录
-e指定用户的账号失效时间
-g指定用户的基本组名 不指定会自动创建同名组
-G指定用户的附加组
-M不指定家目录 优先级大于 -d
-s 指定用户的登录Shell
useradd -s   /sbin/nolgin   -M  -u  xxx    yy
创建一个用户    不允许登录     不建立家目录  uid为xxx  名为yy

在这里插入图片描述

1.2.2 密码管理 passwd

为账号设置密码

passswd [选项].....用户名     //不加选项 默认添加密码

-d --delete 清除用户的密码 用用户名就能登录

-l – lock 锁定用户 ,使用户无法登录(隐藏 不显示)

-S 查看账户状态(是否被锁定)

-u --unlock 解锁用户

echo 123123 |passwd lisi --stdin

非人机交互的方式 修改密码

1.2.3 修改用户 usermod --对已有用户

usermod命令用于修改用户帐号的各项设定。

只能修改已有用户

usermod [选项] ....用户名   //对已有用户进行修改  不能修改用户组

在这里插入图片描述

选项功能
-l修改用户名
-L锁定用户
-U解锁用户
-u 修改用户UID 不能相同
-d修改用户的家目录
-e修改用户的账号失效时间
-g修改用户的基本组名 不指定会自动创建同名组
-G修改用户的附加组名
-s 指定用户的登录Shell
-p修改密码
usermod -L test
usermod -U test

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

usermod -l new  old  //更改用户名

在这里插入图片描述

补充
su 用户名  //切换用户
su root  //切换到超级管理员


sudo   //以管理员权限执行命令
sudo -n 用户名  命令   //以其他用户的权限执行命令

1.2.4 删除用户 userdel

userdel [选项]...用户


-r 将家目录一起删除

二、组管理

2.1 组账号文件

与用户帐号文件类似

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

/etc/gshadow 保存组帐号的密码信息,基本不使用

2.2 组账号管理(命令)

2.2.1添加组 groupadd

groupadd [选项] 组名  //添加组

group -g  组名  //添加组并指定GID 

在这里插入图片描述

2.2.2 管理组 gpasswd

gpasswd 命令——添加、设置、删除组成员
在这里插入图片描述

gpasswd -a  用户名 组名  //添加用户到组中

在这里插入图片描述

gpasswd -d 用户名 组名  //将用户从组中删除

在这里插入图片描述

gpasswd -M 

2.2.3 删除组 groupdel

groupdel  组帐号名  

在这里插入图片描述
在这里插入图片描述

三、查询账号相关信息

3.1 id

id命令用于查看用户的UID GID 基本组 附加组

命令格式   
id  [用户名]   

在这里插入图片描述

3.2 finger

finger命令用于查询用户帐号的详细信息

命令格式
finger  [用户名]  

、、、、、、、、、、、、、、、、、、、、、、、、、、、
Login       登录用户
Name        用户名
Directory   用户家目录
Shell       登录shell

在这里插入图片描述

3.3 w vs who

  • w
    w命令用于查询登录过主机的用户信息
w [选项] [用户]

在这里插入图片描述

  • who
    相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令息
    在这里插入图片描述

3.4 users

在这里插入图片描述

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

4.1 权限和归属的基本概述

访问人群分为了三类

  1. 所属主(u)
  2. 所属组(g)
  3. 其他人 (o)

权限分为三种

  1. 读( r)
  2. 写(w)
  3. 执行(x)

对文件的权限

  1. r 可使用文件查看类工具,比如:cat,可以获取其内容
  2. w 可修改其内容
  3. x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)

对目录的权限

  1. r 可以使用ls查看此目录中文件列表

  2. w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

  3. x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

4.2 查看权限和归属 ll

[root@yzf /]#ll /etc/passwd
-rw-r--r--. 1 root root 2220 722 17:22 /etc/passwd

在这里插入图片描述

-    表示文件属性   
rw-  表示属主的权限 
r--  表示属组的权限
r--  表示其他用户的权限
1    表示链接个数
root 属主
root 属组
2220  文件大小
722 1722   最后修改时间
/etc/passwd    文件位置和文件名

删除文件,和文件的权限无关,只和文件所在文件夹的权限有关

文件夹一定会有执行权限 x

执行权限 x 是文件夹的最小权限 ,没有x权限 文件夹的rw权限不生效

4.3 chmod 修改权限 -文件/文件夹

chmod(change mode)命令用于控制用户对文件/目录的权限

Linux的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

4.3.1数字表示法

r w x 有权限写1 没有写0 然后二进制转十进制相加

rwx十进制
1117
1015
1004
0113
0102
0011
0000
-rw-r--r--
         文件拥有者(属主)  用户组(属组)  其他用户
-        rw-              r--           r-- 
文件属性  110              100           100
         6                4             4 
  
777 表示所有权限都有

在这里插入图片描述

4.3.2 模式法

命令格式

chmod   对谁(所有者,所属组,其他)  操作(+ - =)权限    文件名


'谁'
u  -- 文件属主 (属于哪个用户)
g  -- 文件属组 (属于哪个组)
o  -- 其他用户
a  -- 所有用户

'操作权限'
+  -- 添加权限
-  -- 减少权限
=  -- 覆盖已有权限

'权限(对root无效)'
r -- 读权限
w -- 写权限
x -- 执行权限

在这里插入图片描述
在这里插入图片描述

4.4 chown 改变文件和目录的属主 属组

chown(change owner)命令用于设置文件/目录的属主和属组
利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符

chown [选项] new   [:group] old

new是替换的用户
old是被替换的用户
[选项]
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
举例

1.把 /var/run/httpd.pid 的所有者设置 root
chown root /var/run/httpd.pid

2.将文件 1.txt 的拥有者设为test,群体的使用者gtest 
chown test:gtest 1.txt

3.把 11.txt 的关联组设置为 512 (GID),不改变所有者
chown :512 1.txt

4.将当前前目录下的所有文件与子目录的拥有者皆设为t1,群体的使用者gt2
chown -R t1:gt2 *

4.5 umask 权限掩码

umask用于控制 新建文件或者文件夹的权限

文件夹默认最大权限为777

文件默认的最大权限为666 (没有执行权限

新建目录权限= 777-umask

新建文件权限=666 - umask

umask是需要减去的权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白幽幽白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值