用户、用户组
概述
- Linux是
多用户多任务操作系统,支持多个用户在同一时间内登陆,不同用户执行不同的任务,并且互不影响。 - 不同用户具有不同的操作权限
,每个用户在权限允许的范围内完成不同的任务。 - 权限最高的用户叫做
root,称之为超级管理员用户。 - 用户组
是具有相同特征用户的逻辑集合。基于用户组管理权限比直接基于用户管理权限效率要高。
文件归属:
- 根据用户、用户组管理理论划分,Linux上的文件(文件夹)的归属可以分为三类:
- 拥有者(
Owner user - 拥有者所在组(
Group user - 其他用户组(
Other users
文件权限
概述:
- 文件权限总体上分为三类:
- 读
r - 写
w - 执行
x
查看:
- 使用
ls -l命令可以显示出文件的权限相关信息。 - 第一列
的信息就是跟权限相关的信息。
权限信息解读
- 第1位表示文件类型:
-文件 d文件夹 l链接; - 第2位开始每3位构成一组,总共3组,表示:所属用户user、所属用户组group、其他用户组other的权限详情。
- 每组权限依次为:读、写、执行,用字母rwx表示,没有该类权限使用-表示。
rwx真实含义:
对于文件:
rwx权限对文件的作用读权限(r)表示可读取此文件中的实际内容。例如可以对文件执行cat、more、less、head、tail等文件查看命令。写权限(w)表示可以编辑、新增或者修改文件中的内容。例如,可以对文件执行 vim、echo 等修改文件数据的命令。执行权限(x)表示该文件具有被系统执行的权限。Window系统中查看一个文件是否为可执行文件,是通过扩展名(.exe、.bat 等),但在 Linux 系统中,文件是否能被执行,是通过看此文件是否具有 x 权限来决定的。也就是说,只要文件拥有 x 权限,则此文件就是可执行文件。但是,文件到底能否正确运行,还要看文件中的代码是否正确。执行权限是文件的最高权限。
对于目录:
rwx 权限对目录的作用读权限(r)表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录。一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容。写权限(w)•对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:在此目录中建立新的文件或子目录; •删除已存在的文件和目录(无论子文件或子目录的权限是怎样的); •对已存在的文件或目录做更名操作; •移动此目录下的文件和目录的位置。 一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。执行权限(x)目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。
- 文件能不能删除,跟文件本身的权限无关,跟文件的父目录有没有w权限有关
小结:
1.对于文件来说,x执行权限最高;对于文件夹来说,w权限最高,实际中授权需要谨慎。
2.权限管理对root用户无约束
3.通常来说相
关性越高,权限越高
用户组group管理命令
概述: - groupadd
- cat /etc/group
- groupdel
- chgrp
- chown
需要超级用户root的权限才能执行chown命令
1、增加一个新的用户组
groupadd 用户组
-g GID # 指定新用户组的组标识号(GID)。
groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2、查看当前系统已有组信息
cat /etc/group
ange❌1001:lisi,wangwu
ange #组名
x #密码口号 一般都没有密码
1001 #groupID gid 组编号
lisi,wangwu #归属该组的用户
3、删除组
groupdel 组名
4、修改文件归属的组
chgrp 组名 文件/目录名 针对文件夹加上-R可以实现递归修改
用户user管理命令
概述:
- useradd
:用于建立用户帐号,帐号建好之后,再用passwd设定帐号的密码。 - userdel
:用于删除用户帐号。 - cat /etc/passwd
:查看当前系统用户信息。
1、创建用户
useradd 选项 新建用户名
-g #指定用户所属的群组。值可以是组名也可以是GID
-G #指定用户所属的附加群组。
2、设置密码
[root@node1 linux02]# passwd 用户名
Changing password for user allen.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
3、删除用户
userdel -r 用户名
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
4、查看用户信息
cat /etc/passwd | grep 用户名
5、修改文件所属的用户
chown allen 1.txt #如果是文件夹及其下面的所有要修改 加上-R参数
su用户切换
概述:
- su
切换使用者的用户身份 - su命令适合在知道用户密码情况下的快速用户切换。
- 缺点是如果切换成root用户,需要root密码,容易泄露root密码。
[allen@node1 ~]$ whoami
allen
[allen@node1 ~]$ pwd
/home/allen
[allen@node1 ~]$ su root
Password:
[root@node1 allen]# whoami
root
[root@node1 allen]# su allen
[allen@node1 ~]$ whoami
allen
sudo权限
概述:
- 背景:普通用户需要root权限操作,但是又不能告知其root密码。可以通过
sudo配置,让普通用户具备某些root权限操作,同时又不会泄露root密码。 - sudo权限的控制是通过对
/etc/sudoers文件编辑实现的。 - 注意:不要轻易给别人配置sudo权限。
sudo权限配置使用
step1:root用户配置sudo - 只有root用户才可以为其他非root用户配置sudo权限。
- 命令:
visudo - 打开/etc/sudoers文件之后可以使用
100↓快速定位到编辑区域。
step2:普通用户申请sudo权限
- 普通用户执行命令之前需要添加sudo关键字,表示申请sudo权限执行;
- 到底是否具有sudo权限以及具备哪些权限,取决于/etc/sudoers中的配置
; - 如果检测发现具有sudo权限,会首先让
用户输入自己的密码进行验证,验证成功之后执行,并获取一个为时5分钟的签证,在此期间执行sudo不需要再输入自己的密码;
[allen@node1 ~]$ whoami
allen
[allen@node1 ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[allen@node1 ~]$ sudo ls /root
[sudo] password for allen: #输入allen的密码进行验证
1.txt anaconda-ks.cfg nohup.out stopZk.sh zookeeper.out
2.txt hivedata startZk.sh test
[allen@node1 ~]$ sudo ls /root
1.txt anaconda-ks.cfg nohup.out stopZk.sh zookeeper.out
2.txt hivedata startZk.sh test
sudo ls /root
标签:文件,sudo,用户,Linux,allen,权限,root From: https://www.cnblogs.com/beyond-thinker/p/18604843