扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
是root用户还是普通用户
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、博望网站维护、网站推广。
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
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系统管理的命令是它正常运行的核心。
配置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中使用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用户也用不了那就是路径设置问题。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流