6.linux 用户和权限的建立
一.用户和权限的建立
su 用户名 切换用户,如果是root用户切换其他用户,不需要输入密码。
exit 可以切换回上一个用户
linux 操作系统用户分哪几类?
管理员:root用户 uid 值 0
普通用户:uid 500 到 60000 之间 可以登录系统 /bin
程序用户:uid 1-499 不可以登录系统 当程序启动时需要调用用户的权限,只能赋予程序用户的权限
/etc/passwd 记录系统中所有用户的信息
root:x:0:0:root:/root:/bin/bash
字段1:用户名
字段2:密码占位符
字段3:uid值
字段4:用户的基本组id值
字段5:用户信息记录列 电话 地址 全名 等信息
字段6:用户的家目录
字段7:用户登录所用的命令解释器shell
/etc/shadow 记录系统中所有用户的密码信息、
root:$6$NstjDwa7R6a5AlaK$FT4fOZAeIzZyC38Y0JRXq85j:17465:0:99999:7:::
字段1:用户名
字段2:通过sha-512进行加密后的密码
字段3:距离1970年1月1日 密码最近一次的修改时间天数
字段4:密码的最短有效期ajest 5 在5天内不可以修改自己的密码
字段5:密码的最长有效期 ajest 90 90天内可以使用该密码
字段6:密码过期前7天提醒
字段7:密码过期后的不活跃期
字段8:距离1970年1月1日用户的失效时间
/etc/group 记录系统中所有的组信息
linux系统中所有用户必须拥有一个基本组,用户可以有多个附加组
root:x:0:
字段1 : 组名
字段2 : 组的密码占位符
字段3 :gid号
字段4 :用户的附加组为root组 该用户名会显示到该字段
二.如何建立用户,如何修改用户属性 , 如何建立用户密码,如何建立组, 修改组信息。
如何建立用户
useradd 【选项】 用户名
-u 数字 指定用户的uid号
-g 组名 指定用户的基本组
-G 组名 指定用户的附加组
-M 不建立用户的家目录
-s 指定用户的登录shell
建立一个名为game的程序用户,要求其uid为55
useradd -u 55 -s /sbin/nologin -M game
建立一个名为allen的用户,要求其 基本组为ajest组 附加组为root组,uid号为510
useradd -u 510 -g ajest -G root allen
三.如何修改用户属性
usermod [选项] 用户名 修改用户信息
-u -g -G -s 等同于useradd的功能
-L 锁定用户
-U 解锁用户
修改allen用户的uid 505 基本组为root组, 附加组为ajest组
usermod -u 505 -g root -G ajest allen
四.如何建立用户密码
passwd 用户名
-S 查看用户密码状态
userdel -r 用户名
-r 删除用户在家目录以及在/var目录中的所有信息
groupadd [选项] 组名 新建组
-g 指定组的gid
groupmod [选项] 组名 修改组信息
-g 修改gid
groupdel 组名 删除组
gpasswd -a 用户名 组名
为组中添加用户 (是用户的添加组)
gpasswd -d 用户名 组名
从组中删除用户
五.文件或目录的权限
drwxr-xr-x. 3 root root
d rwx r-x r-x
字段1: 文件的类型 d 目录 - 普通文件 l 符号链接文件 b 块设备 c 字符型设备
字段2:文件所有者的权限
普通文件 | 目录
r: 读取文件 | 列出目录内容
w: 编辑文件 | 可以添加删除文件
x:执行文件 | 可以进入该目录
字段3:文件所属组的权限
字段4 :其他用户的权限
3 -----目录中子目录的个数
root 文件的所有者
root 文件的所属组
chmod 修改文件权限
chmod 对象 运算符 权限 文件或者目录
例子:chmod go-w /share
对象分为 u(user 所属者) g(group所属组) o(other 其他用户) a(all所有)
运算符:+、-、=
权限 :r w x -(无权限)
8进制赋权
r=4 w=2 x=1
chmod -R 777 目录递归对目录中所有文件进行附权包括目录本身
chown 修改文件的所属者
chgrp 修改文件的所属组
-R 递归赋权
六.关于权限的高级用法 粘着位设定 sgid设定 suid 设定
粘着位:指定作用于目录,在该目录有写入权限的前提下,只有创建者可以删除自己的文件。(root 不受此影响)
chmod o+t 目录
chmod 1777 目录
sgid:指定作用于目录,在该目录中建立的文件或者目录 的所属组都继承该目录的所属组
chmod g+s 目录
chmod 2777 目录
suid:指定作用于可执行文件或命令文件, 执行该文件或命令时,其权限会按照当前文件或命令的所属者的权限执行。
chmod u+s 命令
chmod 4755 命令
如何设置文件的访问控制列表
setfacl -m u:用户名:权限 文件或目录
setfacl -m g:组名:权限 文件或者目录
getfacl 文件或者目录 查看
setfacl -x u:用户名 文件目录