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 " " "\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的更多相关文章
- 用户管理命令--passwd,usermod,userdel
用户修改密码命令--passwd 当修改用户的密码时,也要分普通用户和超级用户两种情况 普通用户:修改密码前需要先输入当前密码,确认是否正确 密码设置不可以过于简单 超级用户:权利非常的大,可以设置任 ...
- Linux 基础命令、文档树 和 bash
最近发现了一个总结得更好的:bash cheatsheet 本文只是我对 linux 基础学习的一个总结,可能仅适用于复习用.算是我的 Linux 备忘录. 最基础 tab 补全 * 通配符 ctrl ...
- linux账户管理[转自vbird]
useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd useradd 完全参考默认值创建一个用 ...
- Linux学习之CentOS(十一)-----Linux 账号管理(转)
Linux 账号管理(转) useraddpasswdchageusermoduserdelfingerchfnchshidgroupaddgroupmodgroupdelgpasswd su(帐号切 ...
- linux 运维必备150个命令
线上查询及帮助命令(1个) man 目录操作命令(6个) ls tree pwd mkdir rmdir cd 文件操作命令(7个) touch cp mv rm ln find rename 文件查 ...
- 运维必须掌握的150个Linux命令
线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...
- liunx命令大全
Linux常用命令大全 Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人 ...
- Linux常用的200个命令总结分类
●目录操作命令(6 个) ls tree pwd mkdir rmdir cd ●文件操作命令(7 个) touch cp mv rm ln find rename ●文件查看及处理命令(21 ...
- Linux 账号管理与 ACL 权限配置
要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...
随机推荐
- Python学习笔记:configparser(INI格式配置文件解析)
在平时的开发中感觉INI格式的配置文件使用还是挺需要的,有时会使用一个单独的py来存放一些常量或者配置项,大多时候这样倒是挺好用的,但是如果某些配置项需要在运行时由用户来修改指定,比如很多app在关闭 ...
- AD采样求平均STM32实现
iADC_read(, &u16NTC_1_Sample_Val_ARR[]); == ui8FirstSampleFlag) { ; i<; i++) { u16NTC_1_Sampl ...
- poj 3614 伪素数问题
题意:1.p不是素数 2.(a^p)%p=a 输出yes 不满足输出no 思路: 判断素数问题,直接暴力判断 bool is_prime(int n) { for(int i=2;i*i<= ...
- 什么是Maven?
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 发文时,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗憾的是, ...
- 以http server为例简要分析netty3实现
概要 最近看了点netty3实现.从webbit项目作为口子.webbit项目是一个基于netty3做的http与websocket server.后面还会继续看下netty4,netty4有很多改进 ...
- 缓存淘汰算法之LRU实现
Java中最简单的LRU算法实现,就是利用 LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可 如果你去看LinkedHashMap的源码可知,LR ...
- verilog写的LCD1602 显示
在读本文之前,请先阅读 LCD1602 的 datasheet(百度到处都是) ,熟悉有关的11条指令集. LCD1602的11个指令集链接 http://www.cnblogs.com/aslmer ...
- [python学习篇][书籍学习][python standrad library][内建类型]之数值
数值类型 — int, float, long, complex 有四种不同的数值类型:普通整数.长整数.浮点数和复数 普通整数(或者简称整数)使用C中的long实现,其精度至少为32位(sys.ma ...
- [uiautomator篇][1] 官网译文
http://www.jianshu.com/p/7718860ec657 2016.07.25 20:59 字数 3675 Android UIAutomator浅谈 --------------- ...
- struts转换器详解
struts转换器:在B/S应用中,将字符串请求参数转换为相应的数据类型,是MVC框架提供的功能,而Struts2是很好的MVC框架实现者,理所当然,提供了类型转换机制. 一.类型转换的意义 对于一个 ...