默认权限 umask 和特殊权限 | 学习笔记

简介: 快速学习 默认权限 umask 和特殊权限.

开发者学堂课程【Linux 用户和组管理 默认权限 umask 和特殊权限学习笔记,与课程紧密联系,让用户快速学习知识.

课程地址:https://developer.aliyun.com/learning/course/580/detail/7996


默认权限 umask 和特殊权限


用户账户信息包括:帐号名称,密码,UID,GID,主文件夹,登录Shell等等信息。用户和组的信息都会更新。

对于一个文件最大权限达到数字7。新建文件时候都会有默认权限。

㈠用户,组和权限

新建一个文件,输入

[root@centos7~]

[root@centos7~]

[root@centos7~]

[root@centos7~]#cd/data

[root@centos7 data]#touchf1

[root@centos7 data]#11

total 0

rw-r--r--1 root root 0 Sep 28 09:04f1

[root@ centos7data ]#suwang

[wang@ centos7data ]$touch f2

touch:cannot touch‘f2’: Permission  denied

[wang@ centos7data ]$exit

exit现在是没有权限的,要想让它有权限就得有如下:

[root@centos7 data]#chmod 777/data/

.[root@centos7 data]#su wang

[wang@centos7 data]$touchf2

[wang@centos7 data]$11

total 0

rw-rw-r--1  root root 0 Sep  28 09:04 f1

rw-rw-r--1  wang wang 0 Sep  28 09:04 f2

[wang@ centos7data ]$touchf3

[wang@ centos7data ]$11

total 0

-rw-r--r-1 root root 0 Sep 2809:04f1

-rw-rw-r--1  wang wang 0 Sep  2809:04f2

_ rw-rw-r--1_  wangwang 0 Sep  2809:05f3

默认权限的设置要比账号的权限小,权限越小就越安全。

[wang@ centos7data ]$ umask

umask它本身是一个数字

例如:

0002

[wang@centos7 data]$ usmak+default=666|777^c要避免产生默认权限

运行结果显示

644

022 umask

要是直接退出的话就会回到原来的值,要是想得到的是最终的值就得保存到文件中。

umask+default=666|777

如果umask值换为123,那么新建的文件的默认权限就是543。

123+default=666

default=543

具体如下:换为123是无影响的

0022

[wang¢os7~]$exit

exit

[root@ centos7data ]#suwang

[wang@ centos7data ]$umask

0022

[wang& centos7data ]$umask 123

[wang& centos7data ]$touchf5

[wang@ centos7data ]$77f5

-rw-r--r-1  wang wang 0 Sep  28 09:15f5

[wang@ centos7data ]$umask 123

换为321的话会有一点变化

[wang@ centos7daa ]$mask321

[wang& centos7data ]$touchf6

[wang@ centos7data ]$11f6

--r--rww-1  wangwang0Sep  28 09:15f6

[wang@ ceintos7data ]$666-321=345

umask掩码

110110110

011010001 321是它的umask值

要去掉这个权限为1

100100110

446

666

321 umask

345

㈡新建文件和目录的默认权限

amask值可以用来保留在创建文件权限

新建FILE权限:666-umask

如果所得结果某位存在执行(奇数)权限,则将其权限+1,这就是它的计算公式

#vim:ts=4:sw=4

root@ centos7data ]#id-un

root

[root@ centos7data ]#id-u

quot@ centos7data ]#id-un

root

[root@ centos7data ]#id-gn

root

[root@ centos7data ]#id-n id:cannot print only names or real IDs in default format[root@centos7data ]#id

uid=0(root) gid=0(root) groups=0(root)

[root@ centos7data ]#umaskS

u=rwx,g=rx,O=rx

[root@ centos7data ]#umask

0022[root@ centos7data ]#umask u=rw g=r o=

[root@ centos7data ]#umask

0122

[root@ centos7data ]#mkdirdirt

[root@ centos7data ]#11-ddir1 drw-r-xr-χ2 root root 6 Sep 2809;25 dirl

[root@ centos7data ]#

其次

root@centos7 data]#

root@centos7 data]#

root@ centos7datal #

root@ centos7data ]#umask-p

umask 0122

[root@ centos7data ]#umask

0122

[root@ centos7data ]#umask-p

umask 0122

[root@ centos7data ]#suwang

[wang@ centos7data ]$umask

0022

[wang@ centos7data ]$

新建D权限:777-umask

非特权用户umask是002

root的umask是022

umask:查看

umask#:设定

umask 002

umask-S模式方式显示

umask-p输出可被调用

全局设置:/etc/bashrc也可以写入这个文件,但是一般来说是不介意用户设置:~/. bashrc

1.当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作?

答:执行权限为目录的基础权限,没有执行权限则无法进入到目录,无法查看目录内容,无法在目录中创建、修改、删除里面的文件,就是什么也做不了

2.当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作?

答:无法查看目录中的文件列表

3.当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?

答:修改文件内容需要对文件有写权限才可以,而删除文件则需要对文件父目录有写权限才可以,所以redis对文件file1不可修改也不可删除

4.当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?

答:对目录有写、执行权限,则可以进入到目录,可以在目录中创建、删除文件,因此zabbix可以删除file1文件,修改文件需要文件本身有写权限方可,所以zabbix不能修改file1文件

5.复制/etc/fstab文件到/var/tmp下,设置文件所有者为tomcat读写权限,所属组为apps组有读写权限,其他人无权限

答:chown tomcat:apps /var/tmp/fstab

chmod g=rw,o= /var/tmp/fstab

6.误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性

答:cp /etc/skel/. /home/git    

还可以用一些字母来显示,例如-S,-P

#vim:ts=4:sw=4

[root@ centos7data ]#id-un

root

[root@ centos7data ]#id-u

o

[root@ centos7data ]#id-un

root

[root@ centos7data ]#id-gn

root[root@ centos7data ]#id−n id:cannot print only names or real IDs in default format[root@ centos7data ]#id

uid=0(root) gid=0(root) groups=0(root)

[root@ centos7data ]#umask-S

u=rwx,q=rx,o=rX

[rgot@ centos7data ]#umask

0022

[root@ centos7data ]#umask u=rwg=ro=

froot@ centos7data ]#umask

0122

root@ centos7data ]#mkdirdirl

foot@centos?data]#11ddir1 drw-r-xr-x2 root root 6 Sep  2809:25 dirt

[foot@ centos7data ]# umask --help

-bash:umask:--:invalid option

umask:usage:umask[-p][-S][mode]

[root@centos?data]#typeumask

umask is a shell builtin

[root@ centos7data ]#helpumask

umask:umask[-p][-S][mode]

Display or set file mode mask.

Sets the'user file-creation mask to MODE. If MODE is omitted, prints the current value of the mask.

If MODE begins with a digit, it is  interpreted  as an octal number: otherwise it is a symbolic mode string like that accepted by chmod(1).

if MODE is omitted, output in a form that may be reused as input

makes the output symbolic;otherwise an actal number is output

Exit Status; Returns success unless MODE is invalid or an invalid option is given.

[root@centos7 data]#

[root@centos7 data]#

[root@centos7 data]#umask -p

umask 0122

[root@centos7 data]#umask

0122

[root@centos7 data]#umask -p

umask 0122

[root@centos7 data]#su wang

[wang@centos7 data]$ umask

0022

[wang@centos7 data]$ exit

exit

[root@centos7 data]#wmask -p>>~wang/.bashrc

㈢Linux文件系统上的特殊权限

SUID,SGID,Sticky

三种常用权限:r,w,X user,group,other

安全上下文

前提:进程有属主和属组;文件有属主和属组

(1)任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限

(2)启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组(3)进程访问文件时的权限,取决于进程的发起者

(a)进程的发起者,同文件的属主:则应用文件属主权限

(b)进程的发起者,属于文件属组;则应用文件属组权限

(c)应用文件“其它”权限

文件能否访问是由用户决定

总结:

suid:4作用于二进制可执行的文件上,功能:当用户执行此文件,会继承此文件所有者的权限

said:2

⑴作用于二进制可执行的文件上,功能:当用户执行此文件,会继承此文件所属组的权限

⑵作用于目录上,功能:当用户在此目录建新文件时,此新文件的所属组继承目录的所属组

sticky:1作用于目录上,功能:对目录的文件,只能删除自己的文件

㈣权限位映射

SUID:user,占据属主的执行权限位

s:属主拥有x权限

S:属主没有x权限

SGID:group,占据属组的执行权限位

s:group拥有x权限

S:group没有x权限

Sticky:other,占据other的执行权限位

t:other拥有x权限

T:other没有x权限

设定文件特定属性

chattr+i不能删除,改名,更改

chattr+a只能追加内容

lsattr显示特定属性

㈤访问控制列表

ACL:Access Control List,实现灵活的权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7默认创建的xfs和ext4文件系统具有ACL功能

CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加tune2fs-o acl/dev/sdb1

mount-o acl/dev/sdb1/mnt/test

ACL生效顺序:所有者,自定义用户,自定义组,其他人

相关文章
|
8月前
设置权限
【6月更文挑战第16天】设置权限。
74 2
|
9月前
|
存储 安全 Android开发
Android系统 AppOps默认授予应用相应的权限
Android系统 AppOps默认授予应用相应的权限
324 0
|
安全 Linux
6.4 文件与目录的默认权限与隐藏权限
6.4 文件与目录的默认权限与隐藏权限
99 0
|
Linux vr&ar
【学习笔记之Linux】权限之目录权限与默认权限
【学习笔记之Linux】权限之目录权限与默认权限
178 0
|
监控 NoSQL 安全
|
Linux 数据安全/隐私保护
root权限的使用和启用
安装完 kali_linux_2020 后默认使用的是安装时创建的非 root 用户,由于 Linux 很多操作和工具的安装都需要用到 root 权限。所以使用 kali root 权限的使用很重要。
root权限的使用和启用