菜单
本页目录

1、权限管理

img

2、chmod -R 数字 目录 #递归改目录及目录下所有子文件子目录权限

3、chown -R 所有者:所属组 #递归改目录及目录下所有子文件子目录所有者、所属组

4、文件隐藏属性

	1)、lsattr   [选项]    文件或目录
		lsattr	-a		文件或目录		#显示所有、包括隐藏属性
		lsattr	-d		目录			#若目标为目录,仅列出目录属性
	2)、chattr	[+-=][选项]	文件或目录		#修改隐藏权限
				i  	文件:只能看,不能删除、改名、修改、添加
					目录:只能改目录下文件的数据,不能创建、删除、改名
				a	文件:只能增加,不能删除、修改(用于日志)
							只能echo添加,不能vim添加
					目录:只能创建、修改(echo覆盖),不能修改
				e	ext文件系统默认有

5、文件特殊权限 SUID、SGID、SBIT

	RUID				RGID			EUID				EGID
	实际用户识别号		实际组识别号	有效用户识别号		有效组识别号

1) SUID:所有者的x权限被占用

#若具有x的文件设置SUID,则用户执行将以文件所有者身份执行

特点:只有二进制可执行文件才能设置suid权限				二
		执行过程中生效								中
		执行者有x权限								 x
		执行过程中,切换为文件的属主身份			  主
		EUID:由1000——》0
		
S	小写:原本有可执行权限
	大写:原本没有可执行权限

chmod		u+s		命令路径		#添加SUID权限
chmod		u-s		命令路径		#删除SUID权限

练习:其他用户能执行useradd命令

2) SGID:执行过程中,会切换为可执行文件的所属组

* 给目录设置SGID,目录下新建的所属组为上级所属组

chmod		g+s		目录		#添加SGID
chmod		g-s		目录		#删除SGID

		特点:	针对文件
				只有二进制可执行文件才能设置sgid权限		  二
				执行过程中生效								中
				执行者有x权限								 x
					执行过程中,切换为文件的属组身份		  组
				针对目录
					普通用户有rx权限才能进						rx
					普通用户有w权限时,新建文件属组为此目录属组		 w
					普通用户在目录中的有效组为成为目录的所属组		 组

3)SBIT权限 #限制所属组成员和其他人权限

# 	给目录设置,设置后只有文件所有者,目录所有者,root用户拥有权限

谁创建,谁能删,root和目录所有这除外
		chmod		o+t			目录		#添加SBIT权限
		chmod		o-t			目录		#删除SBIT权限
		练习:构建一个教室作业上传环境


421					421					421
rwx					rwx					rwx
U					G					O
SUID				SGID				SBIT
s					s					t
4					2					1

##	数字权限		 _ 		_		 _		 	_
					sst	  所有者	 所属组	  其他人

6、ACL权限(access contrl list)访问控制列表 #权限有+

## 当U、G、O权限不能满足环境时,设置ACL权限
	getfacl		目录或文件		#查看目录或文件所有权限
	setfacl		[选项] 	u:用户:权限		文件或目录		#设置
	setfacl		[选项]	g:组:权限		文件或目录
				选项	-b		#删除所有人、所有组条目
						-m		#添加ACL权限
						-x		#删除指定人、指定组条目
						-R		#递归创建目录下ACL权限,对已有目录子文件子目录生效,再次创建的不生效
						-d		#设置默认ACL权限,对目录生效
								对子目录子文件继承父目录ACL权限

		eg:	setfacl    -m	 u:user1:rwx	test.d
				setfacl	-x	u:user1		test.d
				setfacl	-b		test.d
				setfacl	-R	-m	   u:user1:rwx		aaa
				setfacl	-d	-m	   u:user1:rwx		aaa


	mask设置:最后设置		#若setfacl    -m    给的权限比mask默认大。则mask失效

查主机名:		
		cat   	/etc/hostname
		
修改主机名(永久生效):
		hostnamectl   	set-hostname		主机名

执行命令权限sudo
	在/etc/sudoers		
		用户账号		登录的主机名=(可切换主机名)		可执行命令
		root				ALL=(ALL)							ALL
		
给用户添加useradd、passwd可执行命令
		user1	ALL=(ALL)		/usr/sbin/useradd,/usr/bin/passwd,!/usr/bin/passwd  root,!/usr/bin/passwd  “”
	user1用户可执行sudo useradd 用户名	,  sudo   passwd	用户名

练习:hf01不知道root密码切换root终端

su -

	/etc/sudoers	中添加
	hf01			ALL=(root)		/bin/su –
	hf01用户执行	sudo      su   -
					输入自己密码