单独敲命令进去
shell
默认是自系统的环境变量path所指定的目录寻找可执行程序的,所以执行不了的原因如果去除你的文件编辑不对(比如有可能存在全角半角字符集之类的问题)或增加权限不对之类原因的话就是你的sh文件不再path指定的目录里得原因。比如启动的init文件都是可执行,但不在path,所以你不会直接敲名字就能直接执行那文件,如果能执行系统得有多少命令啊。
*******
引自景1修改
$
chmod
+x
whogrep.sh
$
./whogrep
********
上面命令如果能执行说明你文件没问题,但是得总是输入你sh文件所在目录。
如果你是想重复使用这命令的话,方式有两个:
1.将你sh文件所在目录加到path目录里。具体参考export
命令,注意一般是是root下
export
path=$path;你的文件目录,
这样里面"path=$path:"
是不可缺少的,不然会清空你系统本来的path只剩下你的sh所在文件目录。
这个方式重启path会还原,想重启不消失要编辑/etc/profile
(所有用户有效)
文件或~/.bashrc当前用户有效)
文件,具体方式可检索。其他方式不提了,有兴趣可详查
2.在你path设置的一个目录里设置个sh文件的链接。
具体查看
ln命令帮助。
② 在Linux中执行文件时候权限不够,怎么解决
修改权限可以解决该问题。
可以使用chmod命令修改权限。
语法:chmod[-cfvR][--help][--version]modefile...
说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。
参数:
mode:权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中
u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
+表示增加权限、-表示取消权限、=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:显示辅助说明
--version:显示版本
拓展资料:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
③ MYSQL提权(LINUX)
select @@global.secure_file_priv;
查看MySQL服务器的文件读写权限
如果是NULL就是完全禁止
udf提权用到的so文件(linux)在kali下默认集成,路径为 /usr/share/sqlmap/udf/mysql/linux/64(32)
或者 searchsploit mysql udf
把对应的内容编译出来
mysql创建函数命令
④ Linux用户权限管理命令
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UIDGID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UIDGID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UIDGID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UIDGID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite
和password sufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
⑤ 用的linux,我想把里面的oracle组里的oracle用户提权 怎么弄呢我有root权限
先给你的sh授权可以执行.
chmod 755 file.sh
然后在chown给你的oracle
chown 用户 文件夹
⑥ linux 提权-SUID提权
最近想着学习linux提权的一些姿势,这里简单分享学习SUID提权的一些知识点。
先来父复习一下linux文件的权限分配。
ls命令用来查看系统上面的文件、目录的权限。
字段的第一个字符表示对象的类型。
之后是每三个字符为一组,每一组定义了3种访问权限。
这三组分别表示文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
然后规定用数字4、2和1表示读、写、执行权限。即r=4,w=2,x=1。
所以
chmod改变权限
chown用来更改某个目录或文件的用户名和用户组
该命令需要root权限运行
而文件权限除了r、w、x外还有s、t、i、a权限。
SUID
当执行的文件被赋予了s权限,就被称为Set UID,简称为SUID的特殊权限。八进制数为4000。
举个例子:
linux修改密码的passwd就是个设置了SUID的程序。因为如果普通账号cseroad需要修改密码,就要访问/etc/shadow,但是该文件只有root能访问。那他是怎么修改的呢?原理:
查看该程序,发现被赋予了s权限。当cseroad需要修改自己的密码时,passwd程序的所有者为root,cseroad用户执行passwd 程序的过程中会暂时获得root权限,所以可以修改/etc/shadow文件。
SGID
而当s标志出现在用户组的x权限时则称为SGID。八进制数为2000。
当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用SGID修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。(父目录跟随)
SBIT
就是Sticky Bit,出现在目录的其他用户执行权限X上,标记为T,八进制数为1000。对目录有效,使用者只能对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人文件(除非ROOT)
赋予s权限:chmod 4755 filename 或者 chmod u+s /usr/bin/find
取消s权限:chmod 755 filename 或者 chmod u-s /usr/bin/find
以centos为例。
还有额外的几个命令
我们就可以通过覆盖/etc/passwd文件,提权为root
默认该命令没有s权限
find命令
假如find命令被赋予s权限。
创建a.txt文件,执行 /usr/bin/find a.txt -exec /bin/bash -p ; ,成功提权。
这里注意的是新版Linux系统对子进程的suid权限进行了限制,不同的操作系统结果也会不一样。
具体细节参考 https://cloud.tencent.com/developer/article/1674144
利用python可反弹得到root权限的shell
python命令
根据 https://gtfobins.github.io/ 查找python利用姿势。
条件是sudo安装时需要输入当前用户密码。
在实战过程中,多查看 https://gtfobins.github.io/ 是否存在SUID提权,以及使用searchsploit命令查看某程序是否存在本地提权漏洞。
https://yoga7xm.top/2019/06/14/suid/
http://www.361way.com/suid-privilege/5965.html
⑦ linux怎么获取root权限
1、获取root权限linux系统都是一样的,这里以ubuntu为例,用组合键Ctrl+Alt+T打开一个新的终端程序:
⑧ linux下权限问题,如何让无root管理员权限的用户执行需root权限执行的脚本文件
没看懂你的需求,如果你要c语言里调用shell命令,那么你可以包含这个头文件版#include <stdlib.h>
然后调用这个命令:权int system(const char *string);就可以了。例如system("pwd")就是调用shell命令pwd。但是你要使这个文件可以被其他用户执行,没必要那么烦啊。只要“chmod o+x 脚本名”就ok啦。实在不行你先把这个文件的拥有者改成你需要执行的用户,命令为“chown 你的用户名 脚本名”,然后再执行“chmod u+x 脚本名”就ok了。楼主给分吧
⑨ linux+mysql怎么提权
据我所知mysql没有管理账号这样的概念,只有不同的用户权限。默认root用户就具有内所有容的权限,你可以新建一个用户,使它拥有所有的权限,还可以指定从什么地方登陆。权限划分可以很细的,可以精确到table,像select这种简单的查看功能命令都可以限定。具体命令像create,grant等等可以找本书看看。希望help you。reference51cto,365testing