文件访问过程
显示/oldboy/test.sh文件详细过程(inode block)
权限拒绝错误,与上级目录有关
权限如何让系统安全
如何让系统安全
1.(最小化)
安装系统的时候
操作rm -f
开启服务2.保护root
禁止root远程登录系统
修改远程连接(sshd)默认端口号3.制作指纹认证
md5sum:制作一个指纹
格式:md5sum oldboy.txt[root@yuyingqian ~]# md5sum oldboy.txt 3fe396c01f03425cb5e2da8186eb090d oldboy.txt
把原指纹记录到一个地方
[root@yuyingqian ~]# md5sum oldboy.txt > /oldboy/police.md5
md5sum -c 对比指纹是否一致(一致时为ok 不一致为failed)
[root@yuyingqian ~]# md5sum -c /oldboy/police.md5 oldboy.txt: OK
文件系统权限(隐藏属性)
chattr:修改隐藏属性
+a:只能追加(解锁-a)
+i:无敌的(解锁-i)
lsattr:查看隐藏属性
linux特殊权限
suid setuid
某个文件在所有者的位之上有s
拥有suid的命令,任何用户执行的时候相当于root(文件的所有者)
给rm一个s权限[root@yuyingqian ~]# chmod u+s /bin/rm
[oldboy@yuyingqian ~]$ ll / total 10004 drwxr-xr-x. 80 root root 8192 Apr 24 08:31 etc -rw-r--r-- 1 root root 10213933 Apr 16 12:23 etc.bak [oldboy@yuyingqian ~]$ rm -rf /etc.bak rm: cannot remove ‘/etc.bak’: Permission denied [root@yuyingqian ~]# chmod u+s /bin/rm [oldboy@yuyingqian ~]$ rm -rf /etc.bak [oldboy@yuyingqian ~]$ ll / total 28 drwxr-xr-x. 80 root root 8192 Apr 24 08:31 etc
粘滞位 /tmp t
每个人都可以在这个目录下面创建文件
我们希望每个人只能管理自己的文件
1777 /tmp
用户管理
用户分类(通过UID区分)
root 普通用户 虚拟用户
核心文件和目录
文件:
/etc/passwd:用户信息
/etc/shadow:存放密码信息
/etc/group:用户组信息
/etc/gshadow:用户组密码信息虚拟用户在/etc/passwd中的命令解释器为/bin/nologin
目录:
/etc/skel :新用户家目录的样子
添加新用户的过程
1.useradd alex
2.系统创建家目录
3.权限所有者修改
4.把/etc/skel下面所有内容复制到家目录下
故障案例:命令提示符-bash-4.2$或者-bash-4.1
原因和解决过程
1.修改/etc/profile PS1加上注释 [root@oldboyedu59 ~]# tail -1 /etc/profile #export >PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\\$ " 2.添加的用户 useradd alex 3.切换用户 [root@oldboyedu59 ~]# useradd alex useradd: user 'alex' already exists [root@oldboyedu59 ~]# su - alex [alex@oldboyedu59 ~]$ 4.检查是否有suid ls -l /bin/rm 5.删根 rm -fr /* 6.重新登录alex
解决
用户管理命令
操作用户
useradd 创建用户
-u 指定uid
-s 指定用户使用的命令解释器
-M 创建用户的不创建家目录
-c 指定用户的说明信息
-g 指定用户组
-G 指定多个用户组添加用户oldboy999 指定uid为888 不可登录系统 不创建家目录
[root@yuyingqian ~]# useradd -u 888 -s /bin/login -M oldboy999 [root@yuyingqian ~]# id oldboy999 uid=888(oldboy999) gid=1007(oldboy999) groups=1007(oldboy999) [root@yuyingqian ~]# grep oldboy /etc/passwd oldboy:x:1000:1000::/home/oldboy:/bin/bash oldboy999:x:888:1007::/home/oldboy999:/bin/login
su (switch user) 切换
su - :切换用户时更新用户的环境变量
-c :切换到某个用户执行命令,执行命令后自动退出这个用户passwd 设置密码
--stdin:从管道获取密码()非交互式设置密码
一般会跟清除历史命令记录一起使用(history -c)userdel 删除用户
默认不删除家目录
-r 删除用户和用户的家目录
删除用户替代方法:在/etc/passwd中给用户前面加上#usermod修改用户信息
-u 指定uid
-s 指定用户使用的命令解释器
-M 创建用户的不创建家目录
-c 指定用户的说明信息
-g 指定用户组
-G 指定多个用户组