c - 我创建了自己的 Linux shell,但在登录时得到 "mctrl: Permission denied"?

标签 c linux bash shell permissions

我有一个 C 语言的小 shell,它除了打印“你好,我是一个 shell\n”什么都不做。 每次我尝试 login johndoe我登录失败的默认方式,使用sudo su johndoe准确地给我 mctrl: Permission denied .

我是不是漏掉了一些简单的东西? bash 有哪些我没有的 =( ?

Update1:​​ 我忘记指定命名 shell 的绝对路径。但是错误仍然存​​在。

更新 2[已解决]:shell 不允许链接,应该在/bin/或其他目录中!

PS:shell 将给予用户通过 ssh 以简单的方式控制他们的 minecraft servres,或者提供管理密码以进入 bash。

最佳答案

我要检查的第一件事是文件和目录权限。 johndoe 是否有权访问 shell 可执行文件(及其所有父目录),“执行”权限设置是否正确?

如果您将 johndoe 的 shell 更改为 bash,您是否能够以 johndoe 身份登录并手动执行您的自定义 shell?

关于c - 我创建了自己的 Linux shell,但在登录时得到 "mctrl: Permission denied"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989224/

相关文章:

c - 如何将一个数字的数字输出为整数,并且该数字可以精确整除另一个数字?

c - 为什么0的大小显示为4?

bash - 可以/bin/bash -c 将变量导出到父shell

linux - 显示所有 1 行 php 文件的 Shell 脚本

c - 为什么使用文本编辑器创建的文件比预期多了一个字节?

python - 将 Bash 解析为 Python

c - 如何从内核中的 struct file* 中获取 "file name"?

c - PIC单片机的FTP客户端

linux - ZSH 不使用 "sudo -s"加载我的 prezto 配置文件

java - 分布式服务器的拉与推