账号管理
账号指的是Linux的系统用户。
用户:管理员(root),管理员在系统当中是唯一的。
普通用户:普通用户都是从管理员用户创建的,权限是受到限制的,只有在自己的家目录,普通用户才拥有完整的权限。
程序用户:维护或者维持某个程序的正常运行,这些用户是不能够登陆系统的。创建系统的时候会默认添加一部分,安装第三方软件也会添加程序用户。
如何切换用户:su
格式 su - 用户名
管理员切换到普通用户是不需要输入密码的,反过来是需要密码的
建议 完整切换方式去切换用户。
如何修改主机名
临时修改:hostname 主机名(重启就失效)
永久修改:hostnamectl set-hostname zzr (命令行修改)改完后用su刷新即可生效,无需重启
vim/etc/hostname(只能重启之后生效)
如图,重启之后用户名会失效。
重启之后,不会失效
用户账号的uid
用户账号:uid是唯一且有范围的。
centos6以前的版本:root uid 0
普通用户的uid号:从500开始
程序用户:1-499
centos7:普通用户从1000开始
程序用户:1-999
cat /etc/passwd查看所有用户的信息文件
x:密码占位符。(为了保证安全,并不是密码)
/bin/bash:以这个结尾就都是管理员账号和普通用户账号
/sbin/nologin和/bin/false:一般来说都是程序用户
/etc/shadow 用户的账户信息,保存用户密码和其他信息
第六个字段:7 :如果密码过期,七天之后会禁用此用户
7后面第一个空格:账户失效 之后,在指定时间内作为保留。此处为空表示账号永久可用。
最后一个字段:保留字段。
useradd命令
创建用户的命令,并且此命令会自动为用户创建家目录。
-u:可以指定用户的uid号(uid号不能被其他用户使用)
-d:指定用户家目录位置
-e:指定用户账号的失效时间 YYYY-MM-DD(年--月--日)
-g:指定用户的基本组,也可以用gid号。但gid号必须存在
-G:指定用户的附加组,也可以使用gid号
-M:不会为用户创建家目录
-s:指定用户登录的shell
passwd命令
passwd 123 :为123用户设置密码
root用户下可以改所有用户的密码,包括root自己
-d :清空用户密码。慎用
-l :锁定用户 被锁定的用户将无法登录系统
-S:查看用户的状态
-u:解锁用户
passwd 用户名
如何用管道符更快的设置密码
echo 密码 | passwd --stdin 用户名。
usermod命令
-u:修改用户的uid号,前提是未使用的uid号
-d:修改用户的家目录
-e:修改用户的账户失效时间,YYYY-MM-DD(年-月-日)
-g:修改基本组,也可以用gid号
-G:修改附加组,也可以使用GID号
-s:修改用户的登录shell
-L:锁定用户账户
-U:解锁用户账户
**usermod 和passwd都有锁定账户的功能,但是两者存在区别
passwd -l 用户名(锁密码) 解锁 -u
usermod -L 用户名(锁账号) 解锁 -U
删除用户:userdel
-r:删除用户时,一并删除用户的家目录
用户来回切换,会导致删除用户时显示:正在被进程运行。导致无法删除用户
解决方法:
1.kill -9 进程号
等待杀死进程结束重新登录即可
(不推荐,因为此操作会将所有东西删除)
2.每个用户中 输入 exit 即登出命令,这样以后会将用户完全退出登录,之后进行操作就没有任何阻碍
用户组:
/etc/group:组账号的基本信息
/etc/gshadow:组账号的密码信息
groupadd:创建组账号
gshadow 添加或删除组成员
-a:给组内添加用户,添加到附加组
-d:删除组内用户,删除也是附加组
-M:一次性添加多个组员,组员之间以逗号分隔
权限
Linux的权限只有三种:
r (4) :读,查看
w(2) :写,针对文件内容的新增,修改,之后能不能够保存,能不能在当前目录创建文件或者目录
x (1) :执行,相应的代码,有没有权限来执行文件中的代码。切换目录
以上是对文件或者目录的权限。
chmod:设置文件和目录的权限命令
八进制赋权的方式: 4 2 1
另一种写法:u g o a + - =
u:所有者
g:所有组
o:其他用户
a:所有人
用八进制421方法赋权
目录默认权限 -rwx--r-x--r-x-
文件默认权限 -rwx--r-----r---
文件的默认权限是 6 6 6
目录的默认权限是 7 7 7
umask默认是 022
666-022=644
777-022=755
*umask为011 033 055 等奇数,文件创建后权限会默认+1,原因就是不给文件执行权限,目的是为了安全**,要想文件有执行权限,得后天赋权 chmod
遇到奇数要+1
目录必须要有执行权限
通过递归的方式改变目录权限(mkdir -p aa/bb/cc)只能改变最底层的权限,即cc的权限
设置文件和目录的归属
chown zzr:zzr 123.sh
chown 所有者:所在组 文件名
chown :zzr 123.sh
只改变所在组