用户账号:
超级用户 管理员 root 默认对本机拥有最高权限的用户。在系统中是唯一的。
普通用户:一般都是由管理员创建的,拥有的权限是受限的。一般只在自己的家目录当中拥有完整的权限。可以正常的登录系统。
程序用户:在安装软件时,有的应用程序需要创建一些账号来保证程序的正常运行,就会创建一个程序账户,程序账户是一些特定的低权限的账户,而且这些账户是不能登录到系统的。作用:保证程序的正常运行
UID:用户的标识号,创建用户的时候可以指定,也可以系统自动分配,但是唯一,不能重复。
GID:组标识,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复。
根据uid来区分:
管理员的uid都是0
普通用户的uid从1000开始
程序用户的uid从1-999
判定一个用户是否为管理员,以uid为标准,uid为0就是管理员
字节段 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?
/etc/passwd 保存的是用户信息
/etc/shadow:用户的密码和账户的有效期。
字段1:用户的账号名称
字段2:用户的密码,MD5加密的方式。*表示不能登录系统,!!表示密码为空,不是真的空。什么都没有才是真的为空。
字段3:表示上一次修改密码的时间。19864表示从1970-1-1到2024年5-21号过了多少天。
字段4:密码的最短有效天数,0表示不限制
字段5:密码的最长有效天数 99999 表示不限制’
字段6:提前七天告诉用户,密码将会过期,默认7.
字段7:密码过期之后多少天会禁用该用户。
字段8:账号失效了多久,为空,永不失效
字段9:保留字段,无实意。
添加用户,创建用户:useradd
/u 指定uid号 已被占用的uid不能被指定
-d 指定用户的家目录的位置。(一般是不动的)
-e 指定用户的账户失效的时间,格式yyy-mm-dd。
-M创建用户时,不建立家目录
-s 创建用户时,指定用户的登录shell.
用户创建密码:
passwd
-d 清空指定用户的密码
-l 锁定用户,无法登录。面试题
-u解锁用户
-S查看用户的状态,用户是否被锁定。
修改账号的属性
Usermod
-u修改用户的uid
-d修改用户的家目录地址(没人用)
-e修改用户的账户失效时间YYY-MM-DD
-s 修改用户登录的shell
-L锁定用户
-U解锁用户
锁定用户的两种方式
passwd-l
usermod -U
删除用户:
userdel
userdel 用户名,只删除用户,不删除家目录。
userdel -r 用户名 删除用户的同时删除家目录
组账号:
/etc/group 组账号
/etc/gshadow 保存组账号的额外信息
Groupadd添加组账号
添加或删除组成员:
gpasswd
-a 向组内添加用户
-d 想组内删除用户
-M 定义组员的列表,每个用户用逗号隔开。
添加或者删除组成员
Gpasswd
-a 向组内添加用户
-d 从组内删除命令。
-M 定义组员的列表,每个用户用,隔开
配置文件:
/etc/pomfeile 全局配置,对所有用户都生效
~/.bash_profile 用户登录时会读取的配置,只对自己生效
~/.bashrc 用户的配置文件,只对自己生效,每一次新打开一个shell就会读取这个文件
~/.bash_logout:用户退出当前shell的时候执行的配置。
每次登录都是shell的一个子shell,每个之间互相隔离。
相当进程 进程分了很多线程。
进程
读取顺序:/etc/pomfeile--------------~/.bash_profile-------------~/.bashrc --------~/.bash_logout
权限管理:
查询用户身份标识:
id
查询uid gid 所属组
查询已经登录到主机的用户信息:
w who users
u:所有者
g:所在组
o:其他用户
a:所有用户 a+x u+x
八进制算法替换了
421
r read 读权限 4
w write 写权限2
x 执行 执行权限1
chmod 赋权命令
614
递归赋权:
chmod -R 641 aa
Umask 用来设定文件和目录的默认权限
文件的默认权限 666
目录的默认权限 777
创建文件,默认就是不给你执行权限。
创建目录,一定要有执行权限,没有执行权限,你不能cd进入这个目录。
面试题:
我要修改一个文件的默认权限,怎么办?
umask ,如果是文件,怎么改umask都没有执行权限。
修改所有者和所在组
前提:用户和组都要存在,要先创建好。
chown ld:ld 所有者和所在组一起变
chown ld.ld 所有者和所在组一起变
Chow ld 文件名/目录名 只修改所有者