linux下的用户安全问题讨论

众所周知,现在的网络安全问题已经受到了人们的广泛关注,如用户信息被泄露,帐号密码被盗等等问题
然而在耳熟能详的计算机操作系统的安全性上来说,linux系统的安全性还是受到大家的肯定的!!!
那么下面就来谈一谈linux下的安全性问题

用户认证信息

若要查看用户的认证信息,则要查看文件/etc/shadows
在这里插入图片描述
由图可以看出此文件下每个用户后有九栏,分别为
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
【用户名称】pp
【用户密码】!!则表示无密码
用户的加密字符串,默认加密方式为sha512对成加密
【用户密码最后一次被更改的时间】17900
此时间计算是从1970-1-1开始计算的累计天数
【用户密码最短有效期】0
如果此位有设定数字,则表示在此数字范围内是不能修改密码的
【用户密码最长有效期】99999
用户必须在此有效期内更新密码,如果超时会被冻结
【密码警告期限】7
在过期前制定天数内会发送警告信息给用户
【用户非活跃天数】默认为空
如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
【用户到期日】默认为空
表示帐号一定会被冻结的时间点
【用户自定义列】目前没有启用
注意:若用户想要修改这些参数,则直接用vim编辑/etc/shadow即可

用户密码问题

passwd #更改用户密码
passwd -l #在用户密码前加入“!!”
passwd -u #
usermod -L #在用户密码前加“!”
usermod -U #在密码不为空时使用
passwd -d #清空用户密码
在这里插入图片描述
注意:
普通用户更改密码时
1.必须知道当前用户原始密码
2.密码不能和当前账户名称相似
3.密码不能是纯数字或者纯字母
4.密码不能是有序的数字和字母的组合

(1)用户最后一次被更改的时间
passwd -e #会改变用户最后一次更改密码时间为0,在用户登陆时会被强行改密码

chage -d 0 #功能同上一个命令相同
在这里插入图片描述

(2)用户密码最短有效期
passwd -n 1 #用户在一天内不能修改密码
chage -m 1

在这里插入图片描述
(3)用户密码最长有效期
passwd -x #设定用户在30天内必须改密码
chage -M 40

在这里插入图片描述

(4)密码警告期限
passwd -w 2 #密码过期前两天有警告输出
chage -M 2

在这里插入图片描述
(5)用户非活跃天数
passwd -i 1 #密码登陆仍然可以登陆的天数为1 天
chage -I 1

在这里插入图片描述
(6)用户到期日
chage -E date #用户会在指定的date被冻结

在这里插入图片描述

用户授权

1.权力下放
权力下放文件为/etc/sudoers
此文件可直接用vim编辑,但是不提供语法检测
也可以使用visudo编辑此文件,visudo提供语法检测

2.下放方式(visudo文件100行左右)
用户 主机名称=(用户得到的用户身份) 命令
在这里插入图片描述
在这里NOPASSWD执行免密
测试
在这里插入图片描述
系统无报错,命令运行成功,用户成功建立

文件权限

1.文件权限尊在的意义
系统最底层安全设定方法之一
保证文件可以被可用的用户做对应的操作

2.文件权限的查看
ls -l file
ls -ld dir

在这里插入图片描述
3.文件权限的解读
-(1)| rw-rw-r–(2)|1(3)|root(4)|root(5)| 6 (6)| jan 3 23:39(7)| file(8)

(1)文件的类型
-		#空文件,或者文本
d		#目录
l		#软连接
s		#socket,套接字
b		#block 块设备
c		#字符设备	
(2)文件的权限
rw-|rw-|r--
1	2	3
1.[u]文件拥有者对文件能做什么操作
2.[g]文件所有组对文件能做什么操作
3.[o]其他人对文件做什么操作
(3)
对文件:文件硬链接的个数(文件内容被记录的次数)
对目录:目录中子目录的个数
(4)文件的所有人
(5)文件的所有组
(6)
对文件:文件大小
对目录:目录中文件元数据(matedate可以理解为文件的属性)大小
(7)文件内容被修改的时间
(8)文件的名称

4.文件或目录的所有人或所有组更改
监视命令watch -n 1 'ls -lR /root/Desktop'
chown 更改后的所有人 文件/目录 ##更改文件或目录的所有人
在这里插入图片描述
chgrp 更改后的所有组 文件/目录 ##更改文件或目录的所有组
在这里插入图片描述
chown 更改后的所有人:更改后的所有组 ##更改文件或目录的所有人和所有组
在这里插入图片描述
加上-R 表示递归,适用于同时修改目录和目前下的文件的所以人和所有组
比如: chown -R root:root /mnt/ 更改目录下所有文件及目录的所有人和所有组(一起修改)

echo 输出命令
echo heheh 则输出heheh

在这里插入图片描述
4.如何改变文件权限
(1).对权限的理解
r:读
对文件:是否可以查看文件中的内容 —>cat file
对目录:是否可以查看目录的有什么子目录或者内容 —>ls dir
w:写
对文件:是否可以改变文件里面记录的字符
对目录:是否可以对目录中子目录或子文件的元数据进行更改
x:执行
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
(2).更改方式

chmod <u|g|o><+|—|=><r|w|x>
chmod u+x   	  /mnt/file1
chmod g-r   	  /mnt/file2
chmod ug-r  	  /mnt/file3
chmod u-r,g+x     /mnt/file4
chmod -r          /mnt/file5
chmod o=r-x       /mnt/file6

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

   利用数字表示权限
        r w x
        r=4或0
        w=2或0
        x=1或0
    rwx|-wx|--x
     7   3   1
    chmod 731 /mnt/file1      
7=rwx
6=rw-
5=r-x
3=-wx
2=-w-
1=--x
0=---

在这里插入图片描述
##新建目录权限默认为755
##新建文件默认权限为644

5 .umask——系统中预留的权限

目的:为了安全起见,一个文件或者目录建立后系统需要回收一部分权力

umask ##系统建立文件是默认保留的权力
umask 177 ##临时设定系统预留权限为177

永久更改umask
(1).vim /etc/profile ##系统配置文件

    59  if[$UID -gt 199]&&["`id -gn`"="`id -un`"];then
	60      umask 002      ##普通用户的umask
	61  else
	62 	    umask 022      ##超级用户的umask
	63  fi

在这里插入图片描述
(2).vim /etc/bashrc ##shell配置文件

    70 if[sUID -gt 199]&&["`id -gn`"="`id -un`"];then
	71    umask 002			##普通用户的umask
	72 else
	73    umask 022			##超级用户的umask
	74 fi    	

在这里插入图片描述
(3).执行生效(source ##重读目录文件)

source /etc/profile    ##让更改立即生效
source /etc/bashrc

示例:对超级用户的umask值修改为177
在这里插入图片描述
hhh的权限是777-177=600
可见6=2+4=rw权限

6.特殊权限
1.sticky ##粘制位
作用:只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能由文件的所有者删除
设定方式:

chmod o+t      dir
chmod 1xxx     dir

未更改前
在这里插入图片描述

更改后
在这里插入图片描述

2.sgid ##强制位
作用:
对文件: 只针对二进制可执行文件
当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
对目录: 当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
设定方式

    chmod g+s   file|dir
	chmod 2xxx  file|dir

未执行前
在这里插入图片描述
执行后
在这里插入图片描述
3.suid ##冒险位
只针对与2进制可执行文件
当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式:

chmod u+s    file
chmod 4xxx   file 

ps ax -o comm,user,group 扫描所有进程,包含其所有组和所有人并显示出来
执行前
在这里插入图片描述
执行后
在这里插入图片描述

7.acl权限列表

(1)作用:让特定的用户对特定的文件拥有特定权限

(2)acl列表查看

`-rw-rwxr--+  1 root root 0 Jul 21 14:25 file1`中权限中的“+”即为acl开启

getfacl file  ##查看acl开启的文件的权限

在这里插入图片描述
#file : file ##文件名称

#owner : root      ##文件拥有者

#group : root      ##文件拥有组

user::rw-         ##文件拥有人的权限

user::xixi:rwx     ##指定用户(xixi)的权限

group::r--        ##文件拥有组的权力

Mask::rwx       ##能赋予用户的最大权力值

Other::r--      ##其他人的权限

(3)acl列表的管理

getfacl  file  ##查看权限

setfacl –m u:username:rwx file     ##设定username对file拥有rwx权限

setfacl  -m g:group:rwx file       ##设定group组成员对file拥有rwx权限

satfacl  -x u:username file     ##从acl列表中删除username

satfacl  -b file         ##关闭file上的acl列表

在这里插入图片描述
在这里插入图片描述
(4)mask的值

在权限列表中mask标志能生效的权力值,当用chmod减小开启acl的文件权限时,mask值会发生改变

chmod g-w file  可同时改变mask的值

在这里插入图片描述
如果要恢复mask的值

setfacl –m m:rw file

在这里插入图片描述
(5)acl的默认权限设定

acl默认权限只针对目录设定,“acl权限只针对设定完成之后新建的文件或目录生效,而已经存在的文件是不会继承默认权限的”

setfacl –m d:u:xixi:rwx /mnt/westos   ##设定acl权限
setfacl –k /mnt/westos                ##删除默认的acl权限

在这里插入图片描述
默认权限列表对已经存在的file文件无效,但对新建的hah文件目录有效

猜你喜欢

转载自blog.csdn.net/weixin_42446031/article/details/85775548