用户、组和权限

安全3A

Authentication:认证

Authorization:授权

Accouting|Audition:审计

用户user

令牌token,identity

Linux用户:username/UID

管理员:root,0(玉玺)

普通用户:1-65535

系统用户:1-499,1-999(centos7)(通关文牒)

对守护进程获取资源进行权限分配

登录用户:500+,1000+(centos7)(虎符)

交互式登录

组group

Linux组:Groupname/GID

Linux新建用户时会默认创建一个和用户同名的组(允许用户名和组名同名)

组的类别

一个用户可以加到多个组里,一个组里可以添加多个用户,权限是累加权限

用户必须属于一个且只有一个主组

用户和组的配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow组密码及其相关属性

/etc/login.defs #用户口令shadow及UID相关信息配置文件

/etc/default/useradd #新建用户相关继承信息

/etc/skel #新建用户的模板目录

 

mount -o rw, remount / #在root权限受损无法登陆系统的情况下,把根以读写的权限重新挂载一下(在单用户模式下)

chfn 用户名 #给用户添加描述信息,等同于useradd -c

finger 用户名 #查看该用户的备注信息

更改用户的家目录需要在更改后的家目录中配置.bashrc和.bash_profile等相关配置文件

chsh -s [shell类型]  用户名 #更改指定用户的shell类型(/sbin/nologin 不可交互登录系统)

加密机制:

加密:明文–>密文

解密:密文–>明文

加密算法:

md5

sha1

sha224

sha256

sha384

sha512

pwconv #在passwd配置文档中隐藏口令密文

pwunconv #在passwd配置文档中显示口令密文

单项加密:哈希算法,原文不同,密文必不同

更改加密算法:authconfig –passalgo=256 –update

lll:!!:17623:0:99999:7::: #!!表示没有密码不可登录,删除后可以直接登录;17623表示从1970年1月(Linux系统出世时)到更改密码的时间(天);0密码还有几天可以变更(0表示随时可以);99999密码过期时间;7过期提前提醒时间;密码过期几天后账号会被锁定;从1970年1月1日算起还有多少天账号失效

passwd -e 用户名 #登录该用户时立即更改密码且符合复杂性等同于chage -d 0 用户名

chage -l 用户名 #查看用户口令详细信息

创建用户时不创建主组时users是该用户的默认主组

newgrp 组名 #把当前用户临时加入该组

useradd等同于adduser

vipw等同于vi /etc/passwd区别在于vipw可以自动识别语法错误

vigr同上(组)

pwck和grpck检测语法错误

getent passwd 用户名 #只看该用户的passwd文件

newusers #passwd文件格式 批量创建用户

chpasswd #批量修改用户口令

scp 文件名 目标主机IP:/存放目录 #远程复制文件

id 用户名 #查看用户属主、属组信息

-u        #UID

-g        #GID

-G        #显示用户所属组的id

-n        #显示名称,配合ugG使用

su [用户名] #非登录式切换用户,不会读取目标用户的配置文件,不改变当前工作目录

su – [用户名] #登录式切换,会读取目标用户配置,切换至家目录,完全切换

su – root -c 命令 #切换到root下执行该命令带参数有空格的用引号引起来

echo “PASSWORD” | passwd –stdin USERNAME  #一次性修改密码

groupmems #更改和查看组成员

文件权限

r:读权限4

w:写权限2

x:执行权限 1

图片1

chown #设置文件的所有者

chgrp #设置文件的属组信息

图片2

chmod        #设置用户权限

chmod  who opt per  file

who(对谁操作):u所有者;g所属组;o路人;a所有人

opt(做什么操作):+加权限;-减权限;=覆盖权限

per(跟什么权限):r读4;w写2;x执行1

FAT格式文件系统不支持权限设置、更改所属组所属主

读写权限对root没有什么限制

root没有执行权限,也不能执行文件

目录权限

r:列出目录文件列表

w:可以在目录中创建或删除文件(需要x)目录权限大于文件权限(打狗要看主人面)

x:cd 查看目录文件内容,查看目录中文件的详细内容

通常x权限只给目录加,一般文件不加,文件只给可执行二进制文件加x权限

reset        #恢复乱码

普通用户不能更改文件的所有者

普通用户可修改主组,但是要求该文件必须在该组中

root用户不受读写权限控制,普通用户受到权限的严格控制

二进制文件的读写权限

目录没有执行权限,意味着不能进入到目录,不能查看目录里文件的详细信息

chmod –reference=f1 f2 f3

chmod -R 77 /* (从删库到跑路系列第二步) #把所有目录和文件设置所有权

chown -R wang /*(从删库到跑路系列第三步) #把所有目录和文件的属主和属组都设置为wang

chgrp #设置文件属组 -R 递归

umask #设置用户的默认权限

umask + default = file

最大权限-默认权限=用户权限(奇数+1)

例如:666-251=415(奇数+1)426

umaks + default = dir

最大权限=默认权限+用户权限

例如:777-251=526

umask -p >> .bashrc #把更改后的umask写到.bashrc

SUID(4):继承二进制程序所有者的权限,SUID只适合附加在在二进制可执行程序上

chmod     u+s      /bin/user/nano (chmod     4755      /bin/user/nano)  //给nano加上suid权限

SGID(2):继承二进制程序所有者的权限,作用于目录,此目录新建的文件将自动继承目录的所属组

Sticky(1):作用于目录,此目录的文件只能被所有者删除;粘滞位

chattr #设定文件特定属性

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

+a        #只能追加

+A        #锁定atime

lsattr #显示特定属性

acl #访问控制列表

acl优先于其他权限

setfacl        #设置控制列表

-m        #修改

-M        #批量设置

-x        #删除

-X        #批量删除

setfacl -m mask::r f1 #可限制除所有者和other的最高权限,最终有效权限为r(限高)

setfacl -d f1 #清空f1文件的访问控制列表

getfacl #查看控制列表

cl的优先级:先匹配所有者,在看([自定义的用户权限,再匹配自定义组权限  ]   受mask影响)及其他

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94931

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code