目的:希望linux在开机或重启后第一时间启动部分服务或者执行特定脚本 1.需要在/etc/init.d/目录下建立对应的shell脚本,示例如下: 开机启动docker-compose中的所有容器 vi...docker-compose.yml restart; 2.增加可执行权限 chmod +x /etc/init.d/kafka 3.查看默认执行级别 runlevel N 5 #这里表面本台电脑默认执行级别为 5 Linux
在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用户来执行命令。...方法三 1sudo -u www command 如果以上都不行,新系统中只能把www设置成不能通过ssh登陆,把此用户设置成可运行shell命令:打开www的shell 。
创建用户 useradd -g sftpuser 密码 passwd sftpuser 例如指定sftpuser只能访问/home/sftpuser目录 vi /etc/ssh/sshd_config...注释掉 #Subsystem sftp /usr/libexec/openssh/sftp-server 添加 Subsystem sftp internal-sftp #这行指定使用sftp服务使用系统自带的...internal-sftp Match User sftpuser #这行用来匹配用户 ChrootDirectory /home/sftpuser AllowTcpForwarding no ForceCommand... internal-sftp #指定sftp命令 保存,重启sshd 设置权限 chown -R root:sftpuser /home/sftpuser #必须设置为root所有,不然报Couldn't... read packet: Connection reset by peer chmod 755 /home/sftpuser 这样只读 在下面创建一个目录,然后设置为sftpuser所有,就可以写入了
新手接触vps经常会遇到一个问题,明明我按教程的步骤跟着做了,为啥还是连接不上,其实很大部分都是没有配置好linux防火墙,也就是iptables,今天就记录下centos更改开放iptables端口...linux编辑iptables添加端口 可以看到有很多内容,直接找到22的那一行,复制出来粘贴到那行下面,然后把22端口改成你需要的就可以了 比如下面我就添加了22222端口 -A INPUT -p tcp...iptables重启成功 这样,我们就使用iptables为linux系统成功开放了端口
提供三种方法: 1.直接以需要指定的用户登录(对于没有bash登录权限的用户不可用) su aswl crontab -e 2.以root用户登录,然后创建指定用户的crontab文件 sudo crontab...-e -u aswl [quote color="danger"]注:crontab 文件为 aswl 用户创建,不便管理[/quote] 3.修改系统 crontab 文件,指定用户执行 vi /etc.../crontab 文件内容初始如下: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see...sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 在命令前添加指定的用户名即可
本文,我们将要学习 Linux 高级 Shell 脚本以及用户管理(重点)。下面,我们将开始探索几个使用的 Shell 脚本,然后介绍 Linux 中的用户管理。...Shell 脚本 1 创建动态目录 首先,我们创建一个名为 create_directories.sh的脚本文件,这个将本将用于生成指定数量且具有动态名称的目录。以下是脚本的内容: #!...然后,脚本使用指定的目录名称以及起始和结束编号,循环创建目录。...用户管理 1 基本命令 在 Linux 系统中,用户管理对于控制访问和权限至关重要。以下是一些基本命令: 要创建用户,需要使用 useradd命令。...,我们就可以高效处理 Linux 系统上的用户帐户。
遇到一个需求,执行shell脚本时需要用root来执行,所以我们需要在脚本执行之前判读是否是root用户 方法一: $UID的值,对于root是0,而其它用户的$UID值不是0,但是这种方式在阅读...shell脚本时不明显 方法二: 判读whoami的值,如下List-1,exit的值只能是0~255之间的,只有0表示成功,其它表示失败 List-1 if [ `whoami` !
环境 centos 7.6 添加用户: [root@localhost ~]# useradd -d /home/yaoxu -m -s /bin/bash yaoxu 更改用户密码: passwd yaoxu...添加管理员权限: sudo adduser -g wheel username # 添加有管理员权限用户 sudo usermod -G wheel username # 追加管理员权限 查看当前组:...如果对您有帮助,希望能点击推荐给予支持~ 删除用户: [root@localhost /]# userdel -r haha ubuntu 添加赋予管理员权限:(2019.10.14 更新) sudo...sudo usermod -a -G sudo new_username 相关博客链接: https://www.cnblogs.com/xuyaowen/p/get-group-id.html 修改默认shell...: cat /etc/shells chsh -s /bin/bash usermod -s /bin/zsh user https://www.cnblogs.com/xuyaowen/p/linux-chsh.html
本文整理并转自CU上的帖子[学习共享] shell 十三問?,此贴是2003年发表的,但却是相当不错的linux基础知识汇集贴,原帖主使用的中国台湾风格,本文加以简体化和整理。...这里,我们必须知道:kernel与shell是不同的两套软件,而且都是可以被替换的: 不同的操作系统使用不同的kernel 而在同一个kernel之上,也可使用不同的shell 在linux的预设系统中...(ksh) 大部份的Linux系统的预设shell都是bash,其原因大致如下两点: 自由软件 功能强大 bash是gnu project最成功的产品之一,自推出以来深受广大Unix用户喜爱,且也逐渐成为不少组织的系统标准...提示符号的格式或因不同系统版本而各有不同,在Linux上,只需留意最接近游标的一个可见的提示符号,通常是如下两者之一: $:给一般使用者帐号使用 #:给root(管理员)帐号使用 事实上,shell prompt...可以从如下途径获得: 明确路径所指定的外部命令 命令别名(alias) 自定功能(function) shell内置命令(built-in) $PATH之下的外部命令 每一个命令行均必需含用命令名称,这是不能缺少的
本文整理并转自CU上的帖子[学习共享] shell 十三問?,此贴是2003年发表的,但却是相当不错的linux基础知识汇集贴,原帖主使用的中国台湾风格,本文加以简体化和整理。...此一现像在Linux系统中被称为fork。(为何要程为fork呢?...若然,日后你有机会写自己的script,应也不难专门指定一个设定文件以供不同的script一起“共享”了…^_^ okay,到这里,若你搞得懂fork与source的不同,那接下来再接受一个挑战: 那exec...若你是RedHat Linux的使用者,或许,已经猜得出/etc/rc.d/init.d/functions这个文件是作啥用的了~~~ ^_^ okay,说要轻松点的嘛,那这次就暂时写到这吧。...Return Value(RV)的取值为0-255之间,由程序(或script)的作者自行定议: 若在script里,用exit RV来指定其值,若没指定,在结束时以最后一道命令之RV为值。
本文整理并转自CU上的帖子[学习共享] shell 十三問?,此贴是2003年发表的,但却是相当不错的linux基础知识汇集贴,原帖主使用的中国台湾风格,本文加以简体化和整理。...若你有兴趣、且用Linux系统的话,不妨挖一挖/etc/init.d/*里那堆script中的case用法。...3.结果为true,于是执行echo并将num的值加一。 4.再作第二轮测试,此时num的值为1+1=2,依然小于或等于10,因此为true,继续循环。...若break后面指定一个数值n的话,则“从里向外”打断第n个循环,预设值为break 1,也就是打断当前的循环。...若你理解不来的话,那你可简单的看成:在continue到done之间的句子略过而返回循环顶端…与break相同的是:continue后面也可指定一个数值n,以决定继续哪一层(从里向外计算)的循环,预设值为
为tensorflow指定GPU,原因是,默认创建session时,会将所有显存占满,发现有人在用的时候,就会session不能创建而报错。...首先nvidia-smi查看显卡的编号,最左边一列,看看哪个空的 2.在终端设置使用的GPU 如果用方法一,虽然方便,但有的时候还是需要指定其他的GPU,这时可以这样,例如 CUDA_VISIBLE_DEVICES...=2 python test.py 这样就只会使用序号为2的GPU 3.在程序中指定使用的GPU import os os.environ["CUDA_VISIBLE_DEVICES"]=‘2’ 这里仅做一下记录...linux,GPU, py2.7 pip install \ -i https://pypi.tuna.tsinghua.edu.cn/simple/ \ https://mirrors.tuna.tsinghua.edu.cn.../tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl
将代码存为shell文件,将上一个文件的echo输出改成执行此文件即可自动推送到邮箱。
版权声明:本文为博主原创文章,转载请注明源地址。...https://blog.csdn.net/10km/article/details/50427281 linux shell中判断目录是否为空 #!.../bin/sh ##方法一 判断输出字符数统计为0 is_empty_dir(){ return `ls -A $1|wc -w` } ##方法二 判断输出string为空 #is_empty_dir...echo " $1 is empty" else echo " $1 is not empty" fi 上面两个方法都是使用《ls命令》列出目录下的文件,根据ls的输出来判断是否为空
1、用shell脚本批量建立Linux用户 实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码! #!...所以linux下自动改变用户密码的办法就是: Echo 密码 |passwd –stdin 用户名】-------------------设置相同的密码------------------------...fi done 3.批量添加组用户 添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30 参考答案: #!...1、首先我们创建用户文件和密码文件; 我们要创建包含新用户的文件userfile.txt ;另一个是为新添加的用户设置密码的userpwdfile.txt; [root@localhost ~]# touch...,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash ; 我们再来书写新增用户的密码文件
EFI Shell功能相当强大。有些主板内建EFI Shell,有些没有,但也可以将EFI Shell放进U盘中加载EFI Shell以达到同样的效果。EFI Shell自带许多功能强大的应用软件。...这里我提供华擎UEFI进入EFI Shell的办法及对截图工具的简要说明。$ v1 z’ I& t!...x’ C- d3 ^ 1、将文末提供的EFI Shell及截屏工具解压到U盘中,并且将shell.efi改名为shellx64.efi。 截屏1.jpg 2、按F2进入这里,选取最下面的这项。...R r1 O0 E$ K% Q 3、这时便进入了EFI Shell,看清你的U盘在什么位置上,比如我的就是被map在fs0:(有冒号的,大小写不区分),先执行fs0:后按驾车,然后运行screen或screen_new
调试添加用户的脚本 # sh -x useradd.sh alex + '[' 1 -lt 1 ']' + id alex + useradd alex + '[' 0 -eq 0 ']' + passwd.../bin/bash #添加用户 if [ $# -lt 1 ] ; then echo "At least one argument" exit 1 fi if id $1...passwd --stdin $1 &> /dev/null fi echo "useradd $1 add success" $#表示传递给脚本的参数个数 $1表示位置变量 最后发现用户创建成功
前言 我们知道root用户可以直接执行所有命令,主用户可以通过sudo命令假装自己是root用户,而一般用户连sudo都用不了。现在我们的目的就是让这个一般用户也能像正常用户一样使用sudo命令。...将用户添加进sudo组 root@myths-X450LD:/home# usermod -G sudo test 一句话ok。...(为了这句话不晓得倒腾了多久0.0) 将用户注册到/etc/sudoers文件中 按照/etc/sudoers文件的规格添加一行就行比如: %test ALL=(ALL:ALL) ALL 个人不太推荐直接改配置文件的行为
📷 image.png 📷 image.png 📷 image.png 📷 image.png 📷 image.png 📷 image.png 📷 image....
/bin/bash # cleanup_old_files - 清理指定目录中指定天数之前的旧文件 # $1: 目录名称 # $2: 天数 # $3: (可选)关键字,用于匹配文件名 function...天数 local keyword="$3" # 匹配文件名的关键字 # 参数有效性检查 if [ -z "$dir" ]; then echo "错误:目录参数为空...return 1 fi # 如果未指定天数,则默认为当天 if [ -z "$days" ]; then days=0 fi # 构建查找命令...为软链的时候 若是find命令想要检索到里面的内容,记得带-L,否则没法检索出任何东西; # 在mac下tmp是一个软链链接到/private/tmp ls -l /tmp lrwxr-xr-x@ 1...root wheel 11 Dec 2 19:37 /tmp -> private/tmp 带上-L之后就能兼容Linux和MacOS两个平台,方便本地调试也能测试; 这个参数大体的作用就是递归去找
领取专属 10元无门槛券
手把手带您无忧上云