文章目录

  • 1 用户和用户标识号
  • 1.1 用户
  • 1.2 用户标识号
  • 1.3 /etc/passwd文件
  • 1.4 /etc/shadow文件
  • 2 用户组和组标识号
  • 2.1 用户组
  • 2.2 用户组编号
  • 2.3 /etc/group文件
  • 3 用户管理
  • 3.1 添加用户
  • 3.1.1 useradd命令
  • 3.1.2 adduser命令
  • 3.2 修改用户信息:usermod
  • 3.3 删除用户:userdel
  • 3.4 修改用户密码:passwd
  • 3.5 显示用户信息
  • 3.6 用户间切换:su命令
  • 3.7 受限的特权:sudo命令
  • 4 用户组管理
  • 4.1 添加用户组
  • 4.1.1 addgroup命令
  • 4.1.2 groupadd
  • 4.2 修改用户组
  • 4.3 删除用户组
  • 5 权限管理
  • 5.1 概述
  • 5.1.1 权限组
  • 5.1.2 基本权限类型
  • 5.1.3 特殊权限
  • 5.1.4 访问控制列表
  • 5.2 改变文件所有者chown命令
  • 5.3 改变文件所属组chgrp命令
  • 5.4 设置权限掩码umask命令
  • 5.5 修改文件访问权限
  • 5.6 修改文件ACL:setfacl命令
  • 5.7 查询文件的ACL


1 用户和用户标识号

1.1 用户

我们登录到Linux系统,使用的登录名和密码实际上就是用户的信息标识。

用户拥有账号、登录名、真实姓名、密码、主目录、默认shell等属性。

每个用户实际上代表了一组权限,而这些权限分别表示可以执行不同的操作,是能够获取系统资源的权限的集合。

1.2 用户标识号

Linux实际上并不直接认识用户的账号,而是查看用户标识号。

用户标识号(整数):
0: root,超级用户。
1-499:系统用户,保证系统服务正常运行,一般不使用。
500-60000:普通用户,可登录系统,拥有一定的权限。管理员添加的用户在此范围内。

用户名和标识号不一定一一对应,Linux允许几个登录名对应同一个用户标识号。

系统内部管理进程和文件访问权限时使用用户标识号。

账号和标识号的对应关系在/etc/passwd文件中。

1.3 /etc/passwd文件

该文件所有者和所属组为root,除了root用户外只有读取的权限。

ubunutumysql如何查看用户 ubuntu怎么查看用户_用户


格式:

登录名:口令:用户标识号:组标识号:注释:用户主目录:Shell程序

登录名:同意系统中唯一,大小敏感。
口令:密码,root和用户可使用passwd命令修改。
用户标识号:唯一。
组标识号:每个用户可以同时属于多个组。
注释:相关信息,真实姓名、联系电话等。mail和finger等会使用这些信息。
用户主目录:用户登录后的默认工作目录。root为/root,一般用户在/home下。
Shell程序:登录后默认启动的Shell程序。

1.4 /etc/shadow文件

包含用户的密码和过期时间,只有root组可读写。

ubunutumysql如何查看用户 ubuntu怎么查看用户_ubuntu_02

格式:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:密码禁用期:账户失效时间:保留字段

登录名:略。
加密口令:*表示账户被锁定,!表示密码被锁定。其他的前三位表示加密方式。
最后一次修改时间:最近修改密码的时间,天为单位,1970年1月1日算起。
最小时间间隔:最小修改密码的时间间隔。
最大时间间隔:最长密码有效期,到期要求修改密码。
警告时间:密码过期后多久发出警告。
密码禁用期:密码过期后仍然接受的最长期限。
账号失效时间:账户的有效期,1970年1月1日算起,空串表示永不过期。
保留字段:保留将来使用。

2 用户组和组标识号

2.1 用户组

用户组指,一组权限和功能相类似的用户的集合。

Linux本身预定义了许多用户组,包括root、daemon、bin、sys等,用户可根据需要自行添加用户组。

用户组拥有组名、组标识号、组成员等属性。

2.2 用户组编号

Linux内部通过组标识号来标识用户组。

用户组信息保存在 /etc/group 中。

2.3 /etc/group文件

ubunutumysql如何查看用户 ubuntu怎么查看用户_用户组_03

格式:组名:口令:组标识符:成员列表

/etc/passwd文件指定的用户组在/etc/group中不存在则无法登录。

3 用户管理

3.1 添加用户

3.1.1 useradd命令

命令:

useradd [option] 登录名

option参数自行查阅。
一般加-m创建目录。

3.1.2 adduser命令

adduser [option] user

如果没有指定–system和–group选项,则创建普通用户。

否则创建系统用户或用户组。

3.2 修改用户信息:usermod

命令:

usermod [option] 用户名

具体选项信息自行查阅。

3.3 删除用户:userdel

命令:

userdel [option] 用户名

-f:强制删除(谨慎使用)
-r:主目录中的文件一并删除。

3.4 修改用户密码:passwd

命令:

passwd [option] 登录名

3.5 显示用户信息

命令:

id [option] [用户]

3.6 用户间切换:su命令

命令:

su [option] [用户名]

用户名为 - ,则切换到root用户。

3.7 受限的特权:sudo命令

sudo使得用户可以在自己的环境下,执行需要root权限的命令。

该信息保存在/etc/sudoers中。

4 用户组管理

4.1 添加用户组

4.1.1 addgroup命令

类似adduser

4.1.2 groupadd

类似useradd

4.2 修改用户组

类似usermod,使用groupmod。

4.3 删除用户组

类似userdel,使用groupdel。

5 权限管理

5.1 概述

5.1.1 权限组

一般创建文件的人为所有者,其所属的主组为所属组,其他用户为其他组。

5.1.2 基本权限类型

三种:读、写、执行。

权限及其表示值:
读:r或4
写:w或2
执行:x或1

5.1.3 特殊权限

setuid、setgid和黏滞位。

setuid和setgid能以文件所有者或所属组的身份运行。

黏滞位使得只有文件的所有者才可以重命名和删除文件。

5.1.4 访问控制列表

访问控制表ACL可以针对某个用户或者用户组单独设置访问权限。

5.2 改变文件所有者chown命令

命令:

chown [option]...[owner][:[group]] file...

5.3 改变文件所属组chgrp命令

用户不受文件的文件主或超级用户不能修改组。

5.4 设置权限掩码umask命令

文件的权限为666-掩码
目录的权限为777-掩码

5.5 修改文件访问权限

命令:

chmod [option]...mode[,mode]...file...

“+”:增加权限
“-”:减少权限
“=”:设置权限

5.6 修改文件ACL:setfacl命令

命令:

setfacl [option] file...

5.7 查询文件的ACL

命令:

getfacl [文件名]