我是靠谱客的博主 俊秀期待,最近开发中收集的这篇文章主要介绍su root 认证失败 Linux创建目录权限不够 Linux权限不够 usr目录 Linux提升权限 su和sudo的区别问题分析问题解决问题注意事项,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写目录标题

  • 问题
  • 分析问题
    • 权限不够
    • 认证失败
      • su 用户名
      • su - 用户名
  • 解决问题
  • 注意事项
    • sudo和su的区别
    • 完整操作

问题

今天在ubuntu上,使用指令mkdir /usr/local/java创建java目录时,报出权限不够的问题,如下图所示:

权限不够

准备切换为root权限,于是使用指令su root输入密码后,却发现认证失败,如图所示:

在这里插入图片描述

分析问题

权限不够

权限不够说明当前用户没有权限操作该目录,比如创建文件夹,删除文件等。

因为我使用的是普通用户操作/usr/local/目录,/usr/是 unix 系统中最重要的目录之一,涵盖了二进制文件,各种文档,各种头文件,x,还有各种库文件;还有诸多程序,例如 ftp,telnet 等等。

曾经的/usr 还是用户的家目录,存放着各种用户文件 —— 现在已经被 /home 取代了(例如 /usr/someone已经改为 /home/someone)。

由此可见,/usr 的权限有多高了。

既然/usr目录的权限很高,其下所有的目录权限都会变高,其下的目录:

目录应放置文件内容
/usr/X11R6/为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。
/usr/bin/绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关)。
/usr/include/c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档。
/usr/lib/包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那可能会有/usr/lib64/目录产生。
/usr/local/统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别啦。 你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib…的次目录。
/usr/sbin/非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon) 。
/usr/share/放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件。
/usr/share/doc软件杂项的文件说明。
/usr/share/zoneinfo与时区有关的时区文件。
/usr/src/一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。

认证失败

为什么会认证失败呢,我们不得不了解su这个指令。

su的全称是switch user,是不是就突然明白了?是切换用户的意思,切换用户并不能提升用户的权限。

su的一般使用方法是su或者su - ,它们虽然只差了1个字符,但也是有比较大的差异的:

su 用户名

  • su 用户名切换到root用户时,需要提供root密码验证。
  • root用户切换到普通用户无需提供密码验证,此时环境变量仍然保留为切换前用户。

su - 用户名

su - 用户名,这个需要注意,-后有一个空格,验证方式同第一种,只是环境变量随用户转化,比如a切换到b用户,环境变量也变为b用户的环境变量,仅此而已。

既然 su无法提升用户权限,我们可以使用什么来提升权限呢?

解决问题

我们可以使用 sudo来提升权限。因为Linux是多用户多权限控制多任务的系统,其中一个超级权限用户为root,剩下的为普通用户,超级用户想干什么就可以干什么,可以理解为当前系统的神。

可以想象,如果一直使用root这个超级用户,如果操作有误,密码造成了泄露,或者误删了什么重要的只有root可操作的文件,那么系统是不安全的,因此有低权限用户临时提权的方法就可以了,提权的时候验证一下root的密码不就安全了吗?sudo命令就是这个方法,如下图所示:

在这里插入图片描述

注意事项

sudo和su的区别

sudo只用作提升普通用户权限到root用户,也就是说该命令只有权限修改的功能。

sudosu这个命令切换用户是不同的,su是双向的,并且su是永久的,而sudo是临时的,命令执行完了,还是原来的用户和环境变量。

完整操作

这里写图片描述

最后

以上就是俊秀期待为你收集整理的su root 认证失败 Linux创建目录权限不够 Linux权限不够 usr目录 Linux提升权限 su和sudo的区别问题分析问题解决问题注意事项的全部内容,希望文章能够帮你解决su root 认证失败 Linux创建目录权限不够 Linux权限不够 usr目录 Linux提升权限 su和sudo的区别问题分析问题解决问题注意事项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部