菜鸟学Linux 第021篇笔记 特殊权限SUID、FACL、Linux 终端

简介:

菜鸟学Linux 第021篇笔记  特殊权限SUID、FACL、Linux 终端




xargs  


特殊权限


SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者所属主

chmod u+s FILE

chmod u-s FILE

如果FILE本身此前就有执行权限,则SUID显示为s;否则显示S大写;

应用场景:passwd

SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组

chmod G+s FILE

chmod G-s FILE

应用场景:可以给一个目录组加S ,则其它用户在该目录建立文件时,

都属于该文件夹的基本组

bug: 可以删除其它用户建立的文件(stick可以补这个问题)

 

stick:在一个公共目录,每个用户都可创建和删除自己文件,但不可以删除其它用户

chmod o+t DIR

001stick

010 SGID

100 SUID


chmod 1755 /back/test

chmod 3755 /back/test

chmod 7755 /back/test


umask 0022


文件系统访问列表

FACL: File system Access Control List

利用文件扩展保存额外的访问控制权限


setfacl(set file access control lists)

-m设定d:可以设置目录

u:Uname:perm

g:Gname:perm

-x取消

u:Uname

g:Gname

e.g.setfacl -m d:u:user1:rx

setfacl -m g:Gname:w

setfacl -x u:user

getfacl(get file access control lists)



安全上下文件查询顺序

Owner --> Group -->  Other

Owner --> facl,user --> Group --> facl,group --> Other





Linux 终端


command

w(Show who is logged on and what they are doing.)

who(show who is logged on)

-r(print current runlevel)

whoami(print effective userid)

last(show listing of last logged in users)

-n(num The same.)

显示/var/log/wtmp 文件

  

lastb显示登录未成功的连接

显示/var/log/btmp 文件

lastlog(reports the most recent login of all users or of a given user)

-uPrint the lastlog record for user with specified LOGIN only.

basename (strip directory and suffix from filenames)

$0 这样就可以取第0段字符最后一段文本

例如/root/adminusers.sh

如在脚本里写basename $0   则可以取出adminusers.sh名字  即基名

mail(send and receive mail)

-sSpecify subject on command line

hostname(show or set the system’s host name)


终端类型:

console:控制台

PTY 物理终端(VGA)

tty 虚拟控制台(VGA)

ttyS:串行终端

pts/#伪终端

特殊变量

$0取脚本执行名称

RANDOM 0-32768



随机数生成器: 熵池

RANDOM 0-32768

/dev/random

/dev/urandom




脚本练习

1、利用RANDOM 生成10个随机数,并找出其中的最大值和最小值;





Key

1.#!/bin/bash 

declare -i MAX=0

declare -i MINI=32769

for I in `seq 10`; do

RANGE=$RANDOM

 echo -n $RANGE,

 if [ $RANGE -gt $MAX ]; then

MAX=$RANGE

 fi

 if [ $RANGE -lt $MINI ]; then

MINI=$RANGE

 fi

done

echo -e "\n Max $MAX  MINI: $MINI"

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1866291如需转载请自行联系原作者


Winthcloud

相关文章
|
3天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
17天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
27天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
22小时前
|
安全 Linux Shell
【linux基础(四)】对Linux权限的理解
【linux基础(四)】对Linux权限的理解
|
1天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
2 0
|
1天前
|
存储 Shell Linux
Linux(25) 如何解决Linux终端乱码问题
Linux(25) 如何解决Linux终端乱码问题
8 1
|
2天前
|
Linux 数据安全/隐私保护 Windows
Linux的学习之路:4、权限
Linux的学习之路:4、权限
11 0
|
2天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
10 0
|
2天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
16 0
|
19天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境