Linux基础第四章:用户账户与文件、目录的权限和归属

发布时间 2023-03-27 14:40:15作者: 白zhichun

一、用户账户
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