LINUX基础第二章:账号和权限管理

发布时间:2023年12月26日

一.用户帐号和组账号

1.用户账号

1.普通用户? ? ? ? ? ? 权限受到限制的用户

2.超级管理员? ? ? ??拥有至高无上的权限

3.程序用户? ? ? ? ?? ?不是给人使用的,是给程序使用的,不允许登录

你能不能打开文件和用户有关,用户有用户自己的权限

运行程序不能使用超级管理员

系统如何区别用户的身份?

系统区别用户的身份使用的是uid号

超级管理员默认是0

普通用户 centos7 包括1000-60000

程序用户 1-999

60000最大值是可以修改

centos6

超级管理员 uid=0

程序用户 1-499

普通用户 500开始

2.组账号

  • 基本组有且唯一
  • 附加组可有可无,但可以有很多个

基本组

建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。

在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定

etc/passwd 存放用户信息

七段,每段用冒号隔开

liwu用户名
x密码占位符
1003uid
1003gid
普通用户备注信息
/home/liwu家目录位置
/bin/bash

默认的shell类型? ? ? ??

( /sbin/nologin 这个shell类型比较奇怪 不让登录 )

man 5 passwd 查看该文件

附加组

附加组:除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定

/etc/shadow 存放密码以及用户密码信息

root用户名
$6$4V9hEko/

加密的密码

*或!!代表不可以登录

19717最近一次修改密码的时间
77天以后擦可以改密码,0代表随时可以改,限制你改密码的期限
99999

密码有效时间

99999永久有效 7 7天有效

7密码过期前7天会提醒你一次去修改密码
8密码过期8天后账号会被锁定,登录不了系统了
19718明天过期,用户的有效期,超过有效期登陆不了系统
保留字段未使用

可以用man 5 shadow 去查看

3.添加用户useradd

原理

使用命令useradd 最后是在passwd文件中添加一条记录

vim /etc/passwd

useradd 实际上 修改了passwd文件

passwd 实际上是改了 shadow文件

linux命令修改是临时性的,需要永久生效,得写入文件

格式

useradd 添加新用户,并对新用户进行一些个性化设置

选项

-u 指定uid

-M 不生成家目录

-s 指定shell类型

建立一个命名为ky35,uid2222 不生成家目录 指定shell类型为不让登录的用户

useradd -u 2222? ?-M? -s? /sbin/nologin? ky35

-d 指定用户的家目录

-e:指定用户的账户失效时间

useradd -e 2023-12-27 ky35

-g:指定用户的基本组名

-r 生成一个uid小于1000的程序用户

-c 备注信息

-p 密码加密

面试题

随机生成密码

cat /dev/random | tr -cd [a-zA-Z0-9] |head -c 12

4.修改密码passwd

格式

passwd +用户

只有root用户才有权限改别的用户的密码

免交互修改密码

选项

-l 锁定用户

passwd -l 用户名 锁定用户

-u 解锁用户

passwd -u 用户名 解锁用户

-S 查看用户状态

passwd -S 用户名 查看用户状态

-d 清空密码,不需要密码直接登录(免密登录)

5.修改用户账号的属性usermod

对已有的属性进行修改

格式

usermod [选项]... 用户名

选项

选项和useradd 基本一致

-l 更改用户账号的登录名称

user -l 新名 原名

-L 锁定用户账户

-U 解锁锁用户账户

-u 修改用户的 UID 号

-s:指定用户的登录 Shell

6.删除用户userdel

格式

userdel [选项] 用户

选项

-r 用户名 把家目录一起删除

7.组帐号文件

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

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

8.添加组groupadd

格式

groupadd +账户名

groupadd [-g GID] 组账号名

9.组内管理(添加,删除,设置)gpasswd

选项

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

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

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

10.删除组账号groupdel

格式

groupdel+组名

11.查询

finger

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

finger [用户名]

w

查询已登录到主机的用户信息

?w [选项] [用户名]

who

相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。

who [选项] [file]

12.用户账号的初始配置文件

用户宿主目录下的初始配置文件只对当前用户有效

~/ .bash_profile

#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件

~/.bashrc

#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)

~/.bash_logout

#此文件中的命令将在该用户每次退出时bash shell时使用

/etc/bashrc

二.文件/目录的权限和归属

1.权限

访问人群分为了三类

  1. 所属主(u)

  2. 所属组(g)

  3. 其他人 (o)

权限分为三种

  • r? ?可以看
  • w 可以改
  • x 可以执行

文件夹 一定要有x,没有x、有rw也没用

r可以看文化夹有哪些文件按

w可以修改文件夹下的文件‘’

x执行 是文件夹的最小

文件

  • r 可以看文件内容
  • w可以修改文件内容
  • x可以运行文件

rwx 有就写 没有用-表示没有

rw- r-- r--

属主 属组 其他

root 可读可写

root组中的用户 只可读

其他用户 只可读

一个文件可以被删除,和本身权限有关吗?

和所在文件夹有 wx权限 就可以删除

cp test

当前用户 一定要有读r权限

能不能操作文件夹,和你当前登录的用户权限是有关系的的

2. 修改权限 chmod

模式法

  • u 属主
  • g 属组
  • o 其他人

+是加上 在原有基础上加上权限

-在原有基础上减去权限

=赋予 原有权限不看 就是 等于号后面的权限

chmod urwx 文件名

数字法

所代表的权限对应的数字
r4
w2
x1

面试题:
文件夹 一定要有执行权限
你去切知道文件夹的名字才能
执行 cp /etc/issue /data/dir/ 所需要的最小权限?
/bin/cp 需要x权限
/etc/ 需要x权限
/etc/issue 需要r权限
/data 需要x权限
/data/dir 需要w,x权限

3.修改属主,属组,文件或文件夹chown

格式

chown lisi:lisi 文件名

属主 属组都改

chown 用户名:组名 文件

属主

chown 用户名 文件

属组

chown :组名 文件

-R 递归 所有都改

4.umask

作用

umask 的值可以用来保留在创建文件权限

实现方式

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变

新建目录的默认权限: 777-umask

非特权用户umask默认是 002

root的umask 默认是 022

默认文件夹最高权限是 777

文件 666 自动将x权限减去 为了安全性考虑

落地权限 文件夹777 -022 755

文件 666-022 64

5.三种特殊权限

suid

sgid

Sticky?

三.特殊权限

访问控制列表 ACL

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

用法

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m, ? ? ? --modify-acl 更改文件的访问控制列表
-M, ? ? ? --modify-file=file 从文件读取访问控制列表条目更改
-x, ? ? ? --remove=acl 根据文件中访问控制列表移除条目
-X, ? ? ? --remove-file=file 从文件读取访问控制列表条目并删除
-b, ? ? ? --remove-all 删除所有扩展访问控制列表条目
-k, ? ? ? --remove-default 移除默认访问控制列表
? ? ? ? ? --set=acl 设定替换当前的文件访问控制列表
? ? ? ? ? --set-file=file 从文件中读取访问控制列表条目设定
? ? ? ? ? --mask 重新计算有效权限掩码
-n, ? ? ? --no-mask 不重新计算有效权限掩码
-d, ? ? ? --default 应用到默认访问控制列表的操作
-R, ? ? ? --recursive 递归操作子目录
-L, ? ? ? --logical 依照系统逻辑,跟随符号链接
-P, ? ? ? --physical 依照自然逻辑,不跟随符号链接
? ? ? ? ? --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
? ? ? ? ? --test 测试模式,并不真正修改访问控制列表属性
-v, ? ? ? --version ? ? ? ? ? 显示版本并退出
-h, ? ? ? --help ? ? ? ? ? ? ?显示本帮助信息
————————————————

文章来源:https://blog.csdn.net/zk584715834/article/details/135226654
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。