/etc/passwd 用户基本信息文件
每一行都分为7列(用:隔开),每一行是一个用户信息
-
用户名
-
x:密码占位符(不在此文件显示)
-
uid:用户的身份号码(0 特权用户,1-999系统用户,1000+普通用户)
-
gid:组号
-
描述:解释用户名
-
home:用户家目录,系统登录时所在目录
-
shell:命令解释器(定义命令,接受命令,执行命令)----bash(/bin/bash) /sbin/nologin----不能登录系统
/etc/shadow 用户密码信息文件(加密)
用户名:口令:最后一次修改时间 :最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留
-
用户名
-
口令:加密后的用户密码,如果没有,则该用户登录不需要口令 $数字$为加密方式,后面为值(*代表账号被锁定,!!代表密码已过期)
-
最后一次修改时间:显示从1970.1.1到最后一次修改时间的天数
-
最小时间间隔:两次密码可修改的时间间隔(0代表当天可修改)
-
最大时间间隔:密码有效期(99999代表密码无期限)
-
警告时间:密码到期时间前提醒时间
-
不活动时间:表示用户没有登陆但账号仍能保持有效的最大天数
-
失效时间:到时间账号无法使用
-
保留:系统没有设置,先占个位置
/etc/group 组信息文件
组名:组密码:组ID:组成员(默认为空) 组名:在创建系统时自动创建组,同名不同文件
组( 组类型只相对于用户而产生) ——基本组:随用户创建而创建的组,组名同用户相同, 一个用户只能有一个基本组 ,一个基本组可以有多个用户 ——附加组:用户加入到其他组而产生的组,一个用户可对应多个附加组
用户管理命令
创建用户命令——useradd 用户名 (用户创建在home文件下)(不能使用纯数字)
useradd 用户名 -u id——创建用户时,指定uid
-d /路径——创建用户时,指定家目录
-m 在主目录创建同名目录
-g——指定用户基本组
-G——指定用户附加组
-s /sbin/nologin——不能使用shell登录系统
查看用户信息——grep 用户名 /etc/passwd
——id 用户名
修改用户 密码命令——passwd 名字(密码不显示)
查看当前使用用户——whoami
删除用户命令——userdel -r 名字(没有-r无法删除残留文件)
修改用户属性命令——usermod
usermod 用户名 -G 组名—— 给用户加入附加组
-s /sbin/nologin 用户名 ————可令用户无法登录
组管理命令
基本组:创建用户时创建的组,只能有一个
附加组:用户加入的组
组管理————/ect/passwd 查看用户基本组
——/etc/group 查看用户附加组,id命令也可查看
vim /etc/group——储存组信息文件路径,可直接修改文件进行组成员的添加和删除
grep 名字 /etc/group——查看指定组信息
groupadd 名字——创建组(不能使用纯数字)
-g 组号——创建组时,指定GID
-o 允许创建有重复GID的组
groupmod -g GID 组名——————修改GID
-n 修改组名称
groupdel 组名——删除组
gpasswd -a 用户名 组——向组中添加用户
-d 用户 组——把用户从组移除
权限
提权
1、 su - root 输入管理员密码进入管理员权限(永久提权)
su root 也可切换其他用户
exit 退出管理员权限
2、sudo(以root给其他用户部分或全部授权)
语法:用户名 登录的主机=可执行命令
vim /etc/sudoers(文件所在地)whell是系统授权组
先超级管理员给予用户权限,再使用户进行操作
操作:sudo +命令
权限
对象:属主 u
属组 g
其他人 o
特殊对象 :所有人 a(u+g+o)
权限种类:读:r=4
写:w=2
执行:x=1 bash 文件——执行文件
watch -n1 ‘命令’——每隔一秒钟重复执行命令(方便实时观察结果)
ls -l 文件—— 可查看文件权限(简写为ll) 文件显示为绿色,代表有执行权,打开文件即可运行文件
ls -l -d 目录——查看文件夹的权限
类型和权限:链接次数:属主:属组:大小:创建时间:文件名 权限:对应属主/属组/其他人的权限 链接次数:相当于快捷方式的次数 大小:以字节显示
设置权限(作用与一个用户、一个组和其他人)
语法:chmod 对象(u/g/o/a) 赋值符 (+/-/=) 权限类型(r/w/x) 文件或目录
例如:chmod u+r 1.txt 将执行权给属主
chmod 712 1.txt 属主有读写执行权、组有执行、其他人有写权限
chmod u=r-x 1.txt 将属主的权限改为读和执行(覆盖原权限)
chmod ug=rw,o=r 1.txt 给属主读和写,给其他人读
= ————可覆盖文件已有权限,等于空格则取消所有权限
o=r-x(给其他人读和执行权限,-相当于没有给与w权限
-R 使目录下的文件都有权限
设置属主和属组
chown 用户名.组名 文件——更改属主和属组
chown -R ——更改目录下所有文件的属主属组
chown 用户名 文件——只更改属主
chown .组名 文件——只更改属组
chgrp 组名 文件——只能更改属组
ACL权限(可以设置不同用户,不同的基本权限,不同数量)
语法: setfacl -m u:用户名:权限 文件对象
操作:
getfacl 文件 ——查看文件的详细权限
setfacl -m u:用户1:rw 文件 ——增加用户1的读写权限
setfacl -x u:用户 文件 ——删除用户的ACL权限
setfacl -b 文件 ——移除文件的所有拓展权限
watch -n1 ‘命令’——每隔一秒钟重复执行命令(方便实时观察结果)
特殊权限
**suid——(对文件作用)使调用文件的用户临时具备属主权限
如果属主权限位显示s,表示属主有执行权,且其他用户在执行这个文件时,就会以属主的身份去执行
如果显示为S,则表示属主没有执行权
授权方式
chmod u+s 文件名
chmod 4--- 文件名
sgid——(一般作用于目录)使别的用户无法删除其他用户所创建的文件或目录
当某个目录设置了sgid权限时,该目录中创建的文件所属组和该目录的所在组一致
如果属组权限位显示s,表示属组有执行权
如果显示为S,则表示属组没有执行权
授权方式
chmod g+s 文件名
chmod 2--- 文件名
sticky bit——(作用在目录上)
概念:当目录拥有sticky bit权限时,普通用户在该目录下所创建的文件或目录,只能被该文件或目录的属主或超 管删除,其他用户无法删除
如果其他人权限位显示t,表示其他人有执行权
如果显示为T,则表示其他人没有执行权
授权方式
chmod o+t 文件名
chmod 1--- 文件名
chmod 7---- 文件名 添加所有特殊权限(第一位表示特殊位,后3位对应权限)
chattr命令
+i 文件——使所有用户无法进行修改和删除文件
+a 文件——只能对文件进行追加,不能修改和删除
lsattr命令
lsattr 文件
查看文件是否拥有特殊权限
权限掩码umask
umask——进程掩码(4位数字表示)
umask——默认显示0022 umask xxxx——修改进程掩码
初始权限=0777-umask
计算方式:
-
当目录创建时0777-umask就是目录的权限
-
当文件创建时会默认再减去执行权