解决linux用户切换失败 su:execute /usr/bin 没有权限

问题描述:

回宿舍前,在root用户中安装fish,并修改其shell为fish。回宿舍之后,在图形界面用root用户进行登陆,莫名其妙登陆失败。没有任何提示信息,直接回到登陆界面。用非root用户登陆后,执行su root命令切换到root用户,报错:su execute /usr/bin/ 权限不够。

经过了一番查询,网友们的操作是将/usr/bin目录权限修改为777,还有一些我看不懂的操作。这么做当然是无效的!



解决办法:

通过查看/etc/passwd,发现/usr/bin是root用户的shell。想到这里,很自然地产生了一个想法,将root用户的shell换成/usr/bin/bash。然后继续执行su root,成功!

成功的原因:

/usr/bin不是shell。root无法把它当做一个登陆shell。因此只需要将它换成一个当前计算机已经安装好的shell就行了。

导致这个错误的原因:

安装fish时,错误地将root的shell修改为/usr/bin。而它本身就不是一个shell,因此无法登陆、无法切换到该目录。

原文地址:https://www.cnblogs.com/2sheep2simple/p/10739654.html

时间: 2024-10-07 00:09:15

解决linux用户切换失败 su:execute /usr/bin 没有权限的相关文章

Linux基本安全措施、加强系统账号密码安全、系统引导和登录安全、用户切换、su、sudo、grub菜单

1. 基本安全措施 1.1系统账号清理 在Linux系统中,除了用户手动创建的以外,还包括随系统或程序安装过程中生成的其他大量用户,除了超级用户root外,其他大量账号只是用来维护系统运作.启动或保持服务进程,一般是不允许登录的,因此也成为非登录用户. 常见的非登录用户有:bin.adm.lp.mail.nobody.mysql.dbus.ftp.gdm.haldaemon等.为了确保系统安全,这些用户的登录Shell通常是/sbin/nologin,表示禁止终端登录,应确保不被人改动. 各种非

Linux用户切换:su和su - 区别

大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和su -命令最大的本质区别给大家详解一下: 前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成root身份了.只有切换了Shell环境才不会出现PATH环境变量错误.su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目

Linux 系统中用户切换(su user与 su - user 的区别)

1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参数说明 -f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell. -l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME.SHELL和USER等)都是以该使用者(USER)为主,并 且工作目录也会改变.如果没有指

linux系统命令学习系列-用户切换命令su,sudo

先复习一下上节内容: 用户组添加groupadd 用户组修改groupmod 用户组删除groupdel 作业创建一个id为501的组group1,然后改成group2, 同时id变为502,最后删除这个组,命令分别如下: groupadd –g 501 group1 groupmod –g 502 –n group2 group1 groupdel group2 这一节,我们来说一下用户切换相关命令 为什么要进行用户切换? 在操作过程中需要使用特定的用户进行特定的操作,多数情况下是因为权限,比

Linux用户切换与提权

大多数Linux服务器并不建议用户直接以root用户进行登录.一方面可以大大减少因失误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险.鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以使在必要的时候执行管理任务. Linux系统提供了su sudo二种命令,其中su命令用来切换用户,sudo命令用来提升权限. PAM 在su命令之前,需要先了解pam,Linux系统使用su命令存在安全隐患,默认情况下,任何用户都容许使用su命令,从而有机会反复尝试其他用户的登

Linux用户切换和密码修改

1.普通用户切换到root su - 再输入root密码,密码正确,成功切换,再输入exit则切换回普通用户 2.root切换到其他用户,例user su - user 再输入exit,则切换回root 3.修改密码 sudo passwd root 原文地址:https://www.cnblogs.com/goufugui/p/9429480.html

删除vsftpd失败,出现 /usr/bin/dpkg returned an error code (1)【已解决】

1.问题描述 安装openssh-server时,检测到系统中安装有vsftpd,两者不兼容,需要将vsftpd卸载.在卸载时出现 Sub-process /usr/bin/dpkg returned an error code (1) 2.解决方案 由于之前在安装 vsftpd 时,新建了一个临时的 ftp 帐户.考虑到可能是该账户的存在导致了vsftpd 一直无法释放. 先删除 ftp 账户 $ sudo userdel -r ftp 再删除 vsftpd $ sudo apt-get re

解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题

在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下: 1 cd /var/lib/dpkg/ 2 sudo mv info/ info_bak # 现将info文件夹更名 3 sudo mkdir info # 再新建一个新的info文件夹 4 sudo apt-get update # 更新 5 sudo apt-get -f install # 修复 6 sudo mv inf

Mac usr/bin 目录 权限问题

Mac进行 usr/bin 目录下修改权限问题,operation not permitted 一般情况下我们在使用mac系统过程中下载一些文件.新建一些项目之后,这些文件都会默认是只读状态,这时我们只需要简单的一句权限设置命令就可以解决 sudo chmod -R 777 你要修改文件上层目录的路径 但是我们在对 usr/bin 目录下的文件进行操作的时候往往会出现这样的错误(上一篇博客中关于git安装进行软连接就会遇到这样的问题) operation not permitted 这是因为一些