Linux基于用户身份对资源访问进行控制
管理员用户默认:root,一般情况下是不进行更改的
提问:管理员的身份是按照什么来进行定义的?
答:UID
id root是查询权限
普通用户:普通用户都是管理员用户创建的,拥有的权限是受限的,普通用户在自己的家目录拥有完整的权限
程序用户:在安装操作系统,以及某些特定程序时,会安装一些低权限的账户,这些用户是不允许登录到系统的,作用是维持特定的系统程序以及某个第三方程序的正常运行
用uid来进行区分:
管理员:0
普通用户:1000+ centos7 500+是centos6
程序用户:1-999centos7 1-499是centos6
Linux基于用户身份对资源访问进行控制(组管理)
倒数第二个基本组(私有组) 最后一个是公共组(附加组)
基本组只能有一个,附加组可以有多个,
在Linux系统当中,我们统一用账户,用户作为标的
用户账户文件(etc/passwd)
用户账号文件/etc/passwd
/etc/shadow是密码
以下字段只需要了解(蓝色的是需要记住的)
root:x:0:0:root:/root:/bin/bash
字段1:用户帐号的名称
字段2:用户密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)
用户账号文件/etc/shadow
默认只有 root 用户能够读取 shadow 文件中的内容,且不允许直接编辑该文件中的内容。root:$6$VyOUGqOC$v5HlLM1wagZC/FwGfnrtJFnlT:18445:0:99999:7:::
字段1:用户帐号的名称
字段2:使用MD5加密的密码字串信息,当为“*”或“!!”时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段3:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段4:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段5:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段6:提前多少天警告用户密码将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用。
字段9:保留字段(未使用)
useradd 选项(多个选项)用户名
-u指定uid号,uid号不能重复,也就是uid号未被使用
-d指定用户家目录的位置
-s 指定用户的登录shell
-e指定用户账户失效的时间,格式是:yyyy-mm-dd
-g指定用户的基本组
-G指定用户的附加组
-M(一般使用很少),不建立用户的家目录
创建密码用户密码:
passwd 用户名 然后输入两次密码
echo 密码 | passwd --stdin 用户名
passwd
-d 清空用户的账户密码,也就是可以不需要密码就可以登录
-l锁定用户账户,锁定了之后就无法登录了
-S查看用户账户的状态(是否被锁定)
-u解锁用户账户
su:切换用户
su -用户名 (完整切换)切换了环境变量
su 用户名 (不是完整切换)没有切换环境变量
更改主机名
临时:hostname 新名字 输入su就刷新了(在root权限下)
永久修改:hostnamectl set-hostname 输入su就刷新了(在root权限下)
2永久修改,更改配置文件 vim/etc/hostname 进入修改,但是生效需要重新启动,所以说不推荐
修改用户账户属性:usermod
-u修改用户的uid号。usermod -u uid号用户名
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:修改用户的基本组名(或使用GID号) 。
-G:修改用户的附加组名(或使用GID 号) 。
-s:指定用户的登录Shell。
-L:锁定用户账户。
-U:解锁用户账户。
面试题,锁定用户的两种方法:
- passwd -l
- usermod - L
切换用户退出需要使用exit的指令来操作
删除用户 userdel -r 用户名
配置文件
source /etc/profile
作用:在当前bash环境下读取并执行/etc/profile中的命令。用户账号的初始配置文件:
/etc/profile
/etc/profile是系统的全局配置文件,对所有用户都有效。
它包含一些系统级别的环境变量和默认的系统级别的 shell 配置。
~/.bash_profile:该文件是用户登录时被执行的脚本,可以用来设置环境变量和一些常用的命令别名等信息。
通常用来为用户定制个性化的系统环境。
vim .bash_profile
alias cat='cat -n'
source .bash_profile
修改之后重新登录shell即可
~/.bashrc:该文件是在每个新的bash shell打开时被执行的脚本,
通常用来定义一些用户自己的shell函数、命令别名、路径、颜色等等。
vim .bashrc
alias cat='cat -n'
source .bashrc
/etc/bashrc:该文件是系统全局的bash配置文件,对所有用户都有效。
可以在该文件中添加系统全局的环境变量、别名等信息,通常用来为所有用户定制系统级别的配置信息。
赋权和归属
chmod
u 文件的所有者
g 文件所在组
o其他用户
a所有用户
chmod ugoa +-=
4 2 1
chown设置文件和目录的归属
chown dn:dn 文件名 更改所有者和所在组的名字
chown .root 文件 更改所在组
chown dn: 文件名 更改所有者的名字
文件默认666 目录默认777
umask决定了创建目录和文件之后的默认权限
文件如果是奇数,他会自动向前加一
面试题:
cp是x passwd 是r ky30是w