用户、组、权限

目录:

用户

1、useradd

2、passwd

3、usermod

4、userdel

组账号

1、groupadd

2、gpasswd

3、groupdel

3、查询账号信息

权限和归属

1、chmod

2、umask

3、chown

4、三种特殊权限

用户、组、权限

3A:身份认证、密码认证、审计
生物认证、随机验证码

用户

linux基于用户身份对资源访问进行控制
用户账号:超级用户、普通用户、程序用户
组账号:基本组(私有组)、附加组(公共组) (必须要有基本组,有且唯一。附加组可有可无可多个)
UID:用户标识号 GID:组标识号
用户账号类型:
每一个用户通过user id(UID)来唯一标识的新建用户1-60000自动分配
管理员:root,0 超级管理员uid必定是0
程序用户:uid 1-999 (centos7) (1-499是centos6)
普通用户uid:1000-60000(centos7)(cenots6 500+)
 
/etc/passwd 用户账号文件
0
7段用冒号隔开
root:用户名
x:密码占位符
0:uid
0:组id。GID
root:备注
/root家目录
/bin/bash:登录shell环境
 
/etc/shadow 密码文件 密码、账号有效期等信息
passwd -d 清空密码
 
1:用户名
2:密码(双感叹号标识被锁定,用户无法登录,空表示可以不用密码登录、*也无法登录)
3、19261:自1970-1-1 到改密码的日期
4:修改密码最小天数 0表示无限制,4表是4天后才可以改密码
5、99999:密码有效期 不限期限99999
6、 7:提前N天提醒你密码快到期了
7、:宽限天数。7,密码到期以后还能再用7天
8、: 如果写了n,19262 表示失效时间。失效后用户锁定,无法登录
9、:保留位 目前没什么用 无实际效果
 
命令:

useradd

(对新建用户的设置,对已有的用户无法设置
useradd [选项] 用户名
常用选项:
常用选项:
-u 指定uid号
-d 指定家目录位置 //家目录要不存在
-e 失效时间 // -e yy-mm-dd
-g 基本组
-G 附加组
-M 不创建家目录
-s 指定sh类型
/sbin/nologin 不让人登录
0
下列shell都可以指定
0
-c(添加备注信息) useradd
0
0
0
-r 生成一个随机的系统用户(不生成家目录)
0
 

passwd命令

passwd 用户名 //直接改名 不加用户就是改当前用户
passwd [选项] 用户名
常用选项
-d 清空密码 不使用密码也可以直接登录用户
-l 锁定用户
-S 查看用户账户的状态(是否被锁定)
-u 解锁用户
 

usermod命令

对已有用户进行修改属性
usermod [选项] 用户名
选项:
-l 修改用户名 user -l b a (用户a改成用户b)(修改的名字在前,原来的在后)
-L 锁定用户
-U 解锁用户
-u、-d、-e、-g、-G、-s与useradd命令中的含义相同
 
chage 修改密码信息 chage 用户名
 

userdel删除用户账号

userdel [选项] 用户
-r 家目录一起删了
-f 强制
用户账号的初始配置文件
文件来源:
新建用户账号时,从/etc/skel目录中复制过来的
主要的用户初始配置文件:
0
bashrc/bash_profile 启动时进行操作的命令
bash_logout 退出后进行操作
 

组账号文件

groupadd命令

groupadd [-g GID ] 组账号名
0
创建GDI为1000的组账号:market
 

gpasswd命令

设置账号密码(极少用)、添加/删除组成员
gpasswd [选项] 组账号名
-d 删除组内成员
-a 加1个成员
gpasswd -a 用户 组名
-M 定义组成员列表,以逗号分隔
 

groupdel

groupdel 组账号名
 

查询账号信息:

groups 用户名
 
id 用户名
 
finger
yum install finger(要安装)
finger 用户名 //查看用户详细信息
 
w
w [选项] [用户名] //查询已登录到主机的用户信息
-h 不显示输出信息的标题
-l 用长格式输出
-s 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
-V 显示版本信息
0
 
who
who [选项] [file]
-a
列出所有信息,相当于所有选项。
-b
列出系统最近启动的时间日期。
-l
列出所有可登陆的终端信息。
-m
仅列出关于当前终端的信息,who -m 命令等同于 who am i。
-q
列出在本地系统上的用户和用户数的清单。
-r
显示当前系统的运行级别。
-s
仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
-u
显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
-T 或 -w
显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。
w、who的区别
相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。
 
 

文件/目录的权限和归属

访问人群:
1、所属组u
2、所属组g
3、其他人o
访问权限:
读取r 4
写入w 2
可执行x 1(文件夹的最小权限x,没x啥也不行,删除是可以的)
 

chmod命令

chmode 数字 文件名(还有1种,但是推荐直接记这种)
-R递归
chmod -R 777 /data 指data目录下文件的权限去掉
 

umask

umask 数字 //umask011(可以修改)
出来的数字是反的 →拿777/666 减去 umask数字得到的就是初始权限
为什么文件是666,为了安全,文件没有执行权限 不能一开始就执行那样万一是病毒呢
文件落地最高权限 666
文件夹落地最高权限 777
 

chown

chown 更改属主和属组(文件属谁)
chown 用户名.或者:隔开 组名 文件名
-R递归 (使用方法同chmod)
 
 

三种特殊权限

suid
当使用passwd命令处理文件时,当前用户就是这个文件的属主
chmod u+s /usr/bin/vim (这样普通用户使用vim的时候就很恐怖了,危险,要使用)
 
[root@localhost aa]#ll /usr/bin/passwd
#此处s表示当使用这个命令程序时,把当前用户当成文件的所属主
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
 
SGID(同suid,不过他是面对组)
#SGID
[root@localhost aa]#chmod g+s /usr/bin/vim
[root@localhost aa]#ll /usr/bin/vim
-rwxr-sr-x. 1 root root 2289640 8月 2 2017 /usr/bin/vim
 
 
Sticky位
#具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
#在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
#sticky 设置在文件上无意义
t
粘贴位 除了属主和root 别人不能删除文件夹里的文件
tmp 临时文件 所有用户的临时文件
 
[root@localhost aa]#chmod o+t /opt/aa
# 添加Sticky 位
[root@localhost opt]#chmod o-t /opt/aa
#减少Sticky 位
超级管理员,别人没读写,超级管理员有,别人没执行,超级管理员没
 
posted @ 2022-09-26 18:58  七分人格  阅读(132)  评论(0编辑  收藏  举报