• chattr&chown&cat&cut&useradd&passwd&chage&usermod


    1.用chattr命令防止系统中某个关键文件被修改

    chattr +i /etc/resolv.conf
    chattr -i /etc/resolv.conf  要想修改此文件就要把i属性去掉
    lsattr /etc/resolv.conf
    # 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件
    chattr +a /var/log/messages
    

    2.chown:改变文件的属主和属组

    chown oldboy hehe.txt  只改变属主
    chown :oldboy hehe.txt  只改变属组
    chown oldboy.oldboy hehe.txt  两者都改
    chown -R oldboy.oldboy oldboy/  -R递归所有文件
    

    3.chmod:改变文件的权限

    chmod u=rw,g=r,o=rwx hehe.txt
    chmod o=--- hehe.txt
    chmod o-rwx hehe.txt  这两种方法都可以去掉权限
    

    4.cat

    cat -n hehe.txt  查看文件并为所有行标记行号
    cat -b hehe.txt  查看文件但之标记非空行的行号
    cat -E a.txt  查看文件并在行尾显示$(每一行都有$)
    cat -s a.txt  将多个空行合并成一个空行
    -s:suppress repeat empty lines
    cat -T a.txt  可以区分tab键和空格(制表符显示为^I)
    

    所以查看所有行、空行和不看空行的命令如下:

    grep "$" a.txt
    grep -n "^$" a.txt
    grep -nv "^$" a.txt
    

    tac命令是从文件的末行开始显示,rev命令是将字母顺序先后颠倒.

    5.cut-默认以tab键为分隔符

    head -n -10 /etc/inittab  除了后十行其余都显示
    tail -f access.log 
    tailf access.log
    # tail -f的简写并不是tailf,这两个没什么关系,是两个命令
    cut -b 3 hehe.txt 显示第三个字节
    cut -b 3-4 hehe.txt 显示n到m
    cut -b -4 hehe.txt 显示n个字节之前的内容
    

    用-b切割中文的话就会乱码,-c切割中文不会乱码,会自动分辨英文、中文.

    # head -1 /etc/passwd | cut -d : -f4

    -d指定分隔符--delimiter,-f指定字段--fields

    cut分隔符只支持单个字符,awk默认分隔符是空格,且支持多个分隔符

    指定空格为分隔符用:-d ' ' 引号中有一个空格

    6./etc/skel目录

    /etc/skel目录是用来存放新用户环境变量文件的目录,当添加新用户时,

    这个目录下所有文件会被复制到新添加的用户家目录下.作用:

    可以为新用户创建统一的、标准的初始化环境(例如编辑.bash_profile)

    切换用户时出现这种情况---bash-4.1$
    用户没有家目录或者家目录下缺少.bash_profile、.bashrc文件,解决办法:
    以当前用户的身份将这些文件拷贝过来.
    bash-4.1$ cp /etc/skel/.bash* .
    

    7.useradd

    使用useradd命令添加用户,所用参数在这个文件中/etc/default/useradd

    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    # useradd -c "production" -u 806 -G root,mysql -s /bin/sh -md /oldboy1 oldboy1
    -c:创建用户的说明;-G:指定多个用户组;-g:指定主组
    -m:指定家目录,如果不存在则创建;-d:指定家目录(得存在)
    -e:指定过期时间(格式年/月/日);-M:不创建家目录
    

    8.passwd(更改的是/etc/shadow文件)

    a.非交互式修改密码:

    echo "123456" | passwd --stdin oldboy

    b.批量创建10个用户stu01-stu10,并且设置随机8位密码,

    要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现.

    echo stu{01..10}|tr " " "
    "|sed -r 's#(.*)#useradd 1 ; pass=`echo $RANDOM|md5sum|cut -c 1-8`; echo $pass|passwd --stdin 1; echo -e "1 	 $pass">>/tmp/oldboy.log#g'|bash
    举一条命令stu01用户的过程拆解如下:
    useradd stu01; 
    pass=`echo $RANDOM|md5sum|cut -c 1-8`; 
    echo $pass|passwd --stdin stu01; 
    echo -e "stu01	$pass">>/tmp/oldboy.log
    

    c.passwd设置日期

    passwd -n 7 -x 60 -w 10 -i 30 oldboy
    -n:多少天以内不能修改密码
    -x:多少天以后必须修改密码
    -w:过期前多少天通知用户
    -i:密码过期后多少天,用户被禁掉
    

    d.chage(不常用)

    chage -l oldboy  查看用户密码期限,看的是/etc/shadow

    -E:将账户过期时间设为"过期日期",MM/DD/YY

    e.删除用户

    userdel -r oldboy  连家目录一起删,一般不这么用

    删除经验:

    1.vi /etc/passwd 注释掉用户;
    2.把登录shell改成/sbin/nologin;
    3.openLDAP账号统一管理,ldap库里删掉用户
    

    f.usermod--修改用户属性

    # usermod -c "oldboy6" -u 999 -G sa -s /bin/bash -md /home/oldboy6 oldboy6

    参数老男孩QQ空间:https://user.qzone.qq.com/49000448/blog/1422183723

  • 相关阅读:
    Ch6 信号和信号处理
    Ch13 TCP/IP和网络编程
    Ch14学习笔记——MySQL数据库系统
    电子公文传输系统个人贡献
    实验四 Web服务器2
    Ch12 块设备I/O和缓冲区管理
    实验四 Web服务器1socket编程
    定时器及时钟服务
    Computer.Science.Illuminated.7th.CN.计算机科学概论——配图
    ROS/ROS2
  • 原文地址:https://www.cnblogs.com/fawaikuangtu123/p/9877205.html
Copyright © 2020-2023  润新知