如何让系统安全?
最小化,安装系统的时候和操作和开启服务
保护root,禁止root远程登录系统,修改远程连接(sshd)默认端口号
制作指纹认证 md5sum
1.大家拿到的东西是否一致
2.对比文件是否发生变化
[root@oldboyedu59 ~]# #记录指纹信息
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]# md5sum oldboy.txt
af5a89bcc62e35fcd51819bb4031ab2e oldboy.txt
[root@oldboyedu59 ~]# md5sum oldboy.txt >/tmp/police.md5
[root@oldboyedu59 ~]#
[root@oldboyedu59 ~]# #与公安局的指纹信息进行对比
[root@oldboyedu59 ~]# md5sum --check /tmp/police.md5
oldboy.txt: OK
[root@oldboyedu59 ~]# >oldboy.txt
[root@oldboyedu59 ~]# md5sum --check /tmp/police.md5
oldboy.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[root@oldboyedu59 ~]# md5sum -c /tmp/police.md5
oldboy.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
文件系统权限(隐藏属性)
chattr 修改隐藏属性
a append 只能追加 (核心配置文件)
i immutable 不能改不能删 (系统命令)
[root@oldboyedu59 ~]# chattr +i oldboy.txt
[root@oldboyedu59 ~]# lsattr oldboy.txt
----i----------- oldboy.txt
[root@oldboyedu59 ~]# echo oldboy >>oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu59 ~]# >oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu59 ~]# \rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted
lsattr 查看隐藏属性
常用的命令解释器
/bin/bash
/sbin/nologin #虚拟用户的命令解释器
/bin/dash #ubuntu
/bin/csh /bin/tcsh #unix
Linux特殊权限
passwd suid setuid 某个文件在所有者的位置上有s,suid 拥有suid的命令,任何用户执行的时候相当于root(文件的所有者)
chmod u+s /bin/ls
chmod 4755 /bin/ls
/tmp 粘滞位sticky 每个人都可以在这个目录下面创建文件或者删除
我们希望每个人只能管理自己的文件 (t) 1777
用户管理
核心文件和目录
/etc/passwd 用户信息
/etc/shadow 存放密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
[root@oldboyedu59 ~]# awk -F: '/nologin$/{print $1,$3,$NF}' /etc/passwd |column -t #(对齐)
bin 1 /sbin/nologin
daemon 2 /sbin/nologin
adm 3 /sbin/nologin
lp 4 /sbin/nologin
mail 8 /sbin/nologin
operator 11 /sbin/nologin
games 12 /sbin/nologin
ftp 14 /sbin/nologin
nobody 99 /sbin/nologin
systemd-network 192 /sbin/nologin
dbus 81 /sbin/nologin
polkitd 999 /sbin/nologin
tss 59 /sbin/nologin
abrt 173 /sbin/nologin
目录
/etc/skel 新用户家目录的样子
#/etc/skel
[root@oldboyedu59 ~]# ll /etc/skel/
total 0
[root@oldboyedu59 ~]# ll -a /etc/skel/
total 24
drwxr-xr-x. 2 root root 62 Apr 11 2018 .
drwxr-xr-x. 79 root root 8192 Apr 24 11:16 ..
-rw-r--r--. 1 root root 18 Oct 31 01:07 .bash_logout
-rw-r--r--. 1 root root 193 Oct 31 01:07 .bash_profile
-rw-r--r--. 1 root root 231 Oct 31 01:07 .bashrc
.bash_profile /etc/profile PS1 LANG PATH(命令的位置路径)
.bashrc /etc/bashrc
.bash_logout
添加新用户过程
useradd alex 系统创建家目录 权限所有者修改 把/etc/skel 下面的所有内容 复制到家目录下
故障案例:命令行提示符-bash-4.1$或-bash-4.2$
-bash-4.2$ cp /etc/skel/.bash* ~
-bash-4.2$ logout
[root@oldboy59 ~]# su - alex
Last login: Wed Apr 24 11:58:40 CST 2019 on pts/1
[alex@oldboy59 ~]$
用户管理命令
useradd
-u 指定uid
-s指定用户使用的命令解释器
-M创建用户的时候不创建家目录
-g 指定用户组
-G指定多个用户组
-c 指定用户的说明信息
passwd
--stdin 从管道获取密码 非交互式设置密码
history -c 清除历史命令记录
userdel 删除用户默认不会删除家目录
-r 删除用户和用户家目录
删除用户替代的方法:在/etc/passwd中给用户前面加上注释#
su switch user
- 切换用户的时候更新用户的环境变量
-c 切换到某个用户执行命令,执行命令后自动退出
usermod 修改用户信息 参数与useradd相似
id
w
whoami
last
lastlog
[root@oldboyedu59 ~]# #添加用户oldboy888 指定uid为888 不可登录系统 不创建家目录
[root@oldboyedu59 ~]# useradd -u 888 -s /sbin/nologin -M oldboy888
[root@oldboyedu59 ~]# id oldboy888
uid=888(oldboy888) gid=1003(oldboy888) groups=1003(oldboy888)
[root@oldboyedu59 ~]# grep oldboy /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
oldboy888:x:888:1003::/home/oldboy888:/sbin/nologin
[root@oldboyedu59 ~]# ls -l /home/oldboy888
ls: cannot access /home/oldboy888: No such file or directory
[root@oldboyedu59 ~]# su - oldboy
Last login: Wed Apr 24 12:28:18 CST 2019 on pts/0
[oldboy@oldboyedu59 ~]$ whoami
oldboy
[oldboy@oldboyedu59 ~]$ logout
[root@oldboyedu59 ~]# su - oldboy -c whoami
oldboy
网友评论