一、系统权限
选择稳定版操作系统是 因为项目部署的时候就要测试系统环境和软件的兼容性,不稳定的操作系统可能开机不能自启
最小化安装是因为CentOS系统没有权限把新的软件卸载然后装旧的
gcc,make安装了,黑客就不用安装了,直接用
更新系统到最小化安装最新版是 为了让系统更稳定
update是更新源里的软件列表 man yum /update 查看帮助
upgrade顾名思义是升级,升级你系统里的软件
1、文件权限
1.1、基本rwx
root目录的权限是550 创建一个目录的默认权限是755 少了x 为了防止其他人误删 文件的权限是644 少了x xw 为了安全考虑默认只能查看文件
/temp目录的权限是 1777
t权限是粘滞位,例:TMP目录下,任何人都有读写执行权限,但是不是任何人对里边的可写权限的文件就可以删除呢,当然不是,只有所有者才有权删除自已的文件,当然,ROOT除外
t权限主要是用于文件共享的目录
1.2、特殊权限124 t s o
setuid的作用是让执行该文件的用户以该文件拥有者的权限去执行,就是普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。它的标志为:s,会出现在x的地方,例:-rwsr-xr-x。
setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。
我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它(stick bit)是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。
chmod u+s xxx # 设置setuid权限 冒险位
chmod g+s xxx # 设置setgid权限 强制位
chmod o+t xxx # 设置stick bit权限,针对目录
chmod 4775 xxx # 设置setuid权限
chmod 2775 xxx # 设置setgid权限
chmod 1775 xxx # 设置stick bit权限,针对目录
注意: 有时你设置了s或t 权限,你会发现它变成了S或T,这是因为在那个位置上你没有给它x(可执行)的权限,这样的话这样的设置是不会有效的,你可以先给它赋上x的权限,然后再给s或t 的权限。
例如:普通用户是不能查看shadow密码的,但是给冒险位权限就可以查看
root用户给less命令的目录冒险位权限之后,普通用户就能查看了less
userdel -r 用户名 能删除用户但是无法删除用户创建的文件
因为默认用户创建的文件所有者和所属组就是用户,删掉用户之后就变成id了 (强制位)
1.3、访问控制列表ACL
出现+就说明文件拥有acl权限
1.4、chattr文件属性
只能追加不能删除,例如/etc/passwd用户信息目录,一定要加上这个权限
万一别人误删了,就无法登录系统了,加上chattr +a /etc/passwd 文件属性最安全
chattr +i 文件名称 无法追加修改和删除文件,适合设置重要的文件属性
chattr -i 就是恢复文件可以操作的 属性 防止黑客添加用户就必须设置+i属性
黑客也知道文件属性,但是我们可以把ch命令换个位置,让别人找不到
但是自己必须记录这个位置,忘记了 就凉凉了
重要的文件可以设置
写脚本进行日志轮转之前可以-a,之后再+a
1.5、mount -o 挂载权限
ro rw
rsync 同步 arsync 异步
此选项的默认模式为异步模式。在同步模式下,内存的任何修改都会实时的同步到硬盘当中,这种模式的安全性基本属于最高,但是因为内存的数据基本一直都在变化,所以这种模式会使得程序运行变得缓慢
vim /etc/exports
/share(共享目录) *(ro)
2、用户授权
普通用户su - root 需要输入密码
2.1、sudo
visudo
NOPASSWD是设置sudo切换用户不用密码
这个是设置sudo不能使用less命令查看/etc/shadow 加!就是禁止
sudo的组配置可以禁止组和组用户修改root密码
这个最好设置,避免别人把root密码改掉
sudo的安全设置都是root用户visudo设置的,其他用户没有visudo权限
还可以禁止chattr +a 文件属性命令,就不用把命令移动藏起来了
别名Aliases
主机Aliases设置之后其实就是ALL,可是sudo只是对本地有权限,设置其他主机也没用
其实就是定义别名分别管理网络、软件、服务、存储的命令
sudo日志可以查看所有sudo用户的操作日志
tail -f /var/log/secure 查看sudo用户安全日志信息