用户身份与权限

useradd(创建新用户)

useradd 命令用于创建新的用户,格式为“useradd [选项] 用户名”
默认的用户家目录会 被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名 的基本用户组。
-g 指定一个初始的基本用户组(必须已存在)
image.pngimage.png

groupadd(创建用户组)

groupadd 命令用于创建用户组,格式为“groupadd [选项] 群组名”。

usermod(修改用户属性)

usermod 命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
用户的信息保存在/etc/passwd 文件中
可以直接用文本编辑器来修改其中的 用户参数项目,也可以用 usermod 命令修改已经创建的用户信息
-g变更用户所属用户组,-G(将某用户加入某组中)变更扩展组,更改扩展组id(基本组不会受到影响)-u修改uid
image.pngimage.png
image.png

passwd

passwd 命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”
image.png

userdel(删除用户)

userdel 命令用于删除用户,格式为“userdel [选项] 用户名”。
image.png

文件权限与归属

字符:-普通文件 d目录文件 l链接文件 b块设备文件 c字符设备文件 p管道文件。
可读(r4)读取、
可写(w2)编辑、{“可写”表示能够编辑、新增、修改、删除文件的实际内容;“}
可执行(x1)运行程序
image.png
例:文件的权限就是 rwxrw-r—,数字法表示即为 764

image.png

每一文件或目录的访问权限都有三组
属主(权限) —属组 (权限)—其他用户(权限)

文件的特殊权限

SUID

使程序执行者临时拥有(所有者)数组的权限rex-rwS

SGID

让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)
在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)\

文件、目录权限修改

chmod (设置文件/目录权限)

设置文件或目录的权限,格式为“chmod [参 数] 权限 文件或目录名称”。
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
+ 添加某个权限。 - 取消某个权限。= 赋予给定权限并取消其他所有权限(如果有的话)。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
u 与文件属主拥有一样的权限。 g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。 文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。
例如:chmod g+r,o+r example
使同组和其他用户对文件example 有读权限。
用户身份与文件权限 - 图11image.pngimage.pngimage.png

chown(设置文件/目录属组主)

命令,设置文件或目录的所有者(属主)和所属组,格式为“chown [参数] 所有者:所属组 文件或目录名称”
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
例1:把文件shiyan.c的所有者改为wang。
$ chown wang shiyan.c
例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。
$ chown - R wang.users /his
特别的共 性,就是针对目录进行操作时需要加上大写参数-R 来表示递归操作,即对目录内所有的文件 进行整体操作。
image.png

chgrp(更改文件属组)

只更改文件的属组

- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的所有文件的属组为book。

文件的隐藏属性

chattr(设置文件隐藏属性)

chattr 命令用于设置文件的隐藏权限,格式为“chattr [参数] 文件”。
把某个隐藏功能添加/移除到文件上,则需要在命令后面追加“+/-参数”
image.pngimage.png

lsattr(显示文件隐藏属性)

显示文件隐藏属性,格式为“lsattr [参数] 文件”。

文件访问控制列表

ACL对某个指定的用户进行单独的权限控制

setfacl(权限控制单一用户/组/文件/目录)

setfacl 命令用于管理文件的 ACL 规则,格式为“setfacl [参数] 文件名称”。
使用 setfacl 命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制
针对目录 文件需要使用-R 递归参数;针对普通文件则使用-m 参数;如果想要删除某个文件的 ACL,
则可以使用-b 参数。?常用的 ls 命令是看不到 ACL 表信息的,但是却可以看到文件的权限最后一个点(.)变 成了加号(+),这就意味着该文件已经设置了 ACL 了

getfacl

l 命令用于显示(查看)文件上设置的 ACL 信息,格式为“getfacl 文件名称”

普通用户

su (切换用户身份)

命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切
换到其他用户,比如从 root 管理员切换至普通用户:
[root@linuxprobe ~]# su - linuxprobe

sudo (普通用户提供额外权限)

命令用于给普通用户提供额外的权限来完成原本 root 管理员才能完成的任务,格式
为“sudo [参数] 命令名称
image.png
sudo 命令具有如下功能:
限制用户执行指定的命令:
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数
验证密码的后 5 分钟内(默认值)无须再让用户再次验证密码
visudo设置普通用户权限