一、用户号
1、账户类型
1.超级管理员:最高权限拥有者,uid=0的用户,默认是root。
2.普通用户:有一定权限的用户,但是权限受限制。
3.系统(程序)用户:不是给人用的,是给程序用的,无法直接登录系统的用户。主要是出于安全性考虑,若是某个程序被攻破账户密码泄露,黑客只能攻击此程序,但是不能通过这个账户密码登录系统,保证了系统的安全性。
2、uid及范围
1.uid:linux系统用于区分用户的号码。
2.uid范围:
系统版本 超级管理员 系统(程序)用户 普通用户
Centos 6 uid=0 1-499 500-60000
Centos 7 uid=0 1-999 1000-60000
1、用户组
①基本组:有且只有一个基本组,使用id命令查看,谁在最前面谁是基本组
②附加组:可以没有或者有多个,id命令查看,除最前面一个后面的都是附加组
4、添加账户
命令:useradd
基本格式: useradd [选项] 用户名
[选项] -u 创建时指定uid号
-d 创建时直接家目录,指定文件可以不存在。默认是在/home下生成一个同名文件
-M 创建时不生成家目录
-s 创建时指定shell类型,例如指定/sbin/nologin则此用户不能登录系统
-e 创建时指定账户失效时间,格式为"yy-mm-dd"
-g 创建时指定基本组
-G 创建时指定附加组
创建用户test,并指定uid为1100,家目录是/opt/test 登陆的shell是:nologin
5、删除账户
命令:userdel
基本格式:userdel [选项] 用户名
[选项] -r 删除用户时将家目录一起删除
6、组的增删改查
①添加组:groupadd 组名
②删除组:groupdel 组名
③组内用户管理:
组内添加用户 gpasswd 组名 -a 用户名
组内删除用户 gpasswd 组名 -d 用户名
批量添加用户 gpasswd 组名 -M 用户名,用户名。用逗号隔开
7、用户登录信息查询
①id命令:查看登录用户的uid,gid,组,环境
②w命令:查看登录信息,谁在登录,什么时候登录的,tty,主机ip,已经显示1、5、15分钟内cpu使用情况
③who命令:查看登录信息,谁在登录,登录时间,登录ip
④users命令:查看登录信息,只显示登录正此终端登录的账户
二、文件、目录的权限和归属
1、访问权限
r读权限:允许查看文件内容,显示目录列表
w写权限:允许修改文件内容,允许在目录中新建和移动
x执行权限:允许运行程序、切换目录
第1段:文件所属主的权限
第2段:文件所属组的权限
第3段:其他用户的权限
二进制数字表示法
rwx rwx rwx
二进制111 111 111
十进制 7 7 7
由此算出r=100(二进制)=4(十进制)
w=010(二进制)=2(十进制)
x=001(二进制)=1(十进制)
2、修改文件权限
命令:chmod
基本格式:chmod [选项] 主权限 组权限 其他用户权限 文件名
[选项] -R 递归,将该文件夹下所有文件权限一起修改
实例:修改/etc/yum.repos.d/及所属文件为777 ,chmod -R 777 /etc/yum.repos.d/
3、修改文件所属主和所属组
命令:chown
基本格式:chown [选项] 要改的主 :要改的组 文件
[选项] -R 递归将该文件夹下所有文件所属主、组一起修改。
实例:若只修改该文件及所属文件的所属主 chown -R 主 文件
若只修改该文件及所属文件的所属组 chown -R :组 文件
4、umask决定新建文件权限
新建文件权限:文件夹最高权限(777)减去umask值
新建目录权限:目录最高权限(666)减去umask,由于文件可执行较危险所以创建时不能赋予可执行权限,减完umask值之后若有执行权先则文件权限执行加1
查看umask值:umask命令
修改umask值:umask 数值 022 默认022
三、面试题
面试题: 锁定用户的两种方式:
(仅限于普通用户间切换 超级管理员不需要密码)
Passwd -l (锁密码) usermod -L(锁账户)
面试题:(需要的最小权限问题)
cp /etc/passwd /opt/ky29
cp:执行 passwd:读 ky29:写