退出root账户,用jkXX账户登录。退出jkXX账户,返回root账户,观察/etc/shadow文件;用passwd命令锁定用户jkXX,观察/etc/shadow文件变化;然后退出root账户,用jkXX账户登录,是否成功?
用chage命令查看peter账户的时间设置;重新设置peter账户的时间,要求两天内不能更改口令,且口令最长的存活期为 90 天,并在口令过期前 5 天通知用户,口令超期7天密码失效;用chage命令再次查看peter账户的时间设置
用root账户登录;用su切换到jason账户;用cd进入用户主目录;创建一个新文件abc,用长格式列出abc文件;观察文件的用户和组的属性
锁定账户后,shadow文件发生了什么变化?
答:锁定账户的密码之前会锁定标志!!
用su切换用户后,建立的新文件文件属于哪个用户?
答:新文件属于切换之后的用户。
两次执行chpasswd命令,结果是否相同?加密算法md5和sha512哪个更安全?
答:两次执行chpasswd命令结果不同,默认情况采用sha512加密算法;-m选项时,采用md5加密算法;sha512更安全,因为加密信息长度更长,破解计算量大。
建立三个普通用户账户,要求如下:用户名分别为jkXX(XX为学生学号末两位),peter,jason,其中jkXX和jason为相同普通组成员;观察/etc/passwd文件的变化。为jkXX账户添加root组;
分别练习id,groups,whoami,who命令,显示当前账户的信息;用su命令切换到jkXX账户,分别练习id,groups,whoami,who命令,显示当前账户的信息。用newgrp切换jkXX账户的组,分别练习id,groups,whoami,who命令,显示当前账户的信息
二、权限管理Linux是多用户的操作系统,允许多个用户同时在系统上登录和工作。 为了确保系统和用户的安全,Linux自然就有自己一套的权限管理机制了!
相信用过Linux的同学在检索文件夹文件的时候常常用到ls -l的命令,会出来一大串的数据。这些数据你能读懂了吗?
例如:
drwxr-xr-x 3 osmond osmond 4096 05-16 13:32 nobp其实很简单:
其实我们看权限就是看drwxr-xr-x这么一串东西,看起来很复杂,但不是的,一下就可以理解了。我们来分解一下:
这9个字符每3个一组,组成 3 套 权限控制
第一套控制文件所有者的访问权限
第二套控制所有者所在用户组的其他成员的访问权限
第三套控制系统其他用户的访问权限
rwx分别代表的意思:
看到这里来,如果前面的你看懂了,那drwxr-xr-x这么一串东西我觉得你很容易就能理解了:
d是文件夹,后面还有9个字母,每3个分成一组,-号表示没有。那么这个文件夹的权限就是:
对当前用户是可读可写可执行,对同组的用户是可读可执行,对其他的用户是可读可执行
是不是很简单??r-read,w-write,x-execute,很好理解的。
对于这些rwx命令为了方便还可以换成八进制的数据来表示,我相信大家看完下面的demo也知道其实就这么一回事了:
权限的优先顺序:
如果UID匹配,就应用用户属主(user)权限
否则,如果GID匹配,就应用组(group)权限
如果都不匹配,就应用其它用户(other)权限
超级用户root具有一切权限,无需特殊说明
2.1管理Linux权限的常用命令chmod
改变文件或目录的权限
chown
改变文件或目录的属主(所有者)
chgrp
改变文件或目录所属的组
umask
设置文件的缺省生成掩码
例子:
2.2权限扩展知识上面提到了umask属性,它用来做这样的东西的:默认生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限。
默认的umask的值是022,我们看一下下面的例子应该就能懂了:
除了上面所说的权限之外,Linux还提供了三种特殊的权限:
SUID:使用命令的所属用户的权限来运行,而不是命令执行者的权限
SGID:使用命令的组权限来运行。
Sticky-bit:目录中的文件只能被文件的所属用户和root用户删除。
它们是这样表示的:
SUID和SGID用s表示;Sticky-bit用t表示
SUID是占用属主的x位置来表示
SGID是占用组的x位置来表示
sticky-bit是占用其他人的x位置来表示
例如:drwxrwxrwt 5 root root 4096 06-18 01:01 /tmp它就拥有sticky-bit权限。-rwsr-xr-x 1 root root 23420 2010-08-11 /usr/bin/passwd它就拥有SUID权限
SUID,SGID,sticky-bit同样也有数字的表示法:
使用的例子:
Linux内核中有大量安全特征。EXT2/3/4文件系统的扩展属性(Extended Attributes)可以在某种程度上保护系统的安全
常见的扩展属性:
A(Atime):告诉系统不要修改对这个文件的最后访问时间。
使用A属性可以提高一定的性能。
S(Sync):一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
使用S属性能够最大限度的保障文件的完整性。