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 " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=`echo $RANDOM|md5sum|cut -c 1-8`; echo $pass|passwd --stdin \1; echo -e "\1 \t $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\t$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

chattr&chown&cat&cut&useradd&passwd&chage&usermod的更多相关文章

  1. 用户管理命令--passwd,usermod,userdel

    用户修改密码命令--passwd 当修改用户的密码时,也要分普通用户和超级用户两种情况 普通用户:修改密码前需要先输入当前密码,确认是否正确 密码设置不可以过于简单 超级用户:权利非常的大,可以设置任 ...

  2. Linux 基础命令、文档树 和 bash

    最近发现了一个总结得更好的:bash cheatsheet 本文只是我对 linux 基础学习的一个总结,可能仅适用于复习用.算是我的 Linux 备忘录. 最基础 tab 补全 * 通配符 ctrl ...

  3. linux账户管理[转自vbird]

    useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd useradd 完全参考默认值创建一个用 ...

  4. Linux学习之CentOS(十一)-----Linux 账号管理(转)

    Linux 账号管理(转) useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd su(帐号切 ...

  5. linux 运维必备150个命令

    线上查询及帮助命令(1个) man 目录操作命令(6个) ls tree pwd mkdir rmdir cd 文件操作命令(7个) touch cp mv rm ln find rename 文件查 ...

  6. 运维必须掌握的150个Linux命令

    线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...

  7. liunx命令大全

    Linux常用命令大全   Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人 ...

  8. Linux常用的200个命令总结分类

    ●目录操作命令(6 个) ls tree pwd mkdir rmdir cd   ●文件操作命令(7 个) touch cp mv rm ln find rename   ●文件查看及处理命令(21 ...

  9. Linux 账号管理与 ACL 权限配置

    要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...

随机推荐

  1. 18/07/2017 R matrix

    矩阵:二维数组,元素拥有相同模式(数值型,字符型或者逻辑型) mymatrix <- matrix (vector, nrow_num_of_rows, ncol_num_of_columns, ...

  2. Python入门基本语法

      Python入门 以下主要讲述Python的一些基础语法,包含行的缩进在python中的重要意义,python中常见的保留字和引号的使用,如何实现单行注释和多行注释. print("he ...

  3. 用decimal模块增加python的浮点数精度

    浮点数python默认是17位精度,也就是小数点后16位(16位以后的全部四舍五入了),虽然有16位,但是这个精度越往后越不准. 如果有特殊需求,需要更多的精度,可以用decimal模块,通过更改其里 ...

  4. Ice cream samples Gym - 101670G 滑动扫描

    题目:题目链接 思路:比赛中读错了题,题目要求选一个连续区间,却读成了随便选取几个柜台,英语要好好学啊,读懂题就很简单了,扫一遍就出结果了 AC代码: #include <iostream> ...

  5. js实现获取当前时间是本月第几周的方法

    这篇文章主要介绍了js实现获取当前时间是本月第几周的方法,涉及javascript针对日期及时间的相关操作技巧,非常简单实用,需要的朋友可以参考下. 本文实例讲述了js实现获取当前时间是本月第几周的方 ...

  6. Scala学习-02-方法

    算数和操作符重载 所有的操作符都是方法. a + b 是一种缩写形式  :  a .+ b “+”是方法名(操作符重载) ++和—— Scala中并没有“++”和“——”.需要使用“+=”和“-=” ...

  7. python中json操作了解

    什么是接口? 交换数据 http://openweathermap.org/current json简介 JSON 是存储和交换文本信息的语法.类似 XML JSON 语法是 JavaScript 语 ...

  8. Numpy ndarray 的高级索引存在 "bug" ?

    Numpy ndarray 高级索引 "bug" ? 话说一天,搞事情,代码如下 import numpy as np tmp = [1, 2, 3, 4] * 2 a, b = ...

  9. [python IO学习篇] 补充中文编码

    http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820066616a7 ...

  10. [python篇][其他] python博客学习汇总

    http://blog.csdn.net/zhangxinrun/article/details/8141913