最近写了个小脚本,要在linux小主机上面运行,但是遇到了个问题,由于我用的是宝塔面板的计划任务来做定时运行,这就涉及到一个问题了:宝塔面板计划任务默认是用root权限来运行的,但是我的conda装在我的个人用户下面...,我也不希望我的脚本以如此高的权限来运行,因此我希望在shell里面切换用户。...方法如下: su - -c " " 把上面的替换为用户名,替换为要执行的指令即可。
后面的符号表示普通用户,普通用户的话就是在 2.这时我们分别输入su xg和su -,如下图所示: 输入su xg命令的话,并输入xg的密码之后不能切换到root用户,而输入su -命令,此时我们输入密码错误的话...,会在命令行下显示信息,如下图所示: 此时,输入su -命令,输入正确的密码,然后就可以切换到root用户了(注:这里我也搞晕了,不知道默认的密码是什么,如果你没进行下面修改root密码的操作,应该是当前用户的密码...4.接下来我把linux系统关掉,重新开启linux系统,在username下输入root,password下输入上面我们设置的新的unix密码,发现如下图所示,我们的用户变成了root用户了: 5,...所以我把linux系统关掉,再重新开启linux系统,输入用户名xg和xg对应的密码,发现如下图所示: 答案是可以的,xg用户还是可以用的。...root用户,来积累linux学习到的知识了!
为什么需要切换用户身份? 在日常工作中,尽量使用普通用户账号操作,当需要root权限的时候再通过身份切换的方式切换至root管理员,这样能保证系统的安全性。...下面介绍两种Linux中切换用户身份的方式。 身份切换方式一:su 该命令可以将身份切换至指定账户,但需要输入该账户的密码。...若只想执行一个root权限才能执行的命令的时候,可以将命令直接写在-c的后面,这样无需切换身份,如: su -c vim /etc/shadow 身份切换方式二:sudo 使用su切换身份需要直到root...限制sudo操作 1.限制可切换的用户范围,如:只允许chai能sudo至root chai ALL=(root) ALL 2.限制用户能执行的操作,如只允许用户执行命令/usr/bin...如,允许jsmith, mikem这两个用户将身份切换至root,并可以执行/sbin/route和 /sbin/ifconfig这两个命令。
普通用户的su命令不加username时,就相当于切换到root用户,反之亦然。当su 命令加上 - 后,会初始化当前用户的各种环境变量。 ?...如果不加 - 切换到root用户时,当前目录没有变化;而如果加上 - 切换到root账户时,当前目录为root账户的家目录。 注:当由root切换到普通用户时,不需要输入密码。 命令 sudo ?...由于切换到zoctopus账户后当前目录还是 /root,zoctopus账户没有任何权限,所以当我使用命令ls查看时会提示权限不够。
在 WSL 的命令行执行下面的命令: cd ~ wget https://gist.github.com/matthiassb/9c8162d2564777a70e3ae3cbee7d2e95/raw/...注意:每次切换网络时需要手动执行最后的一句命令: sudo service dns-sync.sh start 参考: https://gist.github.com/matthiassb/9c8162d2564777a70e3ae3cbee7d2e95
linux查看当前用户信息及其用户切换 一、查看用户信息 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。...localhost /]# who am i root pts/0 2017-11-12 09:42 (192.168.19.1) [root@localhost /]# whoami命令的执行效果和...:0 Thu Nov 9 02:50 - down (07:30) wtmp begins Thu Nov 9 02:47:58 2017 二、 用户切换...之所以是1.7,是因为在进行切换用户的时候,su命令后面加了横杠。如果不加横杠,那么当前用户是:charles_1,但环境变量还是root用户的环境变量。...su charles_1, 此时用户切换到charles_1后,环境变量不会跟着改变,还是root用户的环境变量。
切换用户的命令为:su username 从普通用户切换到root用户,还可以使用命令:sudo su 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户...,其实ctrl+d也是执行的exit命令 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su – root】 $表示普通用户...#表超级用户,也就是root用户 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112964.html原文链接:https://javaforall.cn
su [user] 和 su - [user]的区别: su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。...# pwd --当前目录 /root [root@rac1 ~]# su oracle --使用su [user] [oracle@rac1 root]$ pwd --当前目录没有改变,还是之前的用户目录.../root [oracle@rac1 root]$ su - oracle --使用su - [user] Password: [oracle@rac1 ~]$ pwd --当前目录变为当前用户的家目录.../home/oracle [oracle@rac1 ~]$ 所以建议大家在切换用户时,尽量用su - [user],否则可能会出现环境变量不对的问题。
#!/bin/bash QUEUE_NUM=10 #设置并发数 temp_fifo_file=/tmp/"$$".fifo mkfifo "$temp_fifo...
一、创建用户 Ctrl+Alt+T 进入到命令行,输入 sudo useradd -m [username] 创建名为[username]的用户 -m:自动建立用户的登入目录 sudo是允许系统管理员让普通用户执行...,输入i从命令模式切换到输入模式并新增下图所示信息, 3、Esc后输入:wq!...强制保存并退出 三、设置用户命令解释器 1、命令行输入sudo vi /etc/passwd 2、输入G跳到到文件尾部,将下图sh改为bash 3、Esc后输入:wq保存并退出 四、切换用户...1、命令行输入sudo su [username]切换到用户小明 2、命令行输入whoami查询当前用户名 3、切换回原用户 五、删除用户 命令行输入sudo userdel...-r [username],在root权限下将用户删掉,并删除用户文件夹 如果出现如下图报错: 解决方法 第一次使用ctrl+d退出Gnep用户,回到小明用户;第二次使用ctrl+d退出小明用户
touch /home/sq.sh 在home目录下新建sq.sh脚本 编辑脚本并写入命令执行语句 vi /home/sq.sh #!.../bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo “hello world !!”...表示想前端打印一句话即输出语句,>>表示将语句输出到指定路径 脚本编写完成后,.通过chmod命令赋予该脚本的执行权限chmod 777 sq.sh,否则没有执行权限 5.添加任务调度 crontab.../sq.sh表示每分钟执行一次改脚本 输入完毕后输入:wq保存退出 6.crontab -l 查看已经添加的任务调度 7.重启任务调度服务开始执行任务调度 /etc/init.d/crond restart...(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令) root表示以root用户身份来运行 run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本
在Linux下我们用crontab来实现定期执行脚本。...-r //删除当前用户的定时服务 crontab -e //编辑当前用户的定时服务 在设定编辑之前都建议列出服务查看一下:crontab -l 显示有一个已经设定好的定时任务 每天九点10分执行...to be executed user_name 表示执行定时任务的用户 不指定默认当前用户 command to be executed 表示要执行的脚本语句。...表示每天0-3点整执行脚本 使用(,)可以枚举时间 如: 0,15,30,45 * * * * 脚本 表示每个小时的0分,15分,45分,30分会执行脚本 使用(/)可以指定间隔...如:* */8 * * * 脚本 表示每8小时执行脚本 组合用法 0-20/10 * * * * 脚本 表示在前20分钟内每隔10分钟执行脚本 本人的一个定时脚本语句
在启动时执行 Linux 脚本 有两种传统的方法可以实现在启动时执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot...这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。...方法 #2 - 使用 /etc/rc.d/rc.local 这个方法对于 systemd-based 发行版 Linux 同样有效。...不过,使用这个方法,需要授予/etc/rc.d/rc.local文件执行权限: # chmod +x /etc/rc.d/rc.local 然后在这个文件底部添加脚本。...Linux 脚本 * 记住,一定要提前给两个示例脚本授予执行权限: $ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2
一、分析 这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。...二、解决 1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。...2)直接在Linux中转换(推荐做法): 首先要确保文件有可执行权限 #sh> chmod a+x filename 1 然后修改文件格式 #sh> vi filename 1 利用如下命令查看文件格式...可以看到如下信息 fileformat=dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix :wq (存盘退出) 最后再执行文件
作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。...4.通过chmod命令赋予该脚本的执行权限chmod 755 hello.sh,否则没有执行权限,/root/hello.sh表示在全路径下执行该shell脚本 就此一个简单的shell脚本就这样写完了...(说白了,shell脚本就相当于一个文件,它专门来干自己独立的任务) 虽然一个简单的shell脚本写完了 但是运行后只能执行一次 对很多应用场景来说还是不够,接下来说一下定时任务 linux应该都有crontab...执行命令或脚本时HOME变量可用来设置基目录。...(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令) root表示以root用户身份来运行 run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本 对于以上各语句
linux切换用户的命令是“su”。...u 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。...-m:和 -p 一样; -c 命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。...grep "user1' /etc/passwd userl:x:502:504::/home/user1:/bin/bash #user用户已经添加了 除了像例 2 这样,执行一条命令后用户身份会随即自动切换回来...我们知道,环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命令无法正确执行。
date +%Y%m%d --date="-1 day" //显示后一天的日期 date +%s //从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数(时间戳) 1、顺序执行...mds_content_wide_uniqueid.sh $start >logs/$start.log 2>&1 let start=`date -d "-1 days ago ${start}" +%Y%m%d` done 2、并发执行...&表示程序在后台执行 #!
fedora ];then echo redhat else echo '/root/foo.sh redhat fedora' >&2 修改为错误输出 exit 5 退出并设定返回错误码 fi 批量创建用户脚本...do useradd $i echo $i 创建成功 done 授权:chmod +x /root/batcusers.sh /root/batcusers.sh /root/batcusers.sh 脚本优化...batchusers' >&2 exit 2 elif [ -f $1 ];then for i in `cat $1` do useradd -s /bin/false $i #指定shell解释器创建用户
在linux中运行的网站,我们一般分配一个www用户给网站应用程序。但这个用户正常情况是不可以登陆的,这时候如果重启一些服务需要求只能使用www用户执行。此时切换到www用户时,会出错。...方法一 修改/etc/passwd文件 nologin改为bin/bash,这样www用户可以登录服务器,但这样操作比较危险。 方法二 可以通过以下办法使用www用户执行命令。...1su -s /bin/bash -c "command" www su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令..., 后面www是指定使用www用户来执行命令。...1DenyUsers www 这样www 用户永远不能通过ssh登陆。
领取专属 10元无门槛券
手把手带您无忧上云