Linux系统(5):操作用户和用户组、修改访问权限、权限分配

Linux系统(5):操作用户和用户组、修改访问权限、权限分配

一、用户和用户组的介绍

image

image

超级用户(root):权限最大,可以操作任何指令
普通用户:部分指令没有权限去执行

普通用户如果有需求,可以向超级用户申请权限,相当于借用root来执行
解释说明
当在一个区域有很多的普通用户需要执行部分指令,但是权限不够,
这个区域可以表示为一个组,然后以组的形式向上申请权限来执行指令
这样是组表示用户组
查看Linux系统的用户
想要查看Linux系统的用户和用户组,需要通过配置文件去查看,
配置文件所在的位置都在etc目录下的passwd文本内,passwd表示用户的意思

image

image

查看用户时:
	test:x:1000:1000:test:/home/test:/bin/bash
	
	test:用户名
	x:加密的密码
	1000:用户编号
	1000:组编号
	test:用户全名称
	/home/cy:所在位置
	/bin/bash:可执行命令
查看Linux系统的用户组
group表示用户组的意思
当我们自定义创建用户的时候,系统会默认给该用户生成一个用户组

image

image

总结
用户和用户组:
	用户在/etc/passwd中
	用户组在/etc/group/中

二、操作用户

1、创建新用户
格式:
	useradd 用户名 

image

image

2、登录新用户

在创建新用户的时候,没有输入密码

所以在我们登录新用户之前需要手动设置密码

(1)给新用户设置密码

passwd----修改密码
格式:
	passwd 用户名
注意:输入密码时,密码默认不显示

image

(2)登录新用户

su----切换用户
格式:
	su 用户名
注意:root切换普通用户时,不需要输入密码;反过来,普通用户切换root用户,需要输入密码

image

验证一下普通用户无法操作部分指令

image

(3)删除用户
userdel----删除用户
格式:
	userdel [选项] 用户名
选项:
	-f:删除登录用户(使用-f时,用户相关文件和目录不会进行删除)
	-r:删除用户和用户相关文件和目录
	-rf:删除登录用户和登录用户相关文件和目录
注意:用户主目录在/home,通信文件在/var/spool/mail/

image

如何删除已登录的用户

image

虽然我们使用使用userdel -f 删除了用户 删除了用户,但是原来的用户和用户相关文件和目录没有删除,

那么我们需要将原用户的所有东西都要删除掉,需要使用userdel -r将其删除

(前面使用userdel -f 删除了用户,这时候不能再使用使用userdel -rf ,因为userdel -rf 是删除用户和用户相关文件和目录,此时已经没有用户,只有用户相关文件和目录)

三、操作用户组

1、创建用户组
groupadd----创建组(普通组)
格式:
	groupadd 组名
注意:
	自定义创建的用户组,叫做普通组,创建普通组的时候不会生成普通用户;
	但是创建普通用户的时候系统会默认生成组,这种组叫做主组
2、删除用户组
groupdel----删除组(普通组)
格式:
	groupdel 组名
注意:
	groupdel不能删除主组,主组随着用户的消失而消失(想要删除主组,就必须删除对应的用户)
	
区分:主组是创建用户时系统默认生成的,依赖于用户的存在而存在;
	手动创建的普通组用于管理多个普通用户
3、管理用户和组

手动创建一个普通组,再手动创建多个普通用户

因为普通组用于管理多个普通用户,这时候就需要将多个普通用户添加到普通组

例:

​ gpasswd -a 普通用户1 普通组

​ gpasswd -a 普通用户2 普通组

​ gpasswd -a 普通用户3 普通组

​ ......

gpasswd----管理用户和组
格式:
	gpasswd [选项] 用户名 组名
选项:
	-a:添加
	-d:删除
注意:
	组默认是没有任何用户的;
	添加用户到组的时候,可以添加到普通组、别的主组和本身的主组
	
	如果是删除普通组,无论组下是否有用户都可以直接删除
	如果是删除主组,并且主组里面有其他用户,删除主组时,删除的是主组对应的用户,主组不会被删除;此时主组变成普通组

四、操作访问权限

通过ll查看详细信息时:
-rw-r--r--. 1 root root 181 3月 15 15:34 test.txt

​ d rwx rwx rwx 分为4部分

​ d:表示类型,如果是d,表示是文件夹/目录,如果是-,表示是文本

​ rwx:表示当前用户权限

​ rwx:表示当前用户组权限

​ rwx:表示其他用户权限

​ root:表示当前用户

​ root:表示当前用户组

​ r:读,w:写,编辑,x:执行

​ - rw- r-- r--

​ -:表示该类型是文本
​ rw-:表示当前用户可读,可编写,但不能执行
​ r--:表示当前用户组只能读,不能编写和执行
​ r--:表示其他用户只能读,不能编写和执行

1、修改权限
chmod----修改文件的访问权限

权限分为4部分:
	d  rwx	rwx	rwx	

	d:表示类型,如果是d,表示是文件夹/目录,如果是-,表示是文本
	rwx:表示当前用户权限
	rwx:表示当前用户组权限
	rwx:表示其他用户权限
	
	r:读
	w:写,编辑
	x:执行
格式1:(使用相加减修改权限)
	chmod [选项]±[权限修改] [文件]
选项:
		u:代表当前用户
		g:代表当前组
		o:代表其他用户
		a:代表所有(所有用户和组)
举例1:
	将 -rw-r--r-- 的其他用户权限增加可编写权限
		chmod  o+w  test.txt
	修改后:-rw-r--rw-
	
举例2:
	将 -rwxrwxrwx 的所有可编写和可执行权限去掉
		chmod  a-w,a-x  test.txt
	修改后:-r--r--r--
格式2:(使用数字修改权限)
	chmod [选项]±[权限修改] [文件]	
			4:读(r)
			2:写,编辑(w)
			1:执行(x)
			7:全部权限(4+2+1)
举例1:
	将 -rw-rw-r-- 的权限修改为所有权限
		chmod  777  test.txt
	修改后:-rwxrwxrwx
	
举例2:
	将 -rwxrwxr-- 的所有执行权限去掉
	chmod  664  test.txt
	修改后:-rw-rw-r--
			
注意:
	如果只给一个数字,表示修改其他用户o,两个数字表示修改当前组g和其他用户o
举例:
	-rw-r--r--
	chmod  7   test.txt
	修改后:-------rwx
	

选项:
	-R:迭代修改
如果show.txt在目录test下,使用chmod修改test权限的时候,show.txt不会变;
要想在修改test权限的时候,其内部的文件权限也随之改变,使用迭代修改:chmod -R
2、修改用户组
chgrp----修改用户组

格式:
	chgrp [选项] [组名] [文件或目录]
选项:
	-R:表达迭代修改
举例:
	-rw-r--r--. 1 root root 181 3月  15 15:34 test.txt
	chgrp  test01  test.txt
	修改后:-rw-r--r--. 1 root test01 181 3月  15 15:34 test.txt

注意:
	文件或目录的所有用户或所有组,都是以编号来查询所有用户或所有组
	如果不存在就显示编号,存在显示名称

3、修改所属用户
chown----修改所属用户
格式:
	chown [选项] [组名] [文件或目录]
选项:
	-R:表达迭代修改
举例:
	-rw-r--r--. 1 root root 181 3月  15 15:34 test.txt
	chown  test01  test.txt
	修改后:-rw-r--r--. 1 test01 root 181 3月  15 15:34 test.txt

五、权限分配

sudo----越权执行
格式:
	sudo 命令
注意:
	sudo实际上去借root权限执行命令(root对普通用户分配了权限)

	sudo -l:查看当前权限
visudo----修改配置文件进行权限分配(文件所在位置/etc/sudoers)
例如:
	普通用户拥有root所有权限
		用户名 ALL=(ALL) ALL
		用户名 ALL=(root) ALL
例如:
	普通用户只能执行一个命令
		用户名 ALL=(root)/bin/rm

可以同过vim /etc/sudoers修改权限分配
posted @ 2022-01-07 20:49  阿伟宝座  阅读(4368)  评论(0编辑  收藏  举报