linux 从头开始その十三

特殊权限SUID,SGID和SBIT

SUDI

  • SUID权限仅对二进制程序有效
  • 执行者对于该程序有x的权限
  • 本权限仅在执行该程序的过程中有效
  • 执行者将具有该程序拥有者的权限

例如:一般用户可以输入passwd修改自己的密码,一般用户对/usr/bin/passwd 这个程序有x权限, 表示一般用户可以执行passwd, 但是passwd的拥有者是root, 一般用户执行passwd过程中,会暂时获得root权限, /etc/shadow 可以被一般用户修改。SUID仅可以在二进制程序上,不能够在shell脚本上面。

SGID

  • SGID对二进制有效
  • 程序执行者对于该程序来说,需具备x的权限
  • 执行者在执行的过程中将会获得程序用户组的支持
  • 也能用在目录中

SBIT

  • 只针对目录有效
  • 当用户对目录具有r与x权限时, 既具有写入权限
  • 当用户有SBIT权限在该目录下建立文件或目录时,仅有自己与root才能删除文件
  •  

SUID:4   SGID:2  SBIT:1

chomd 4755    ==>   -rwsr-xr-x         原本是755  ==>  -rwxr-xr-x    前面加了个4  SUID把x变成s, -rwsr-xr-x 

chomd 6755    ==>   -rwsr-sr-x         原本是755  ==>  -rwxr-xr-x  前面加了6, 要设置SUID和SGID

chomd 1755   ==>   -rwxr-xr-t

chomd 7666   ==>   -rwSrwSrwT          大写,说明没有x权限

 

/proc/*

主机上的各个进程的pid都以目录的形式存在于/proc 中

ll /proc      查看所有的进程文件

ll /proc/1     查看进程的pid是1的

 

查询已使用的文件或已执行进程使用的文件

fuser:    找出正在使用该文件或目录的进程

-u   除了进程的pid之外,同时列出进程的拥有者

-m   后面接的那个文件名会主动地上提到该文件系统的最顶层

-v    可以列出每个文件与进程还有命令的完整相关性

-k     找出使用文件/目录地pid,并试图以SIGKILL这个信号给予该pid

-i      必须-k配合,在删除pid之前会先询问

[root@ ~]# fuser -uv .
                     USER        PID ACCESS COMMAND
/root:               root        812 ..c.. (root)aliyun-service
                     root       6079 ..c.. (root)bash

其中ACCESS:

c: 此进程在当前的目录下

e:  可被触发为执行状态

f:是一个被开启的文件

r:代表顶层目录

F:  该文件被使用了,不过在等待响应中

m: 可能为共享的动态函数库

 

lsof: 列出进程所使用的文件名称

-a:   多项数据需要同时成立

-u:后面加username, 列出该使用者相关进程使用的文件

-U 仅列出UNIX-likle 系统的socket文件类型

+d: 后面接目录,找出某个目录下面已经使用的文件

lsof 默认没安装 要yum install lsof -y 安装

lsof       # 默认情况下会将目前系统上面已经打开的文件全部列出来
lsof -u root -a -U

pidof : 找出某个正在执行的PID

-s  仅列出一个PID而不列出所有的pid

pidof systemd rsyslogd

 

systenctl 管理单一服务的启动/开机/ 查看状态

systemctl

start:   立刻启动后面的unit

stop: 立刻关闭后面的unit

restart:  重启

reload:   重新加载配置

enable:    后面接的unit会开机自启动

disable: 会自启动

status:    列出状态信息

is-active:   目前是否正在运行

is-enable:   是否开机自启

[root@ ~]# systemctl status atd.service
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-14 08:43:17 CST; 2 months 2 days ago
 Main PID: 534 (atd)
   CGroup: /system.slice/atd.service
           └─534 /usr/sbin/atd -f

systemctl stop atd.service     关闭这个服务

loaded:是否开机自启动, enabled.disabled 开机是否自启动, static 不可以自启动,不过可能会被其他的自启动服务来唤醒。mask:无论如何都不会被启动,可以通过systemctl unmask 改回默认状态

Active:  是否正在运行,running正在运行,dead死了, exited 仅执行一次就正常结束的服务。 waiting: 正在运行当中,不过还需要等待其他的事件发生继续运行。 inactive: 目前没在运行。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值