管理相关命令
-
用户是服务器的代理
1.1 su - 用户名 完全切换
su 用户名 半切换 -
属组是用户的逻辑容器,可以给这个容器赋予权限
-
进程也是有属主属组的,谁发起了这个进程,那么这个进程就以谁的身份去运行
-
一般建议文件不需要有执行权限,但是目录必须得有
-
linux的用户跟组都要解析成UID、GID系统才能识别,所以分别有一个库
/etc/passwd
/etc/group
-
用户类别 UID
其中系统用户:当一个程序执行时必须有一个用户代理执行,并且这个执行程序的进程权限就是代理用户本身所拥有的权限
,这个用户不需要进行登录,这就是系统用户
注意:系统用户
-
-
当一个进程来访问一个文件时,先看进程的属主是否是文件的属主,不行的话再看进程的属主是不是在文件的属组里面然后匹配相关权限
例如下面先看进程属主tom是不是文件属主jerry 再看进程属主tom是不是在文件属组tom里面,然后匹配相关权限
-
系统支持的所有合法shell
-
cat /etc/passwd
-
cat /etc/shadow
分别是:
密码为是叹号表示禁用用户 -
加密方法
单向加密特性:不可逆、雪崩效应、定长输出
例(只要提供的原数据一样,加密后的密码就一样,只要改变一个字符结果就会全部改变:雪崩效应)
-
passwd
root用户可以加用户名改其他用户密码,普通用户直接不用加参数改自己的密码
–stdin 从标准输出读取密码
-l 锁定用户
-u解锁用户
-d 删除用户密码
-n 最短使用时间
-x 最长使用时间
-w 提前多少天开始警告
-i 非活动期限
还可以修改账号一些时间属性 可以man帮助
13.1 chage 更改用户密码过期时间
-d 最近一次修改密码的时间
-E 账号的过期期限
-I 非活动期限
-m 密码最小使用天数
-M 密码最大使用天数
-W 警告期限 -
组名:密码:GID:以这个组为额外组的用户列表
-
useradd
-u UID 指定UID号时,默认GID号跟UID号相同,并且如果不指定UID时,新用户的UID是/etc/passwd 最后一个UID号加1
-g GID 指定组时,组必须已经存在
-G GID… 附加组,必须已经存在,可以指定多个
-c “ ” 注释信息
-d 指定家目录
-s 指定shell路径 (在/etc/shells)
-m -k 强行创建家目录并从/etc/skel 中复制所有文件
-M 不给用户创建家目录
-r 添加一个系统用户(GID 1-499):没有家目录
15.1 useradd 添加用户,所有的默认设置如下
可以用命令:useradd -D 加上其他选项来修改
-
/etc/skel 有每个用户登录时的shell环境设定
-
/etc/login.defs:主要是设置/etc/shadow文件的,是一些默认的有效时间、失效时间、GID/UID号、加密方式的默认设定
-
userdel:删除用户
不指定参数 用户的家目录是不会被删除的
-r 删除用户的同时,删除家目录 -
usermod 修改用户属性 用法同useradd
-a -G 在原有附加组基础上再添加其他附加组,不适用-a则会覆盖
-d -m指定家目录:注意,如果以前已在家目录下创建过文件,再指定新的家目录,则以前的文件没有权限所以要加-m
复制原有文件到新的家目录
-l 改用户登录名
-e 指定有效时间
-L 锁定用户
-U 解锁用户 -
chsh:改用户默认shell
-
chfn 修改用户注释信息
-
pwck 检查账号密码完整性
-
groupadd
-g 指定GID
-r 添加一个系统组 :没有家目录
-
groupmod 修改组属性
-g 修改GID
-n 修改组名 -
groupdel删除组
-
gpasswd 给组加密码
-
newgrp +组名 临时以另外一个组为用户基本组,也叫登陆到一个新基本组,exit可以退出还原(需要密码,除非本身就属于这个组 )
-
用户创建文件的属主是用户自己,属组是用户的基本组
-
练习
系统用户查询命令
1.whoami 查看当前登录的用户
2.who
当前登录的用户以及终端
-r 显示运行级别
-H 显示头部
3.w 当前登录用户以及进行的动作
4.last 显示登录历史 查询的文件是/var/log/wtmp文件:文件中记录登录历史以及系统重启历史
-n # 只显示最近#次登录信息
5. lastb 查看的文件是 /var/log/btmp 显示用户错误的登录尝试
-n #
6.lastlog 显示每个用户最近一次成功登录信息
-u username
7. id:分别查询UID GID 附加组 只显示名字
8. finger:检索账号相关属性信息
权限及权限管理
- chown
–reference 是把后面文件属主属组修改成与前文件相同
- chgrp 修改属组
- chmod修改权限
修改某类或多类用户的权限
- 不用命令手动添加用户:
生成密码 -1是md5 -salt是杂质,复制到/etc/shadow
5. umask 文件或目录创建时的遮罩码
查询修改自己的遮罩码(临时的)
文件默认不能具有执行权限,如果算得的结果有执行权限,则结果加1
666-umask创建文件
777-umask 创建目录
root用户 022
普通用户002
特殊权限SUID等详解
- SUID
把cat这个命令本身权限改成s 所有用户都能访问/etc/shadow
- SGID:
在属组拥有s位权限的目录中创建的文件它的数组不再以用户自己的基本组位属组而是以目的的属组为属组
- Sticky
- 表示:权限为可以有四位,使用方法同ugoa,他的4 2 1 分别是 SUID SGID STICKY
facl
- setfacl
d: 默认控制链表 :任何在其中目录下创建的文件都会自动集成目录的访问控制列表
2.getfacl 查看
如果有额外的访问控制列表权限为后面是+
补充:
大家可以这样理解 mask 权限的功能,它将用户或群组所设定的 ACL 权限限制在 mask 规定的范围内,超出部分直接失效。
mask 权限可以使用 setfacl 命令手动更改
setfacl -m m:rx file1
#设定mask权限为r-x,使用"m:权限"格式