0
点赞
收藏
分享

微信扫一扫

025 Linux账户安全

夏木之下 2022-01-13 阅读 87

目录:

一:linux操作系统的用户分类:

普通用户
root超级管理员
	用户的分类和组
		/etc/passwd:保存了操作系统中所有用户的信息
			root:x:0:0:root:/root:/bin/bash
			字段1:用户名
			字段2:密码占位符
			字段3:用户的uid,0表示超级用户,500-60000:普通用户,1-499:程序用户(无法登录系统)
			字段4:基本组的gid,先有组才有用户
			字段5:用户信息记录字段
			字段6:用户的家目录
			字段7:用户登录系统后使用的命令解释器
			
		/etc/shadow:保存了用户的密码信息
			root:$6$1P0kVN6KjNOO05Tt$EVRdWiJ9eDbP2JLV4tSmNUQFmovIuhswl/tAr9xHo0nVZuTJxGWpyi.YJNHPynB9kNGGHPgoHd0aELBlRx1qT/::0:99999:7:::
			字段1:用户名
			字段2:sha加密方式,加入了salt值
			字段3:距离1970/1/1密码最近的一次的修改时间
			字段4:密码的最短有效期
			字段5:密码的最长有效期
			字段6:密码过期前7天警告
			字段7:密码的不活跃期(密码过期了,在这个期间的天数内,仍可以登录系统)
			字段8:用户的失效时间
			
		/etc/group:记录了系统中所有组的信息

 

二:建立及调整用户属性

1)建立一个名为class1的组,组ID为1000,class2的组ID为2000
	groupadd class1			# 默认501
	groupmod -g 1000 class1
	cat /etc/group
	groupadd -g 2000 class2
	cat /etc/group
2)建立一个tom用户,要求其基本组是class1组,附加组为class2组,tom用户的uid为600
	useradd -g class1 tom			# 可以写class1也可以写1000
	usermod -G 2000 -u 600 tom		# G:附加组
	id tom							# 查看
	创建时一步到位:
		useradd -u 600 -g 1000 -G 2000 tom
		id tom
3)建立一个程序用户uid为250,用户名为testuser,没有家目录
	useradd -u 250 -M -s /sbin/nologin testuser		# -M没有home目录,cd /home/ 下面没有该用户,-s /sbin/nologin:因为是程序用户,所以不能登录系统
4)为tom用户设定密码为123,并设定密码最长有效期为90天,将用户密码进行锁定使其无法登录系统
	管理员模式下:
	passwd tom
	123.com			# 输入密码
	123.com			# 确认密码
	chage -M 90 tom	# 设定有效期
	id tom			# 进行查看,但是无法查看多少天,
	passwd -S tom	# 查看状态,可以看多少天;也可通过cat /etc/shadow查看
	passwd -l tom	# 锁定账户
	passwd -u tom	# 解锁用户
5)删除tom用户和testuser用户,删除class1组和class2组
	userdel -r tom	# -r 连同用户文件一起删除,比如家目录
	userdel -r testuser	
	groupdel class1
	groupdel class2

 

三:调整文件及目录权限

通俗说:就是文件或者目录属于谁,属于哪个组,不同的用户能对该文件进行何种操作
查看文件权限:ls -l test.txt
查看文件夹权限:ls -ld testdir,不加d是查看这个文件夹中每一个具体的文件的权限
比如:
	-rw-r--r--. 1(硬链接数) root(所属者) root(所属组) test.txt
	drwxr-xr-x. 2 root root testdir
	-    rw-    r--    r--    .
	d    rwx    r-x    r-x    .
	字段1:文件类型:-普通文件,d目录,l符号链接,b块设备
	字段2:文件所属者对该文件的权限
				  r                  w               x                                     -
		文件:read读取文件       write写入文件     可执行文件                            什么权限都没
		目录:可以查看目录内容    可以增删文件     可以进入目录(一般目录都有这个权限)      什么权限都没
	字段3:文件所属组对该文件的权限
	字段4:其他用户对该文件的权限
	字段5:.表示受linux系统中的标签工具管理,若有外来程序访问一般会阻止(字段5不重要)
chmod 对象 算数运算符 权限 文件
	对象:u(所属者) g(所属组) o(其他用户) a(all)
	算数运算符:- + =			chmod 0-r /tmp/test.txt   其他用户去掉读的权限
	权限:r w x
	通过八进制改权限
		r w x -分别为4 ,2 ,1 ,0
		chmod 777 /tmp/test.txt
改变文件的所属者和所属组
	chown 用户 文件
	chgrp 组 文件	
举例注意点:
	mkdir /tmp/test
	chmod 777 /tmp/test
	然后切换到普通用户1
		touch /tmp/test/test.txt
		
		[user1@localhost test]$ ls -l test.txt 
		-rw-rw-r--. 1 user1 user1 0 Jan 13 18:01 test.txt
		会发现其他用户和组并没有删除这个文件的权限
	接下来切换到普通用户2
		进入到/tmp/test下
		rm -rf test.txt
		发现可以删除,上面又说到了其他用户没有删除这个文件的权限,那怎么回事?
		这是取决于这个test.txt这个文件的所在的文件夹的权限	
粘滞位:
	粘滞位针对目录赋权,目录中创建的文件只有建立者可以删除
	chmod o+t test
	[root@localhost tmp]# ls -ld test
	drwxrwxrwt. 2 root root 6 Jan 13 18:05 test
	其他的用户和组选项里面多了个“t”
	然后再分别进入其他用户,进行删除test.txt,发现会报错,无法删除

sgid:
	针对目录建立的权限,在该目录中建立的文件所属组继承改目录的属组
	chmod g+s test
	
suid:此种权限通常称为 SetUID,简称 SUID 特殊权限。
	对可执行文件建立。谁允许该文件,那么另外的执行者就具有该文件所属者的权限
	chmod u+s test
	SUID 特殊权限仅适用于可执行文件,所具有的功能是,只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,
	会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之消失。
不再允许添加新用户的请求:
	添加用户以下文件会有变化:
		/etc/group
		/etc/passwd
		/etc/shadow
		/home/xxx
	那么我们只有保证这些文件不变动,那么就无法创建新用户了。
	对文件进行锁定:
		chattr +i 要锁定的文件名
		chattr +i /etc/passwd /etc/shadow
	取消锁定:
		chattr -i
	使用 chattr 命令配置文件或目录的隐藏属性后,可以使用 lsattr 命令查看。lsattr 命令,用于显示文件或目录的隐藏属性
		lsattr /etc/passwd /etc/shadow
umask:
	让新建文件和目录拥有默认权限
	Windows 系统中,新建的文件和目录时通过继承上级目录的权限获得的初始权限,而 Linux 不同,它是通过使用 umask 默认权限来给所有新建的文件和目录赋予初始权限的。
	
怎么修改新建用户的默认天数:
	方法一:
		chage -M 90 tom	# 设定有效期
	方法二:直接修改默认值,不用每次创建用户都要去chage -M 90 user
		vim /etc/login.defs 里面的PASS_MAX_ADYS值


举报

相关推荐

0 条评论