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