用户和权限

Linux的root用户

无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理

  • 超级管理员: root用户拥有最大的系统操作权限(不建议长期使用root用户,避免带来系统损坏)
  • 普通用户的权限: 一般在其HOME目录内是不受限的,在HOME目录外仅有只读和执行权限,无修改权限

su和exit命令

su [-] [用户名]: su(Switch User)命令用于账户切换的系统命令

  • -表示是否在切换用户后加载环境变量(建议带上)
  • 用户名表示要切换的用户,省略用户名默认切换到root
  • 普通用户切换到其它用户需要输入密码,root用户可以直接切换到其它用户

exit:退回上一个用户(快捷键ctrl + d)

sudo 其他命令: 为普通的命令授权即临时以root身份执行

普通用户想要使用sudo命令,需要在root用户中为普通用户配置sudo认证

  • 第一步: 切换到root用户执行visudo命令会自动通过vi编辑器打开/etc/sudoers文件增加配置

  • 第二步: 在文件的最后一行添加: 用户名 ALL=(ALL) NOPASSWD: ALL

  • 第三步: 执行:wq命令保存

用户和用户组

Linux系统中可以配置多个用户和用户组,并且一个用户可以加入多个用户组中

  • Linux中关于文件/文件夹权限的管控级别有2个级别: 针对用户的权限控制,针对用户组的权限控制
  • Linux中创建用户和用户组时需要保证在root用户下

用户、用户组相关管理命令

groupadd 用户组名: 创建用户组

groupdel 用户组名: 删除用户组

useradd [-g -d] 用户名: 创建用户

  • -g选项:指定用户所在的组(必须存在),不指定会创建同名组并自动加入该用户
  • -d选项:指定用户HOME路径,不指定HOME目录默认在/home/用户名

userdel [-r] 用户名: 删除用户

  • -r选项:删除用户的HOME目录,默认保留用户的HOME目录

id [用户名]: 查看用户所属组

  • 用户名表示被查看的用户,如果不提供用户名表示查看当前用户

usermod -aG 用户组 用户名: 将指定用户加入指定用户组(增加用户所在的组不是改变用户所在的组)

getent passwd: 查看当前系统中有哪些用户

  • 显示格式: 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:用户执行的终端(默认bash)

getent group: 查看当前系统中有哪些用户组

  • 显示格式: 组名称:组认证(显示为x):组ID

Linux文件的权限管控信息

通过 ls -l 可以以列表形式查看内容,并显示权限细节

文件、文件夹的权限控制信息

  • r表示读权限: 针对文件/文件夹表示可以查看文件/文件夹内容,如ls命令
  • w表示写权限: 针对文件表示可以修改此文件,针对文件夹表示可以在文件夹内创建、删除、改名等操作
  • x表示执行权限: 针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹(即cd进入该目录)

修改权限控制

chmod [-R] 权限 文件/文件夹: 修改文件、文件夹的权限信息(只有文件、文件夹的所属用户或root用户可以修改权限)

  • -R选项: 对文件夹内的全部内容应用同样的操作
  • 权限: u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
shell 复制代码
#表示将文件权限修改为rwxr-x--x
chmod u=rwx,g=rx,o=x hello.txt 

#文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
chmod -R u=rwx,g=rx,o=x test

权限可以用3位数字来代表: 第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限

  • r记为4,w记为2,x记为1,rwx的相互组合可以得到从0到7的8种权限组合
shell 复制代码
#751表示rwx(7),r-x(5),--x(1)
chmod 751 hello.txt

#将hello.txt的权限修改为: r-x--xr-x
chmod 515 hello.txt

chown [-R] [用户][:][用户组] 文件/文件夹: 修改文件、文件夹的所属用户和用户组(只有root用户可以修改)

  • -R选项: 对文件夹内全部内容应用相同规则
  • 用户表示修改所属用户
  • 用户组表示修改所属用户组
  • : 用于分隔用户和用户组
shell 复制代码
#将hello.txt所属用户修改为root
chown root hello.txt
#将hello.txt所属用户组修改为root
chown :root hello.txt
#将hello.txt所属用户修改为root,用户组修改为itheima
chown root:itheima hello.txt
#将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
chown -R root test
相关推荐
松涛和鸣16 分钟前
DAY55 Getting Started with ARM and IMX6ULL
linux·服务器·网络·arm开发·数据库·html
HIT_Weston28 分钟前
101、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(二)
linux·运维·ubuntu
暮云星影41 分钟前
一、linux系统 应用开发:基本认知概念
linux·arm开发
赵民勇1 小时前
yum命令用法与技巧总结
linux·centos
小小福仔1 小时前
Linux运维基础篇(二)之用户管理
linux·运维·服务器·增删改查
haluhalu.2 小时前
[特殊字符] 深入理解Linux信号机制:信号的产生,保存和捕捉
linux·运维·服务器
JY.yuyu2 小时前
Linux磁盘管理 / 硬盘分区、创建逻辑卷
linux·运维·服务器
~黄夫人~3 小时前
Kubernetes Pod 初始化容器(InitContainer)起不来的排错思路
linux·运维·服务器
运维有小邓@3 小时前
如何在 Linux 中查看系统日志消息
linux·运维·服务器
天边一坨浮云4 小时前
Ubuntu(PC)遇到的各种问题-EXT4-fs(vdb): VFS: Can‘t find ext4 filesystem
linux·ubuntu