Linux的账号和权限管理

发布时间:2023年12月26日

目录

一、用户账号

1、Linux有三大用户类型:

二、组账号

1、基本组(私有组):有且只有一个,一般为创建用户时指定的组。

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

三、标识号

1、UID 用户标识号:

2、GID组标识号

四、用户账号文件介绍

1、/etc/passwd:存放用户信息文件,系统上所有的用户信息都存在这个文件中

2、/etc/shadow:存放用户密码信息的文件

第九字段:无用字段,保留字段收费内容五、管理用户账号的相关命令

1、useradd:添加用户账号

2、passwd:修改密码

3、usermod:修改用户账号属性

-U 解锁用户 ? passwd ?-u ? 一样4、userdel :删除用户账号

5、echo:快捷设置用户密码

6、usermod :对已有用户属性进行修改(选项和useradd基本一致)

7、gpasswd:将用户添加到组里

8、查看用户信息

9、finger? :查询用户账号的详细信息

10、id :查询用户身份标识(uid gid 和组)

六、用户账号和组账号配置文件

1、家目录基本配置文件

2、组账号文件

七、管理组账号相关命令

1、groupadd:添加组账号

2、gpasswd? :添加删除组成员

八、查询账号信息相关命令

1、groups:查询用户所属组

2、id:查询用户身份标识

3、finger:查询用户账号的详细信息

九、文件目录的权限和归属

1、读取:r? ? 允许查看文件内容(有rx权限才可以显示目录列表)

2、写入:w? ? 允许修改文件内容,在目录中新建移动或者删除文件

3、可执行:x? ?允许执行程序,是文件夹下最小的权限

十、设置文件目录的权限和归属命令

1、chmod:设置文件和目录的权限

2、chown :设置文件和目录的归属

3、umask:决定新建文件目录的权限

4、suid? 属主

5、guid属组

6、acl访问控制列表


一、用户账号

1、Linux有三大用户类型:

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

②普通用户:权限受限的用户,账号需要管理员创建,拥有的权限会受到限制,一般只在自己的宿主目录中有完整的权限。

③程序用户:给程序用的用户,仅用于维持系统的某个程序正常运行。

二、组账号

1、基本组(私有组):有且只有一个,一般为创建用户时指定的组。

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

三、标识号

1、UID 用户标识号:

生成用户的时候,自动会分配一个uid账号,用户之前用uid账号来进行区分。

UID的取值范围

超级用户UID00
普通用户UIDCentOs6以前 500+CentOs7以后 1000-60000
程序用户UIDCentOs6以前 1-499CentOs7以后 201-999

root不一定是超级管理员,uid=0的才是超级管理员

2、GID组标识号

与UID类似,每一个组账号都有自己身份标识,成为GID。

四、用户账号文件介绍

1、/etc/passwd:存放用户信息文件,系统上所有的用户信息都存在这个文件中

一共七个字段,七段用冒号(:)隔开

第一字段:root:用户名

第二字段:x:密码占位符

第三字段:0 :?uid 用户编号

第四字段:0:gid 组编号

第五字段:root: 备注

第六字段:/root: 家目录的位置

第七字段:?/bin/bash:用户默认加载的 shell? 环境

2、/etc/shadow:存放用户密码信息的文件

用来保存用户密码,账号有效期等信息

root:$6$4V92DDnjpoaeXmmD$Dx./:18318:0:99999:7: :  :

第一字段:root:用户名

第二字段:$6$4V92DDnjpoaeXmmD$Dx:算法加密后密码 ? ?如果此处 ?为* ? !! ?禁止登陆

第三字段:18318: ? 从1970.1.1 (linux 诞生的日期) ? 到 今天 ?过了19318

第四字段:0: ?代表不限制 ?更改密码的时间 ? ?,如果写10 ? 代表10天内不能修改

第五字段:99999:密码 有效期 ? ? 约等200年 ? ?永久?

第六字段:7:密码到期前 7天 提醒你

第七字段: ?密码过期后的宽限天数 ? ?30 ?天 还能登陆

第八字段: 账号失效时间 ??

第九字段:无用字段,保留字段收费内容
五、管理用户账号的相关命令

1、useradd:添加用户账号

对新建用户的基本信息进行修改(对已经有的用户无法设置)

格式:useradd? ?选项 用户名

-u 指定uid

-d? 指定家目录

-M? 不建立家目录

-s 指定shell类型

-e 指定用户失效时间

建立一个用户指定uid 不建立家目录 不让用户登录(s/abin/nologin)

-g? 表示指定基本组的uid

-G? 指定附加组的uid

2、passwd:修改密码

格式:passwd 选项? ?用户

-l? ?锁定用户,不让用户登录

-S? ?查看是否锁定

-u? 解锁

-fu? 强制解锁

-d? ?清空密码 ,不需要密码登录

补充:①tr -d 123就是删除123

echo 123abc |tr -d 123

输出=abc

②面交互修改密码

echo 123123 | passwd lisi --stdin

3、usermod:修改用户账号属性

useradd 新建用户的信息进行修改

已存在的用户需要使用usermod进行修改

格式: usermod? 选项? 用户名

-l ? ? 更改用户名

-u ? ?指定uid ? ? ?

-d ? ?指定家目录

-M ?不建立家目录

-s ? ?指定shell类型

-e ? 账户失效时间 ?yy-mm-dd

-g ? ?指定基本组的 gid

-G ? 指定附加组的gid

-L ?锁定用户 ? passwd -l ? ?一样

-U 解锁用户 ? passwd ?-u ? 一样
4、userdel :删除用户账号

格式:userdel? -r 用户名

-r? 就是连家目录一起删除

5、echo:快捷设置用户密码

格式:echo 密码 | passwd --stdin 用户名

6、usermod :对已有用户属性进行修改(选项和useradd基本一致)

-l? ?修改用户名? ? ?

格式:useradd -l 新名字? ?旧名字

-L锁定改后的名字

-U? 解锁

补充:cat /etc/shells? ? 就是查看shell的类型

7、gpasswd:将用户添加到组里

格式:gpasswd? ?选项? ?用户? 组名

-a? ? 添加? ? gpasswd -a? 用户? 组名

-d? 删除

-M 用,隔开,一次性添加多人

8、查看用户信息

w? ? ?who? ? ? users? 依次详细

9、finger? :查询用户账号的详细信息

yum install finger -y? 安装finger命令

[root@localhost ~]#yum install finger -y

10、id :查询用户身份标识(uid gid 和组)

六、用户账号和组账号配置文件

1、家目录基本配置文件

.bash_logout

退出前先运行命令

.bash_profile

.bashrc

进入用户前先运行命令

用户账号初始配置文件从/etc/skel中复制而来。

2、组账号文件

etc /passwd :用户信息

etc /shadow :用户密码,保存组账号的密码信息?

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

七、管理组账号相关命令

1、groupadd:添加组账号

格式? ?groupadd? ?组名

2、gpasswd? :添加删除组成员

gpasswd? ?选项? ? 组名? 用户名

选项功能作用
-a?向组内添加一个用户
-d从组内删除一个用户成员
-M

向组内批量添加用户

八、查询账号信息相关命令

1、groups:查询用户所属组

格式:groups? 用户名

2、id:查询用户身份标识

格式? ? :id? 用户名

3、finger:查询用户账号的详细信息

格式:finger? 用户名

使用前需要先下载:yum install finger -y

九、文件目录的权限和归属

权限(文件夹)一定要有x,如果没有x,有rw也没有用

1、读取:r? ? 允许查看文件内容(有rx权限才可以显示目录列表)

2、写入:w? ? 允许修改文件内容,在目录中新建移动或者删除文件

3、可执行:x? ?允许执行程序,是文件夹下最小的权限

r4
w2
执行x1
读写执行rwx7

rwx有就写没有就用-表示

rw表示属主

r--表示数组

r--表示其他

-rw-r--r--.1.root root 08月26 2021 abc.txt

root可读可写,root组中用户只可读,其他用户只可读

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

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

例题:cp/etc/issue/mnt/dir这跳命令中,cp? etc issue dir mnt? 分别最低需要什么权限?

/bin/cp 需要x权限 ?; ? ? ? ? ? ? ? /etc/ 需要x权限 ; ? ? ? ? ? ? ? ? ? ? ?/etc/issue 需要r权限 ;
/data 需要x权限 ?; ? ? ? ? ? ? ? ? /data/dir 需要w,x权限

例题:作为超级管理员,别人没有读写权限,我有读写权限,那么别人没有执行权限,我有吗?

别人有权限,我也有权限,如果别人没有执行权限,那么我也没有权限

补充:复制文件有r只读权限就性了。

十、设置文件目录的权限和归属命令

1、chmod:设置文件和目录的权限

格式:chmod? ugoa? +-= rwx? 文件或者目录

u:属主 ? ? ? ? ?g:属组 ? ? ? ? ? ?o:其他用户 ? ? ? ? ? a:所有用户

+:在原有的基础上增加权限? ? ? ? ? ?-:在原有的基础上去除权限? ? ? ? ? =:赋予权限

r: 读 ? ? ? ? ? ? ? ? ?w:写 ? ? ? ? ? ? ?x :运行

格式:chmod? ?777? ?文件或目录

补充:chmod? o+t? ? DIR? ? 添加sticky位

chemod? o-t? DIR? ?减少sticky位

给所有人赋予权力:chmod? -a rwx*

2、chown :设置文件和目录的归属

chown? ?属主? ?文件或目录

?chown? ?:属组? ? 文件或目录

??chown? ?属主:属组? ? 文件或目录

①都改:chown? ? 用户名: 组名? ?文件或者文件夹

②只改属主:chown? ? 用户名

③只改属组:chown? ?:组名

3、umask:决定新建文件目录的权限

文件落地最高权限 666 (为安全性考虑,文件没有执行权限) ;文件夹落地最高权限 777

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022

4、suid? 属主

使用此命令时,把当前用户当成文件的主人

chmod? u+s? /user/bin/vim

chmod? u-s? /user/bin/vim

5、guid属组

6、acl访问控制列表

setfacl -x u:lisi passwd

-x就是删除。

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