成都网站建设设计

将想法与焦点和您一起共享

linux无法执行命令 linux命令无效

我的linux很多命令都无法使用了!

是root用户还是普通用户

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、博望网站维护、网站推广。

如果是root用户下,检查这些命令是否还在。一般在/usr/bin   /usr/sbin。

在/root用户下的.profile 文件中加上  path=/usr/bin;/usr/sbin  ,然后source  .profile,使变量生效,然后测试命令是否可用

如果是普通用户,需要在普通用户的home目录下设置.profile

linux ./不能运行程序 是不是被加密了

linux不能运行程序是被加密了。要保证你安装的是正确的,接着保证你的这个可执行文件有当前登录账号的执行权限,可以用lsal查看一下。

Linux系统下,程序从安全的角度来考虑,是不允许以root用户来启动的,这类程序一般会开放一个或多个端口,和其它程序或者外界进行数据交换,或者其本身就存储着重要数据,比如MySQL。一但被攻破,入侵者会获得root权限,从而掌握整个系统的所有权。

linux命令介绍

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型,内置Shell命令和Linux命令。

首先介绍一个名词控制台console,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们要了解的是基于Linux操作系统的基本控制台命令。

有一点一定要注意,和dos命令不同的是,Linux的命令也包括文件名等等对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

Linux的终端中命令开头$为什么执行不了

可能是配置出现了问题又或者是没有权限。

这可能需要升级一下电脑系统来适应Linux,如若还不行,重启下电脑。

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。

linux终端用户执行不了命令,需要配sudo 怎么配置

配置sudo的配置文件在/etc/sudoers里面,一般通过visudo命令来安全打开编辑。查看/etc/sudoers的用法可以使用命令:

man

5

sudoers。在/etc/sudoers文件里面主要包括这两部分:

1.

别名设置

别名主要包括这几种:User_Alias,Host_Alias,Runas_Alias,Cmnd_Alias,分别是用户别名,主机别名,运行用户别名,命令别名。设置这几个别名的命令主要是为了配置方便,这个很类似linux用户群组或是数据库中角色的作用,有了别名便可以批量的赋予权限。

设置方法

Alias_Type

alias_name

=

name1,

name2,

name3,

例如User_Alias

User1

=

user1,

user2,

user3。其他类型的alias设置方法类似。

2.

真正的sudo

entry

这个就是真正配置哪些用户可以使用哪些命令了(你甚至可以不使用别名设置那部分)。

格式为:用户名(用户别名)

主机名(主机别名)=[(运行用户或是Runas_Alias)可选]

[tag可选]

可以执行的命令(或Cmmd_Alias)

这样描述语法很生硬,不易理解,举例子

user1

host1

=

/bin/kill

#

user1

可以在host1上使用命令/bin/kill

user1

host1

=

NOPASSWD:

/bin/kill

#

user1

可以在host1上使用命令/bin/kill

同时可以不必输入密码(这里就是使用了NOPASSWD

#

这个tag,默认是PASSWD)

user1

host1

=

NOPASSWD:

/bin/kill

,

PASSWORD:

/bin/ls

#

user1

可以在host1上使用命令/bin/kill无需输入密码,但是使用/bin/ls则需要输入密码

user1

host1

=

(opterator)

/bin/kill

#

user1

可以在host1上使用命令/bin/kill但是必须是以operator用户运行这个命令,等价于

#

su

-u

opertor

/bin/kill

user1

host1

=

(:group_name)

/bin/kill

#

user1

可以在host1上使用命令/bin/kill,且必须以group_name这个用户群组里面的用户来运行。

%group_name

host1

=

/bin/kill

#

所有group_name里面的用户都可以在host1上执行/bin/kill(linux中一般代表整个用户群组用

#

%group_name)

再举个实际例子,我之前对sudo

su这个命令不理解,为什么我可以直接就su到root用户了呢,连密码都不需要?查看了一下sudoers文件才知道原来里面有这么一行:

xxx

ALL=NOPASSWD:

/bin/su

linux 系统命令突然不能直接执行了是咋回事 #/sbin/shutdown -h now

在Linux中使用shell命令,不管是root用户还是普通用户,很多命令(如 ,fdisk ; ifconfig)等都会无效,系统出现:"bash: .. command not found"。这些命令都有一个共同的特点:存在于 /sbin 这个目录下。这时尝试这样做[linux@axws ~]$/sbin/ifconfig 我们发现命令能够正常执行,这说明不是安全限制,很可能是PATH出了问题。原因是/sbin的目录路径(系统用户目录)不在root的$PATH变量中造成的。

关键:PATH路径设置问题。

首先切换到root,再试用一下命令,能用的话跳过下面这步直接修改用户目录下的这个文件就可以了。若还是不能用首先修改管理员的PATH,方法:

(1)进入到用户主目录:cd ~ ;

(2)编辑这个隐藏文件:vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

unset USERNAME

修改其中PATH=$PATH:$HOME/bin其后添加“:/sbin”冒号不算。

(3):wq保存退出;

(4)重启系统或执行source .bash_profile重置命令路径。

接着执行/sbin下命令,应该可以了,exit退出管理员身份,再执行/sbin下命令,发现还是不能用,好,此时可以先用echo $PATH查看所在路径,若没有/sbin则修改用户主目录下的这个文件:

(1)cd ~;

(2)vi .bash_profile按照上面的做同样的改动,保存退出:wq;

(3)重启系统或执行source .bash_profile。

然后就可以了。如果还不行,把这行export PATH=/sbin:$PATH 加入到.bash_profile文件的最后就好。

/sbin下的命令是给root使用的,对普通用户一般没什么用处,如果root用户也用不了那就是路径设置问题。


分享文章:linux无法执行命令 linux命令无效
本文地址:http://chengdu.cdxwcx.cn/article/doocdpi.html