Linux用户和组管理 - 默认权限umask和特殊权限

简介: 默认权限umask和特殊权限

默认权限umask和特殊权限

 

用户账户信息包括:帐号名称,密码,UIDGID,主文件夹,登录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 touchf2: 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&centos7~]$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

非特权用户umask002

rootumask022

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 ]#idn 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

三种常用权限:rwX usergroupother

安全上下文

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


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


(2)启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组


(3)进程访问文件时的权限,取决于进程的发起者

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

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

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

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

 

总结:

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

 

said2

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

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

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


四、权限位映射


SUIDuser,占据属主的执行权限位

s:属主拥有x权限

S:属主没有x权限

SGIDgroup,占据属组的执行权限位

sgroup拥有x权限

Sgroup没有x权限

Stickyother,占据other的执行权限位

tother拥有x权限

Tother没有x权限

设定文件特定属性

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

chattr+a只能追加内容

lsattr显示特定属性


五、访问控制列表


ACLAccess Control List,实现灵活的权限管理

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

CentOS7默认创建的xfsext4文件系统具有ACL功能

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

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

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

相关文章
|
3月前
|
Linux Shell
在Linux中,umask 和 ulimit有什么区别?
在Linux中,umask 和 ulimit有什么区别?
|
26天前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
38 2
|
1月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
52 11
|
24天前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
24天前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
24天前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
25天前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
24 0
|
3月前
|
Unix Linux Go
Linux中的chmod权限问题
Linux中的chmod权限问题
50 0
|
3月前
|
安全 Linux 数据安全/隐私保护
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
|
3月前
|
Linux
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。