Linux操作系统是多用户、多任务系统——即允许多个用户同时登录Linux系统并启动多个任务(有的用户是远程登陆)。用户账号和用户组是进行身份鉴定和权限控制的基础,身份鉴别的目的是规定哪些人可以进入系统,而权限控制的目的则是规定进入系统的用户能做哪些操作。
用户:“用户”,“账号”,在Linux系统中,他们是指同一个概念:使用Linux系统的人,他的信息必须事先已经在Linux系统中登记好
组:每一个用户只能归属于一个主要组群,但是可以同时归属于多个附加组群。给用户分组主要是便于管理同一类用户的权限,例如赋予一个组某种权限,那么这个组所有的用户自动拥有该权限
linux中用户组的类型
超级用户:名称为root,具有一切权力,只有进行系统维护或其他必要情形下才用超级用户登录,以避免系统出现安全问题。
系统用户:是Linux系统正常工作所必须的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的。
普通用户:是为了让使用者能够使用Linux系统资源而建立的。
UID:用户的标识,是一个数值,用它来区分不同的用户每个用户都有一个UID数值:
超级用户的UID— —0
系统用户的UID— —1~999
普通用户的UID— —大于等于1000
id 查看当前用户信息
uid=0(root) gid=0(root) groups=0(root)
用户信息保存在 cat /etc/passwd
用户名称:密码占位符:用户uid:组gid:注释信息:用户家目录:登录shell
root:x:0:0:root:/root:/bin/bash
密码存放路径 cat /etc/shadow
用户的增删改
参数:
-s:指定改用户的默认shell解释器
-d:指定用户的家目录
-u:指定改用户的默认uid
-e:用户的到期时间 YYYY-MM-DD
-G:指定一个或者多个扩展用户组
useradd(一个用户只能属于一个主组,属于多个附加组)
groupadd sa 新增一个组
groupadd sa1 新增一个组
groupadd students 新增一个组
useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash xh
创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin
usermod
usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
usermod -L change_bgx #锁定后会无法登陆系统
usermod -U change_bgx # 解锁
userdel
userdel egon # 删除用户,不删家目录
userdel -r egon1 # 删除用户,删家目录
修改密码
passwd root
组的增删改
groupadd no_gid 新增组
groupmod -g 1111 student 改组id号
groupmod student -n new_student 改组名字
groupdel new_student 删除组(组下有人,把人删除,再删)
基本权限
1 rwx r-x r-x
属主(文件所有者) 属组权限 其他人权限
2 权限详解
r:read写权限
w: write写权限
x:可执行
3 修改权限
7=4(r)+2(w)+1(x)
chmod 777 文件夹/文件
特殊权限
选项: + 增加权限 -减少权限 =等于某个权限
a:让文件或目录仅可追加内容
i:不得任意更动文件或目录
给某个文件或者文件夹加特殊权限
-chattr +i lqz.text
-chattr -i lqz.text
su sudo
su
su 切换用户
su - jack:打开新的shell,会加载自己的环境变量
su jack:不打开新的shell,不会加载它的环境变量
sudo 普通用户可以有一些超级用户的权限,不需要输入密码
usermod jack -G wheel # 把jack用户加入到了wheel组
这个用户没有权限,尝试 sudo mkdir ll试一下,如果不行,超级管理员没有给你配这个权限