常见LInux Capabilities

Capabilities is a concept provided by a security system that allows root privileges to be “divided up” into different values. These values can be assigned independently to processes so that to perform a privileged operation, this process may only contain the privilege necessary, without the need to assume the identity of superuser.

  • CAP_CHOWN:修改文件属主的权限
  • CAP_DAC_OVERRIDE:忽略文件的DAC访问限制
  • CAP_DAC_READ_SEARCH:忽略文件读及目录搜索的DAC访问限制
  • CAP_FOWNER:忽略文件属主ID必须和进程用户ID相匹配的限制
  • CAP_FSETID:允许设置文件的setuid位
  • CAP_KILL:允许对不属于自己的进程发送信号
  • CAP_SETGID:允许改变进程的组ID
  • CAP_SETUID:允许改变进程的用户ID
  • CAP_SETPCAP:允许向其他进程转移能力以及删除其他进程的能力
  • CAP_LINUX_IMMUTABLE:允许修改文件的IMMUTABLE和APPEND属性标志
  • CAP_NET_BIND_SERVICE:允许绑定到小于1024的端口
  • CAP_NET_BROADCAST:允许网络广播和多播访问
  • CAP_NET_ADMIN:允许执行网络管理任务
  • CAP_NET_RAW:允许使用原始套接字
  • CAP_IPC_LOCK:允许锁定共享内存片段
  • CAP_IPC_OWNER:忽略IPC所有权检查
  • CAP_SYS_MODULE:允许插入和删除内核模块
  • CAP_SYS_RAWIO:允许直接访问/devport,/dev/mem,/dev/kmem及原始块设备
  • CAP_SYS_CHROOT:允许使用chroot()系统调用
  • CAP_SYS_PTRACE:允许跟踪任何进程
  • CAP_SYS_PACCT:允许执行进程的BSD式审计
  • CAP_SYS_ADMIN:允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等
  • CAP_SYS_BOOT:允许重新启动系统
  • CAP_SYS_NICE:允许提升优先级及设置其他进程的优先级
  • CAP_SYS_RESOURCE:忽略资源限制
  • CAP_SYS_TIME:允许改变系统时钟
  • CAP_SYS_TTY_CONFIG:允许配置TTY设备
  • CAP_MKNOD:允许使用mknod()系统调用
  • CAP_LEASE:允许修改文件锁的FL_LEASE标志

[linux capabilities](https://www.jianshu.com/p/069bb123bb50 "linux capabilities")

Security-Enhanced Linux (SELinux)

Linux Security Mode

Linux系统先做DAC检查.如果没有通过DAC权限检查,则操作直接失败.通过DAC检查之后,再做MAC权限检查.

DAC

SELinux出现之前,Linux上的安全模型叫DAC,全称是Discretionary Access Control,翻译为自主访问控制.

核心思想:
进程理论上所拥有的权限与执行它的用户的权限相同.比如,以root用户启动Browser,那么Browser就有root用户的权限,在Linux系统上能干任何事情.

MAC

SELinux在DAC之外,设计了一个新的安全模型,叫MAC(Mandatory Access Control),翻译为强制访问控制.

核心思想:
任何进程想在SELinux系统中干任何事情,都必须先在安全策略配置文件中赋予权限.凡是没有出现在安全策略配置文件中的权限,进程就没有该权限.

Security-Enhanced Linux (SELinux)

SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Linux的安全加强系统.

所有DAC机制都有一个共同的弱点,就是它们不能识别自然人与计算机程序之间最基本的区别.
简单点说就是,如果一个用户被授权允许访问,意味着程序也被授权访问,如果程序被授权访问,那么恶意程序也将有同样的访问权.

SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制.由以下两部分组成:
1. Kernel SELinux模块(/kernel/security/selinux)
2. 用户态工具

Continue reading “Security-Enhanced Linux (SELinux)”

创建intellij idea启动图标

centos上创建intellij idea启动图标

Pycharm

# cat /usr/share/applications/pycharm.desktop 
[Desktop Entry]
Name=Pycharm
GenericName=Pycharm
Comment=Pycharm2019:The Python IDE
Exec=sh /wjhdata/pycharm-community-2019.1.3/bin/pycharm.sh 
Icon=/wjhdata/pycharm-community-2019.1.3/bin/pycharm.png
Terminal=false
Type=Application
Categories=Utility;Application

IntelliJ IDEA

# cat /usr/share/applications/intellij.desktop
[Desktop Entry]
Name=IntelliJ IDEA
Comment=IntelliJ IDEA
Exec=sh /wjhdata/idea-IC-191.7479.19/bin/idea.sh
Icon=/wjhdata/idea-IC-191.7479.19/bin/idea.png
Terminal=false
Type=Application
Categories=Utility;Application