Linux基础第四章:用户账户与文件、目录的权限和归属
一、用户账户
1、账户类型
①超级管理员:最高权限拥有者,uid=0的用户,默认是root。
②普通用户:有一定权限的用户,但是权限受限制。
③系统(程序)用户:不是给人用的,是给程序用的,无法直接登录系统的用户。主要是出于安全性考虑,若是某个程序被攻破账户密码泄露,黑客只能攻击此程序,但是不能通过这个账户密码登录系统,保证了系统的安全性。
2、uid及范围
uid:linux系统用于区分用户的号码。
uid范围:
系统版本 | 超级管理员 | 系统(程序)用户 | 普通用户 |
Centos 6 | uid=0 | 1-499 | 500-60000 |
Centos 7 | uid=0 | 1-999 | 1000-60000 |
3、用户组
①基本组:有且只有一个基本组,使用id命令查看,谁在最前面谁是基本组
②附加组:可以没有或者有多个,id命令查看,除最前面一个后面的都是附加组
4、添加账户
命令:useradd
基本格式: useradd [选项] 用户名
[选项] -u 创建时指定uid号
-d 创建时直接家目录,指定文件可以不存在。默认是在/home下生成一个同名文件
-M 创建时不生成家目录
-s 创建时指定shell类型,例如指定/sbin/nologin则此用户不能登录系统
-e 创建时指定账户失效时间,格式为"yy-mm-dd"
-g 创建时指定基本组
-G 创建时指定附加组
5、修改账户
命令:usermod
基本格式:usermod [选项] 用户名
[选项] -l 修改已有账户名称,格式,usermod 更改后名称 更改前名称
-u 修改已有账户的uid号
-d 为已有账户指定新的家目录
-m 将原家目录文件移动到新家目录,与-d配合使用
-s 修改已有用户的shell用户
-e 为已有账户设置失效时间,格式为"yy-mm-dd"
-g 为已有账户修改基本组
-G 为已有账户添加附加组
6、删除账户
命令:userdel
基本格式:userdel [选项] 用户名
[选项] -r 删除用户时将家目录一起删除
7、组的增删改查
①添加组:groupadd 组名
②删除组:groupdel 组名
③组内用户管理:
组内添加用户 gpasswd 组名 -a 用户名
组内删除用户 gpasswd 组名 -d 用户名
批量添加用户 gpasswd 组名 -M 用户名,用户名。用逗号隔开
8、用户登录信息查询
①finger命令:查看登录信息,谁在登录,tty,时间,主机ip
②w命令:查看登录信息,谁在登录,什么时候登录的,tty,主机ip,已经显示1、5、15分钟内cpu使用情况
③who命令:查看登录信息,谁在登录,登录时间,登录ip
④users命令:查看登录信息,只显示登录正此终端登录的账户
二、文件、目录的权限和归属
1、访问权限
r读权限:允许查看文件内容,显示目录列表
w写权限:允许修改文件内容,允许在目录中新建和移动
x执行权限:允许运行程序、切换目录
第1段:文件所属主的权限
第2段:文件所属组的权限
第3段:其他用户的权限
二进制数字表示法
rwx rwx rwx
二进制111 111 111
十进制 7 7 7
由此算出r=100(二进制)=4(十进制)
w=010(二进制)=2(十进制)
x=001(二进制)=1(十进制)
2、修改文件权限
命令:chmod
基本格式:chmod [选项] 主权限 组权限 其他用户权限 文件名
[选项] -R 递归,将该文件夹下所有文件权限一起修改
实例:修改/date及所属文件为777 ,chmod -R 777 /data
3、修改文件所属主和所属组
命令:chown
基本格式:chown [选项] 要改的主 :要改的组 文件
[选项] -R 递归将该文件夹下所有文件所属主、组一起修改。
实例:若只修改该文件及所属文件的所属主 chown -R 主 文件
若只修改该文件及所属文件的所属组 chown -R :组 文件
4、umask决定新建文件权限
新建文件夹权限:文件夹最高权限(777)减去umask值
新建文件权限:文件最高权限(666)减去umask,由于文件可执行较危险所以创建时不能赋予可执行权限,减完umask值之后若有执行权先则文件权限执行加1
查看umask值:umask命令
修改umask值:umask 数值 0022 默认0022
三、本章节涉及面试题
1、cp /etc/issue /data/dir需要的最小权限是什么
答:/bin/cp命令 需要x权限,/etc 需要x,issue 需要r,/data 需要x ,/dir 需要wx
2、创建一个uid为10086的lisi用户指定,不建家目录,不让这个用户登录。
答:useradd -u 10086 -M -s /sbin/nologin lisi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了