1、用户账号
1.1超级用户
管理员root,默认对本机拥有最高权限的账户,在系统中是唯一
1.2普通用户
一般都是由管理员创建的,拥有的权限是受限的,一般只在自己的家目录当中拥有完整的权限,可以正常的登录系统
1.3程序用户
管理员创建的,在安装软件时,有的应用程序需要创建一些账号来保证程序的正常运行,就会创建一个程序账户,程序账户是一些特定的低权限的账户,而且这些账户是不能登录到系统的。作用是保证程序的正常运行
2、UID和GID
UID:用户的标识号,创建用户的时候可以指定,也可以系统自动分配。是唯一的不能重复
GID:组标识,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复
根据UID来区分: 管理员的UID是0
普通用户的UID是从1000开始
程序用户的UID是从1-999
判定一个用户是否为管理员,以UID为标准,UID=0就是管理员
3、passwd、shadow下每行的含义
/etc/passwd:保存的是用户信息
/etc/shadow:用户的密码和账户的有效期
例1:/etc/passwd每行的含义 root:x:0:0:root:/root:/bin/bash
字段1:用户账号的名称
字段2:用户密码的占位符,无实意
字段3:用户的UID号
字段4:用户的GID号
字段5:用户的全名,一般都是和字段1一致
字段6:用户的家目录所在的位置
字段7:用户登录的shell,shell默认的解释器就是bash,只有是/bin/bash才可以登录系统 /sbin/nologin/bin/false,表示不可以登录系统。一般程序用户的shell都是/sbin/nologin /bin/false
普通用户能否设置成/sbin/nologin? 可以,但是无法登录
例2:root:hdwiccndjc/:19864:0:99999:7:::
字段1:用户的账号名称
字段2:以后的密码,MD5加密的方式。*表示不能登录系统,!!表示密码为空,不是真的空。什么都没有才是真的为空
字段3:表示上一次修改密码的时间。19864表示从1970.1.1到2024.5.21过了多少天
字段4:表示密码的最短有效天数,0表示不限制
字段5:表示密码的最长有效天数,99999表示不限制
字段6:提前多少天告诉用户密码将会过期,默认是7
字段7:密码过期之后多少天会禁用此用户
字段8:账号失效了多久,为空表示永不失效
字段9:保留字段,预留字段无实意
4、如何添加,创建用户:useradd
-u:指定UID号,已被占用的UID不能被指定
-d:指定用户的家目录的位置(一般是不动的)
-e:指定用户的账号失效的时间,格式为yyyy-mm-dd
-M:创建用户时,不建立家目录
-s:创建用户时,指定用户的登录shell shell就是计算机语言,bash来翻译这个计算机语言
5、如何给用户创建密码:passwd
-d:清空指定用户的密码(慎用)
-l:锁定用户,无法登录。
-u:解锁用户
-S:查看用户的状态,用户是否被锁定
6、修改密码的方式
1、passwd+用户名
2、echo 密码 | passwd -- stdin 用户名
7、修改账号的属性:usermod
-u:修改用户的UID号
-d:修改用户的家目录地址(没人用)
-e:修改用户的账户失效时间 YYYY-MM-DD
-s:修改用户登录的shell
-L:锁定用户 -U:解锁用户
8、锁定用户的两种方式
1、passwd -l
2、usermod -L
9、如何删除用户:userdel
userdel+用户名:只删除用户,不删除家目录
userdel -r +用户名:删除用户的同时删除家目录
10、组账号
/etc/group 组账号信息
/etc/gshadow 保存组账号的额外信息
groupadd:添加组账号
groupdel:删除组账号
gpasswd:添加或者删除组成员
-a:向组内添加用户
-d:从组内删除用户
-M:定义组员的列表,每个用户用逗号隔开 添加可以一次性多个添加,删除只能一个一个删除/
11、配置文件
/etc/profile 全局配置,对所有用户都生效
~/.bash_profile 用户登录时会读取的配置,只对自己生效
~/.bashrc 用户的配置文件,只对自己生效,每一次新打开一个shell就会读取这个文件
~/.bash_logout 用户退出当前shell的时候会执行的配置
每次登录都是shell的一个子shell,每个之间互相隔离
读取顺序:/etc/profile————~/.bash_profile————~/.bashrc————~/.bash_logout
12、权限管理
查询用户身份标识:
id:查询UID GID所属组
查询已经登录到主机的用户信息:w who users
u:所有者
g:所在组
o:其他用户
a:所有用户
被八进制算法替换
r read 读权限 4
w write 写权限 2
x 执行 执行权限 1
13、赋权命令:chmod
chmod + 数字+文件名
递归赋权: chmod -R 只有一层目录,命令当中的所有都会生效,级联目录只有最后一个生效
14、用来设定文件和目录的默认权限:umask
文件的默认权限是666
命令的默认权限是777
创建文件,默认就是不给执行权限
创建目录,一定要有执行权限,没有执行权限就不能cd进入这个目录
问:我要修改一个文件的默认权限,怎么办?
修改umask,如果是文件怎么umask都没有执行权限
15、修改所有者和所在组:chown
前提:用户和组都要存在,要先创建好
chown id:id 所有者和所在组一起变
chown id.id
chown id 文件名/目录名 只修改所有者
chown :id 文件名/目录名 只修改所在组
chown .id