用户和权限

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
相关推荐
vvw&1 小时前
如何在 Ubuntu 上安装 Jupyter Notebook
linux·人工智能·python·opencv·ubuntu·机器学习·jupyter
钰爱&4 小时前
【操作系统】Linux之线程同步二(头歌作业)
linux·运维·算法
Yz98766 小时前
Hive基础
大数据·linux·数据仓库·hive·hadoop·bigdata
Stara05118 小时前
Linux系统常用操作与命令指南
linux·vim
white.tie8 小时前
linux配置nginx
linux·运维·nginx
Komorebi.py8 小时前
【Linux】-学习笔记03
linux·笔记·学习
dessler9 小时前
云计算&虚拟化-kvm创建网桥(bridge)
linux·运维·云计算
YRr YRr9 小时前
Ubuntu20.04 解决一段时间后键盘卡死的问题 ubuntu
linux·数据库·ubuntu
醇氧10 小时前
ab (Apache Bench)的使用
linux·学习·centos·apache
moneyxjj11 小时前
Linux各种解压命令汇总
linux·运维·服务器