`
wx1569488408
  • 浏览: 75087 次
文章分类
社区版块
存档分类
最新评论

学习记录-第二阶段-定时任务-用户管理-用户密码-sudo-20181026-21:00前

 
阅读更多

#企业故障案例
###################################################################
linux定时任务crond export变量问题群友案例

来自网友兄弟 北京@Grady(254553457) 的总结。

1)我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器,于是就在
crontab里配置了如下内容:
50 17 * * 1-5 root /usr/local/bin/resin_restart.sh
(个人修改 50 17 * * 01-05 /bin/sh /usr/local/bin/resin restart.sh>/dev/null 2>&1)
其中,resin_restart.sh内容如下:
#!/bin/sh
/usr/local/bin/xxresin_stop.sh
/usr/local/bin/xxresin_start.sh

2)有问题的时刻到来了,服务器虽然定时起来了,但是却报了如下错误:
Resin can't load com.sun.tools.javac.Main.  Usually this means that the JDK tools.jar is missing from the classpath, 
possibly because of using a JRE instead of the JDK.  
You can either add tools.jar to the classpath or change the compiler to an external one with <java compiler='javac'/> or jikes.
但是,明明已经在profile里配置了环境变量,为啥还找不到呢。折腾了需求没有搞定。
3)后来,找到了热心下老男孩老师,并请教,得到的回答是:
由于export变量问题导致:具体为,crontab执行shell时只能识别为数不多的系统环境变量,
普通环境变量一般是无法识别的,如果在编写的脚本中需要使用变量,最好使用export重新声明下该变量,
以确保脚本正确执行。以后作为一个开发基本规范写上。
------------------------

4)然后我在resin重启脚本里重新定义了下环境变量,脚本如下:
#!/bin/sh
#下面就是环境变量定义
JAVA_HOME="/opt/jdk1.6.0_18"
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/opt/nginx-0.7.61/sbin:/opt/jdk1.6.0_18/bin:/opt/resin-3.0.25/bin:$PATH
export JAVA_HOME PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC CLASSPATH
/usr/local/bin/xxresin_stop.sh
/usr/local/bin/xxresin_start.sh

5)经过测试,定时任务此时顺利重启,在这里非常感谢老男孩老师给与的支持。

 #######################################################################
总结:定时任务运行脚本的时候可以识别的PATH只有/usr/bin和/bin

###定时任务总结

1.命令行测试
2.编写脚本
3.测试脚本
4.编辑crontab
5.调试
6.完成

#某目录有大量小文件如何解决
1.ls|xargs rm
    find / -type d -size +1M
    find / -type d -size +1M|xargs ls -lhd
    ls /oldboy/test |wc -l
    \rm -f *
    报错:Argument list too long
    应该用 ls|xargs rm -f删除
如果还是不行,建议找到a开头的文件,b开头的文件,分别删除。
2.删除文件所在的目录(记录好权限和所有者)

##################################################################
######################定时任务完##################################
##################################################################
######################用户管理####################################
##################################################################
###1.让一个命令或脚本开机自启动有什么方法
1)/etc/rc.local

2)通过chkconfig管理
   如何让一个脚本被chkconfig管理
    vim /etc/init.d/oldgirld             (脚本必须放在此目录)
    脚本要有执行权限。
    chmod +x /etc/init.d/oldgirld
    脚本的开头要有chkconfig指定的内容
    # chkconfig: 2345 99 99  (格式必须一模一样#空格chkconfig:空格2345空格99空格99)
               运行级别
                    脚本是第几个开机启动的(最大99)
                        脚本是第几个关机时关闭的(最大99)
    chkconfig --add oldgirld   (不用写路径,因为路径肯定是/etc/init.d/)
    然后查看 chkconfig|grep oldgirld

    man chkconfig时有:(一般格式的说明在man的最下面)
    RUNLEVEL FILES下面
    For example, random.init has these three lines:
       # chkconfig: 2345 20 80
翻译:
RUNLEVEL FILES
       Each  service  which  should  be manageable by chkconfig needs two or more commented lines added to its init.d script. 
       每一个被chkconfig管理的服务器需要在它们的init.d脚本中添加两个以上的注释行
       The first line tells chkconfig what runlevels the service should be started in by default,as well as the start and stop priority  levels.
       第一行告诉chkconfig默认需要启动服务的运行级别,还需要提供开机和关机时启动/停止的优先级别。
       If the service should not, by default, be started in any runlevels, a - should be used in place of the runlevels list.  
       如果服务没有指明,默认,会在任何运行级别启动,a - 可以被用来替代运行级别。
       The sec-ond line contains a description for the service, and may be extended across multiple lines with backslash continuation.
       第二行应包含对服务的描述,并且可以通过反斜线跨多行扩展。
       For example, random.init has these three lines:
       例如,random.ini有这三行
       # chkconfig: 2345 20 80    (自加 # chkconfig: - 99 99)
       # description: Saves and restores system entropy pool for \
       #              higher quality random number generation.
       This says that the random script should be started in levels 2, 3, 4, and 5, that its start priority should be 20, and that  its stop  priority should be 80.
       这说明这个随机脚本会在运行级别2345启动,它的启动优先级别为20.而它的停止优先级别为80.
       You should be able to figure out what the description says; the \ causes the line to be continued.The extra space in front of the line is ignored.
       你应该能理解这些描述;\使行能够继续(书写)前面的剩余空间被忽略了。
       
###chkconfig 背后的故事
chkconfig iptables on/off 为什么能永久生效?
    实际上影响的是/etc/rc3.d下的文件
    [root@web01 ~]# chkconfig |grep iptables
    iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off
    ll /etc/rc3.d/|grep ipt
    lrwxrwxrwx. 1 root root 18 Oct 20 15:56 S08iptables -> ../init.d/iptables
    
    [root@web01 ~]# ll /etc/rc3.d/|grep ipt
    lrwxrwxrwx. 1 root root 18 Oct 20 15:58 K92iptables -> ../init.d/iptables
    ###S08iptables变成了K92iptables
    执行了chkconfig iptables on时 S08iptables -> ../init.d/iptables
    执行了chkconfig iptables off时 K92iptables -> ../init.d/iptables
    #S====start K====kill

    验证:手动创建软链接。
    chkconfig iptables off
    mv /etc/rc3.d/K92iptables /tmp/
    ln -s /etc/init.d/iptables /etc/rc3.d/S08iptables
    [root@web01 ~]# ll /etc/rc3.d/S08iptables 
    lrwxrwxrwx. 1 root root 20 Oct 20 16:03 /etc/rc3.d/S08iptables -> /etc/init.d/iptables
    [root@web01 ~]# chkconfig |grep ipt
    iptables           0:off    1:off    2:off    3:on    4:off    5:off    6:off
    结论:执行   会在相应运行级别创建一个S开头的软链接。
    查看/etc/init.d/iptables 实际上08和92就是服务的优先级别# chkconfig: 2345 08 92(包含在/etc/init.d/iptables中的内容,详见前面加入chkconfig)

###用户分类 root 皇帝UID:0   
            虚拟用户 傀儡  UID:1-499 (每个程序运行都需要一个用户,傀儡用户不需要登陆,如何判定  命令解释器是/sbin/nologin) 
            普通用户 UID:500+

###用户相关的配置文件
    /etc/passwd     用户的信息        如果把passwd中原先代表密码的x删除,用户就没有密码了。(现在由shadow存储密码)
    /etc/shadow     用户的密码
    /etc/group     组的信息
    /etc/gshadow 组的密码
    /etc/default/useradd    添加用户的时候默认的信息
    命令解释器
    /bin/bash 和/bin/sh 其实一样/bin/sh是/bin/bash的软链接,但是把/bin/sh当命令解释器就不一样了。
    /sbin/nologin
    /bin/sh
    /bin/dash    ubuntu
    /bin/tcsh    Unix
    /bin/csh
    
###与用户有关的目录
    /etc/skel/                    新用户家目录的模板
     echo 'xxxxxxxxxx'>/etc/skel/readme.txt
     新建目录时目录下就会自动生成readme.txt文件。
    /etc/skel/.bash_logout        ===用户退出时会运行里面的命令
    /etc/skel/.bash_profile        ===/etc/profile
    /etc/skel/.bashrc            ===/etc/bashrc
    
##请问如下登陆环境故障的原理及解决方法?
有时候登陆用户后会提示:
-bash-4.1$
-bash-4.1$
    
#模拟环境  useradd alex -> su - alex ->rm -f .bash*    
        再次登陆
        [root@web01 qq]# su - alex
        -bash-4.1$ 
        -bash-4.1$ 
    #原因:用户下与环境变量相关的隐藏文件 被删除了。
    #解决:从其他地方复制这些隐藏文件。 
    方法1:从/etc/skel复制
    -bash-4.1$ cp /etc/skel/.bash* ~
    方法2:从其他用户家复制
    -bash-4.1$ cp /home/oldboy/.bash* ~
    cp: cannot stat `/home/oldboy/.bash*': Permission denied
    报错的原因是什么?
############################    
###注意 linux下.*极度危险###
############################
以点开头的所有东西
.当前目录
..当前目录的上一级目录
表示以点开头隐藏的文件或目录
.bash*
例: rm .* -rf  会删除.  ..   隐藏文件或目录  (..往往意味着根!!!!)
    
###用户管理命令    
##用户相关命令
#useradd  -u指定新用户UID -s指定用户shell(默认/bin/bash)
         -M表示不创建家目录(创建虚拟用户时用)
         -g指定用户属于的组(组的名字)添加用户的时候默认创建一个同名的组。
         -c指定说明信息(/etc/passwd的第五列)
    添加一个用户alex999    指定uid为888,禁止用户登陆系统 不创建家目录
    useradd -u 888 -s /sbin/nologin -M alex999  (即使不创建家目录,/etc/passwd里也会显示家目录,但是实际没有这个目录)
#userdel    删除用户
    linux一般很少删除用户,在/etc/passwd前面加上注释就可以了。(用id查看是否还存在)
    userdel默认不会删除家目录和邮箱   -r参数删除与用户所有相关数据(家目录)
#usermod    修改用户的信息(这个用户已经存在了)    -c也可以 
          -s修改用户使用的shell
          -g属于的家庭 用户组名字
          -G属于多个家庭
        usermod -g oldboy alex999
        usermod -G root,oldboy alex999
    id命令还可以看用户属于哪些组
    [root@web01 home]# id alex999
    uid=888(alex999) gid=500(oldboy) groups=500(oldboy),0(root)
#passwd    
1.非交互式设置密码 (--stdin从管道中获取用户的密码)
    echo '123456'    |passwd --stdin oldboy  加上--stdin passwd就能在管道前面获取密码了
  #有坑,命令可以被history看见    
    history -c清空当前的历史记录
2.企业场景:用户及密码管理
        密码要复杂 12位以上 字母数字特殊字符
        保存密码工具
            keepass(推荐)
            lastpass
        大的企业用户和密码统一管理(相当于活动目录(AD),openldap域)
        动态密码:动态口令,第三方提供自己开发也很简单。
        如何让系统更安全。
    
#keepass(密码存放软件详解)(从官网下载)
    https://keepass.info/download.html
    
    Portable:绿色版的  (下了Portable1.36)
    再点击左侧Translations下载语言(下对应版本的)
    在keepass中生成并复制秘钥
    echo (在此位置咱贴秘钥)|passwd --stdin oldboy
    history -c清除历史记录
    别忘了保存keepass秘钥(软件和保险箱分开放)
#lastpass是把密码存在网上的。    

##系统安全
    1.最小化    安装系统、安装的软件、运行的软件都要最小化
    2.保护好root  禁止root用户远程登陆   修改远程连接端口号22 /var/log/secure 日志分析 failure或fieled
    3.文件系统权限    给系统常用命令+id    给系统配置文件+a
    4.给重要的文件或命令 做一个指纹(linux有这个功能)
            1.给这个文件创建指纹
            2.如何快速对比指纹
            3.定时任务+md5sum(通过定时任务检查md5)
        文件内容发现变化,指纹才会变。
        通过对比指纹的方式发现文件变没变。
    #实际用途
        md5sum oldboy.txt >police.log  (police.log是指纹库)
        cat police.log
        md5sum -c pllice.log
    [root@web01 oldboy]# md5sum oldboy.txt>police.log
    [root@web01 oldboy]# cat police.log 
    9ff7dc4f2834c27384f396bdca60326a  oldboy.txt
    [root@web01 oldboy]# md5sum -c police.log 
    oldboy.txt: OK
    [root@web01 oldboy]# echo oldboyedu.com>>oldboy.txt
    [root@web01 oldboy]# md5sum -c police.log 
    oldboy.txt: FAILED
    md5sum: WARNING: 1 of 1 computed checksum did NOT match
    #oldboy.txt文件的内容变化了。
    去网站下载东西,比如阿里云,怎么知道下载的东西和网站给的东西是一样的?
    一般重要的软件,提供下载的同时还会提供md5sum.txt 对比一下就行
    Notepad++里就有md5sum功能,工具-MD5-从文件生成
    
    
    参考###怎么让系统不容易中病毒
    http://lidao.blog.51cto.com/3388056/1910889
###################################内容##################################################################################################
    老男孩教育每日一题:2017年3月7日-Linux服务器如何防止中***?
李导关注15人评论9353人阅读2017-03-27 19:05:30

(一)解答战略
        去企业面试时是有多位竞争者的,因此要注意答题的维度和高度,一定要直接秒杀竞争者,搞定高薪offer。
(二)解答战术
        因为Linux下的木马常常是恶意者通过Web的上传目录的方式来上传木马到Linux服务器的,可根据从恶意者访问网站开始-->Linux系统-->HTTP服务-->中间件服务-->程序代码-->DB-->存储,层层设卡防护。
(三)从用户访问角度解答参考
    1.开发程序代码对上传文件类型做限制,例如不能上传.php程序(JS及后端代码控制)。
    2.对上传的内容(包括文本和文件)检测,检测方式可通过程序、Web服务层(中间件层)、数据库等层面控制。
    3.控制上传目录的权限以及非站点目录的权限(Linux文件目录权限+Web服务层控制)。
    4.传上木马文件后的访问和执行控制(Web服务层+文件系统存储层)。
    5.对重要配置文件、命令和WEB配置等文件做md5指纹及备份。
    6.安装杀毒软件clamav等,定期监测查杀木马。
    7.配置服务器防火墙及入侵检测服务。
    8.监控服务器文件变更、进程变化、端口变化、重要安全日志并及时报警。
(四)从内部管理人员角度:防止被提权
    1.***管理服务器或Web化管理服务器。
    2.ssh监听内网。
    3.采用跳板机、操作审计。
    4.sudo集权管理、锁定关键文件。
    5.站点目录、上传目录权限属组控制。
    6.做系统及站点文件备份指纹监控报警。
    7.动态口令认证。
(五)最佳网友解答
    因为Linux下的木马常常是恶意者通过Web的上传目录的方式来上传木马到Linux服务器的,因此防御Linux木马可以通过一下途径来防范。
    1.对用户可以上传的文件类型和上传位置做严格限制
    2.用户上传的文件在服务器中应该配置只具有可读权限
    3.用户的上传目录所属主只具有较小的合适权限
    4.对重要的配置文件和WEB配置文件做md5校验及备份
    5.对服务器开放的端口和运行的进程做监控,经常检查监控日志,在有异常进程或端口时能及时发现。
##############################################################################################################################################
##############################################################################################################################################
作业:    
企业面试题    
    批量添加10个用户stu01,stu02....stu10,并设置8位随机密码(禁止使用for,while等循环)
    可以先简化
    批量添加3个用户stu01,stu02,stu03,并设置123456(禁止使用for,while等循环)
    useradd stu{01..03}
    echo ‘123456’|passwd --stdin stu{01..03} 
答1:
    echo stu{01..03}|xargs -n1|sed -r 's#.*#useradd &#g'|bash
    echo stu{01..03}|xargs -n1|sed -r 's#(.*)#useradd \1#g;random=$(echo $RANDOM)|passwd --stdin \1'|bash


    
答2:
    http://blog.51cto.com/linux0s/1931693以后看吧......
    Linux下如何批量创建用户并设置8位随机密码
      ------------题目来自老男孩Linux培训博客
1、用户名称的批量生成。  
2、随机密码生成的方法。
3、因为要一条命令搞定,所以考虑构造一个命令,使之符合要求,最后交给bash执行。
    
#############################################################################################################################################    
    
chown命令    
    修改文件或目录所有者和属于的用户组
    -R 递归修改文件或目录的所有者和用户组
    chown oldboy oldboy.txt #只修改了文件的所有者 
    chown oldboy.oldboy oldboy.txt #修改了文件的所有者和属于的组。
    
用户组相关    
    groupadd 创建用户组
    -g 指定用户组的gid数字
    添加一个虚拟用户用户 mysql指定用户的uid gid都是999

    groupadd -g 999 mysql
    useradd -u 999 -g mqsql -s /sbin/nologin -M mysql
    
用户查询命令        
    id 查看用户的信息
    w  显示系统中已经远程登录的用户 
            [root@web01 home]# w
当前系统时间  系统运行的时间         远程链接的用户数   系统负载信息
00:38:15       up 3 days,  8:04,          3 users,          load average: 0.00, 0.00, 0.00
USER           TTY          FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root           tty1         -                Tue03   31:07m  0.19s  0.19s -bash
root           pts/0        10.0.0.1         20:53    3:44m  0.03s  0.03s -bash(闲着呢)
root           pts/1        10.0.0.1         20:53    0.00s  0.43s  0.00s w
远程登录用户名          用户从哪里登录(-本地)                               这个用户在做什么
#上面的一行相当于uptime命令的结果。    
    
    
    查看系统性能命令
            w
            uptime
            top
                按M按照内存排序 按P按照cpu排序(默认)
                =uptime+free -h+ps -ef
            htop#增强版本的top命令
            iotop #显示系统中每个进程使用的磁盘io
            iftop #显示系统中的网络流量
            安装这些软件了解什么是yum源
    last哪个用户在什么时候从哪里远程登录你的系统 用户登录信息
    
    lastlog 显示linux中所有用户最近一次远程登录的信息

###linux的尚方宝剑    
    sudo临时让用户获得ROOT权限
        su与su -区别
            - 命令参数:表示切换用户的时候更新环境变量
            
    是什么
        sudo -k清除缓存(不常用)
        sudo -l查看当前用户的sudo权限
        sudo -c检查语法
    
        授权一个命令               oldboy ALL=(ALL) /bin/ls
        授权多个命令               oldboy ALL=(ALL) /bin/ls,/bin/touch
        授权一个目录               oldboy ALL=(ALL) /bin/*
            可能会导致问题。
        权限目录下所有命令,排除su oldboy ALL=(ALL) /bin/*,!/bin/su
        权限所有命令               oldboy ALL=(ALL)    ALL
        不想输密码了               oldboy ALL=(ALL)    NOPASSWD: ALL
        第一个          ALL        =          (ALL)                              
               在哪台主机上运行        以谁的身份运行
        
###记录用户的操作-行为审计/日志审计
        1.齐治的堡垒机:商业产品    (硬件产品)
        2.gateone web跳板机
        3.python开发的开源的跳板机产品
                开源跳板机(堡垒机)Jumpserver部署详解
                alex写的crazyEYE
        4.shell跳板机
            
        跳板机、堡垒机含义(类似sudo的操作、用户操作的回放)

转载于:https://my.oschina.net/u/4005625/blog/2253131

分享到:
评论

相关推荐

    sudo-1.8.28p1.tar.gz

    - sudo命令的核心功能是让用户在无需知道root密码的情况下,执行需要管理员权限的命令。 - 它通过配置文件`/etc/sudoers`来定义哪些用户可以执行哪些命令,以及相应的限制条件。 - sudo提供了一种审计机制,记录...

    linux下定时任务设置.docx

    Linux 下定时任务设置 Linux 操作系统提供了一个强大的定时任务设置机制,即 cron 服务。cron 服务允许用户设置在特定的时间或间隔执行特定的命令或脚本。下面将详细介绍 Linux 下定时任务设置的知识点。 一、创建...

    Azkaban - 定时任务系统的配置与运行详解

    Azkaban 定时任务系统配置与运行详解 Azkaban 是一个开源的定时任务系统,用于管理和执行定时任务。下面将详细介绍 Azkaban 的配置和运行过程。...通过配置和运行 Azkaban,用户可以轻松地管理和执行定时任务。

    Laravel开发-sudo-su

    在Laravel框架中,"sudo-su"是一个实用的包,它允许开发者模拟其他用户的身份进行登录,这对于在后台管理系统中进行权限控制或者测试用户角色功能非常有用。这个包的运用可以提升开发效率,同时保证了应用程序的安全...

    Node.js-sudo-block-阻止用户运行应用程序利用根权限

    标题 "Node.js-sudo-block-阻止用户运行应用程序利用根权限" 涉及到的是一个重要的安全实践,尤其是在Node.js开发环境中。Node.js是一个流行的JavaScript运行时环境,它允许开发者在服务器端执行JavaScript代码。...

    sudo-1.9.5p2.tar.gz

    sudo 是一个广泛使用的Unix/Linux系统命令,用于允许普通用户以超级用户(root)权限执行命令。这个"sudo-1.9.5p2.tar.gz"是sudo软件的源码包,版本号为1.9.5p2。源码包通常用于开发者或系统管理员进行定制安装、...

    Docker-CodeWeavers_CrossOver-VNC:通过VNC远程管理运行CrossOver的Docker-源码

    CodeWeavers.CrossOver.VNC Docker映像通过VNC远程管理器运行CrossOver Linux的docker映像。 使用docker映像,U可以在docker容器下运行Windows软件,而不是笨重的虚拟机。 当前安装的版本: CrossOver Linux 18.1.0 ...

    cpp-NSudo一个强大的系统管理工具

    2. 系统权限管理:NSudo的核心在于权限管理,它能以非管理员身份运行,但可以临时提升到管理员权限执行特定任务。这涉及到Windows API调用,尤其是与安全性和权限相关的API,如Token manipulation(令牌操作)和...

    sudo-1.9.5p2-1.el6.x86_64.rpm

    基于sudo 1.9.5p2源码编译打包,用以解决Sudo 堆溢出(CVE-2021-3156)漏洞,已再rhel6.5及centos6.5上安装验证,直接使用rpm -Uvh升级安装即可

    系统管理软件 NSudo 8.0.1.zip

    M2-Team NSudo 专为经验丰富的 Windows 用户而设计,提供了一种高级管理工具,使您可以使用管理特权启动任何应用程序。该应用程序无需安装;您只需双击主可执行文件即可启动它。单窗口界面包括其所有选项和功能,...

    gocron - 定时任务系统的配置与运行详解

    gocron 定时任务系统的配置与运行详解 以下是关于 gocron 定时任务系统的配置与运行详解的知识点: 一、创建 gocron 用户 * 创建 gocron 用户:使用 useradd 命令创建 gocron 用户,并授予 sudo 权限。 * 授权 ...

    centos7-sudo-1.9.9.rpm包。修复CVE-2021-3156,Sudo堆缓冲区溢出漏洞

    此为centos7版的最新sudo-1.9.9.rpm包,修复修复CVE-2021-3156漏洞。 升级步骤: 1、将RPM包上传到服务器上, 2、执行升级命令: # rpm -Uvh sudo-1.9.9-1.el7.x86_64.rpm 3、执行完毕后,查询sudo版本: # sudo -V

    Linux必学的60个命令(1)-安装与登陆

    了解并熟练使用这些命令是Linux系统管理的基础,它们能帮助用户高效地执行日常任务,无论是系统维护、文件操作还是网络管理。通过实践和学习,你可以逐渐掌握这些命令,并提升在Linux环境下的工作效率。

    操作系统安全:su及sudo权限配置及控制.pptx

    例如,当普通用户test试图执行需要管理员权限的任务,如`useradd`,su可以帮助他们临时获得root权限。su命令有几个参数,例如-f(或-fast)用于csh和tcsh,-p(或-preserve-environment)保持当前环境变量不变,-l...

    Linux学习笔记.pdf,linux详解,LINUX

    2. 开源与自由:Linux遵循GNU General Public License(GPL),允许用户自由使用、修改和分发源代码,促进了全球开发者对其的贡献和发展。 二、Linux发行版 Linux有众多发行版,如Ubuntu、Fedora、CentOS、Debian等...

    ansible-user:为基于SSH密钥的登录名和无密码sudo创建和配置用户

    在这个场景中,我们关注的是如何使用Ansible来创建一个用户,并确保该用户可以基于SSH密钥进行登录,同时具备无密码sudo权限。这样的配置对于系统管理员来说非常实用,因为它允许安全、便捷地远程管理服务器。 首先...

    Linux必学的60个命令v1.0.1.docx

    学习这些命令不仅能够帮助用户在Linux环境中执行日常任务,还能为更高级的系统管理和故障排查打下基础。每个命令都有其特定用途和参数,熟练掌握它们能极大地提高工作效率。例如,`shutdown -h now` 可立即关机,而 ...

    Linux用户及用户组管理命令.rar

    1. **用户管理**: - **添加用户**:`useradd`命令用于创建新用户。例如,`useradd -m username`会创建一个名为username的新用户,并为其创建主目录。 - **删除用户**:使用`userdel`命令可以删除用户,但需注意,...

Global site tag (gtag.js) - Google Analytics