系统用户:
centos6上的UID(1-499)
centos7上的UID(1-999)
注:系统用户无法登陆到系统之中
登录用户
centos6上的UID(500+)
centos7上的UID(1000+)待
(通过交互式方式进行登录)
注:只有管理员有创建用户的权限,普通用户无法创建用户
配置文件:
/etc/passwd中存放着用户的账号信息,配置文件中用:号隔开了七个字段,其中的每一
个
字段都代表不同的含义
如:root:x:0:0:root:/root:/bin/bash
1:root:标识用户名
2:x:用户密码的占位符
3:0:用户的UID
4:0:用户的GID
5:root:用户的注释信息
6:/root:用户的家目录所在的位置
7:/bin/bash:用户所使用的shell
/etc/shadow中存放着用户的账号密码的信息,配置文件也用:号分割成了好几段,
每个字段同样有不同的含义
如:root:$6$WPjpqSwxMbi2LSA//5M2Q0:17900:0:99999:7:::
1:存放着用户的用户名
2:存放着用户用来加密的密码,默认是用sum512算法进行加密
3:最近更动密码的日期,默认是从1970年到现在的天数
4:密码最短使用时间,代表在这个时间之内,不允许更改用户密码。默认是0,代指随时
可以更改用户密码
5:密码需要重新变更的天数,即密码的最长使用时间
6:密码到期前的警告时间
7:密码已经过期了之后,用户可以登录的时间,如果这个时候还不改密码,那么过了时
间之后,该用户就无法登陆系统
8:记录用户密码的实效时间
注:用户密码的加密使用的是单向加密的算法,单向机密的特点是无论多长的密码串通过
加密之后都会生成固定长度的密文,而且即使相同的密码生成的密文也会有细微的差别。
为了提高机密性,单向加密的密码,即使是简单的改变其中的一个字符,加密之后的密
文也会千差万别,这个称之为雪崩效应。单向加密的算法分别包括:
1:md5
2:sha128
3:sha224
4:sha256
5:sha384
6:sha512
相关命令:
1,useradd(添加用户)
2,userdel(删除用户)
3,usermod(改用户的相关属性)
4,su(切换用户)
注:用su切换用户时中间要加上-号,将切换的用户初始化。当管理员切换到普通用户时
不需要密码,普通用户之间切换时需要用户密码
5,getent(看用户的/etc/passwd的相关属性)
6,id(查看用户的用户组)
系统组:
centos6上的GID(1-499)
centos7上的GID(1-999)
普通组:
centos6上的GID(500+)
centos7上的GID(1000+)
作用:每个用户必须有一个主组,在创建用户时如果不指定,那么系统会默认创建一个和
用户名相同的组,做为这个用户的主组
在创建用户时还可以指定用户的附加组,附加组可以是一个或者多个。
配置文件:
/etc/group中存放着用户组的相关信息,其中每个用户组也分为若干段,每段代表着不同
的含义
如:user9:x:511:user10
1:组的名称
2:组密码的占位符
3:组的GID号
4:以该组为附加组的用户
/etc/gshadow中存放着用户的组密码,格式和用户密码的属性差不多
如:gentoo:$6$bAR22/OrVWl/om$t2JQeQkuOSncUr2uqrLu3IrU***3loryJI9626d8C4ijz.Z.ZkQjZg0::
相关命令:
1,groupadd(添加用户的用户组)
2,groupdel(删除用户系统中的用户组)
3,groupmod(修改组的相关属性)
4,gpasswd(给组添加密码)
5,groupmems(更改和查看组成员)
在linux中可以通过ll命令看到文件以及目录的权限信息,其中第一个字段就包含着这个文
件或目录的权限,第二个字段是此文件的属主以及属组
权限的分类:
r:读权限,对应的二进制是4,标识用户可以读取文件中的内容
w:写权限,对应的二进制是2,标识用户可以在文件中增添查改内容
x:执行权限,对应的二进制是1,标识该文件可以执行。如果是目录,则标识该目录可
以进入其中。
注:这三个权限结合成一组,每三组标识着文件以及目录的基本权限,其中第一组代表着
文件的属主,第二组代表文件的属组,第三组其他人的权限
文件或目录的属主和属组:
在linux系统中每个文件或目录都会有属主和属组,这是基本权限的一个重要组成部分
目录和文件权限的异同点:
1,执行权限:
文件:可执行此文件
目录:可进入此目录之中,但是如果没有读权限,则看不到目录中的文件
2,写权限:
文件:可以在文件中增删查改,如果只有写权限,那么则无法看到文件中的内容
目录:可以删除该目录中的文件,如果只有写权限,那么需要事先知道目录中有
什么内容,才可以进行增删查改等进一步操作
3,读权限
文件:可以阅读此文件的内容
目录:可以看到目录中有多少文件
4,删除目录内的文件
即使对目录内的文件没有任何权限,只要对目录有写权限,就可以删除目录内的文件
如:-rw-r--r--. 1 root root 986 1月 22 14:59 /etc/fstab
1;文件的权限是644
2:文件的属主是root,可以读写此文件
3:文件的属组是root,可以读此文件
4:其他人权限,仅可读取此文件
相关命令:
1,chmod(该文件的权限)
(1)赋权表示法
(2)八进制表示法
(3)引用权限表示法
2,chown(改文件的属主和属组)
3,chgrp(该文件的属组,由于上一条命令的存在,这条命令已经赶不上时代的存在)
管理员的umask:022
普通用户的umask:002
文件:默认的是666,如果减的权限中有执行,那么会在减的结果中加1
目录:默认的是777
配置文件:
在/etc/profile中定义的有umask的配置文件
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
作用:在使用linux中基础权限有时会不满足系统中的使用,要加入一些特殊权限进行补足,即SUID, SGID, Sticky
SUID/SGID:该权限的权限标识位是s,当用户在执行此文件时,将使自己的身份临时切
换成文件的属主或属组。前提当给用户赋予SUID/SGID权限时,该文件的属主和属组必
须要有执行权限,否则权限标识位会显示成S
赋权方法:
1,chmod u+s file , chmod 4700 file
2,chmod g+s file , chmod 2700 file
Sticky:该权限的权限标识位是t,具有写权限的目录通常用户可以删除该目录中的任何
文件,在目录中加入Sticky权限,可使对该目录的中的内容删改权限仅有root可使用
赋权方法:
1,chmod o+t directory , chmod o-t directory
作用:
目录:
a:只允许在目录中建立和修改文件,但是不允许删除
i:只能修改目录下文件的数据,却不能执行删除和新建文件
文件:
a:可对文件进行添加,不可删除
i:不可对文件进行任何操作
赋权方法:
chatter +i file/directory
chatter +a file/directory
查看方法:
lsatter file/directory
作用:可以对目录或文件进行灵活的权限管理,让除了文件的属主,属组和其它人,可以
对更多的用户设置权限。
ACL权限的生效顺序:所有者,自定义用户,自定义组,其他人
查看磁盘的ACL权限:
tune2fs -l /dev/sda1
设置磁盘的ACL权限
tune2fs -o acl /dev/sda1
mount -o remount,acl /dev/sda1
注:在centos7中,无论是xfs还是ext4的系统都会默认加入ACL权限,之前的版本需要
手动添加ACL权限
赋权方法:
1,给单个文件和目录设置:setfacl -m u:admin:rwx file/directory
2,给目录进行递归设置:setfacl -Rm u:admin:rwx file/directory
3,给目录设置默认的ACL权限:setfacl -m d:u:rwx file/directory
4,删除ACL权限的方法 setfacl -x admin file/directory
注:
1,给文件重新赋予ACL权限的,要用选项--set
2,ACL中的mask是限制这个文件和目录能设置的最高的ACL权限,在设置的过程中,如果
出现超过mask的权限,系统会将mask权限和设置的权限相与,得到的最终结果才是这个
用户对此目录或文件的最终权限
查看方法:getfacl file/dirctory
备份和恢复ACL权限:文件中cp和mv命令都默认支持保留ACL权限,但是tar命令在打包
的同时,并不会保留文件中的ACL权限
1,getfacl -R /tmp/dir1 > acl.txt(把ACL权限保存到文件中)
2,setfacl -R -b /tmp/dir1(递归删除目录中的ACL权限)
3,setfacl -R --set-file=acl.txt /tmp/dir1 (重新给递归给目录赋予ACL权限)
4,setfacl --restore acl.txt(给文件恢复备份的acl权限)
原文:https://blog.51cto.com/14163901/2367961