Find扩充
find path -option [ -print ] [ -exec -ok command ] { } /;
find / -name "*.log" -type f +mtime 365 删除一年的365天以上的.log日志
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command
execute 将find的结果作为目录
exec rm –f {} \: 管道符号代表结束
find / -name "*.log" -type f +mtime 365 -exec rm -f { } \; 完整的命令
find /data/ -name "*.log" –type f -size +10K -exec mv { } /tmp \;
-perm 可以通过权限来查找:例如
find /var/log -name "*.log" –type f -size +10k -m perm 644
找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
-option参数是没有顺序的
2.26 linux文件以及文件名后缀
.txt .png .jpg .doc .xls 等等这些叫文件后缀
Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等
普通文件- 目录 d 块 b 字符c
index.html 网页
.so 动态库 注意操作
.bz2 ------bzip2的压缩文件
.sh shell脚本
.js javascipt
2.27 文件互传
linux和window文件系统文件互传rz、sz、xftp、 winscp
rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具
yum search all找源码
例如yum search all “rz”
安装rz源码包
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
sz: 代表从linux虚拟机上将文件传给本地服务器上
xftp 是专用于xshell连接(不举例)
另外一个常用的就是winscp
互相拖动就行,非常方便
扩展了解:对于安装的源,yum install 后面-y 不需要用户交互环节,例如安装源,
D 只下载不安装
3.1 用户配置文件和密码配置文件
3.2 用户组管理
3.3 用户管理
3.4 usermod命令
3.5 用户密码管理
3.6 mkpasswd命令
3.7 su命令
3.8 sudo命令
3.9 限制root远程登录
3.1 用户配置文件和密码配置文件
用户增加:useradd 用户删除userdel
用户的账户信息存在于cat /etc/passwd
该文件结构,每个用户一行,用':'进行分割成9段;
# root(用户名)
:$6$dAG6/8RmAOv603Ln$eDc6vFHvGC4snH3YJPVJkIP3OC7qbl0ax069YxFTlRb9TRjb0VqSimxoK2Eva6NKkZkV1YWZsOrqgtInheaCD1(密码'加密过'):(上次更改密码距离'格林乔治时间'天数):0(多少天之后可再更改密码):99999(多少天之后要更改密码):7(密码到期前多少天提示):(密码到期后没修改密码多少天账号失效):(账号使用期限'格林乔治时间后多少天'):(略) # longlong02(用户名):!!(密码'没密码是!!'):17387(上次更改密码距离):0(多少天之后可再更改密码):99999(多少天之后要更改密码):7(密码到期前多少天提示):(密码到期后没修改密码多少天账号失效):(账号使用期限'格林乔治时间后多少天'):(略) # xxx:*(密码被锁定):17110:0:99999:7:::
操作过程中可以用一下命令查看多少用户
cat –n 行数
set nu gg
wc –l /etc/passwd查看行数
tail -n number filename 倒数开始数起
/etc/shadow中面试可能用到 需要了解的有
3.2 用户组管理
用户组配置文件/etc/shadow
组密码文件:/etc/gshadow 带-号的是系统备份
3.3 用户管理
add delete
用户组的添加和删除
groupadd ##建立用户组
groupadd -g 888 ##建立用户组并指定用户组的id
先查看用户组,cat /etc/group
我们再创建一个user4的用户,指定到zhaoxiang的组(2333)中
这里查看注意命令是tail –n /etc /passwd,n是从后面数起多少行
groupdel ##删除用户组,和userdel类似,例如创建8888名称的用户组再删除8888
看到user5下面的8888用户组给删除掉了
Group可以用for批量增加:举例,增加10个group
扩展:
useradd(命令) -u(用户ID) 1008(参数) -g(组名) lrm2(参数) longlong04(新用户名)
创建账户的时候,如果带上-m则不会 不创建家目录 而带上-d则可以指定家目录
-s 则代表是shell /bin/bash
一般删除的时候,不会直接删除家目录, 那么可以用下面的命令
userdel -r user1 带有-r会删除home目录
举例useradd 如果带有-M则不创建家目录,例如创建两个,banana1和banana2, 可以看到2没有自动创建用户家目录
举例-d参数,让用户banana3 进入到banana家目录
使用命令useradd user –d /home/group
3.4 usermod命令
一般来说,一个用户可以属于多个组,对应一个程序员可以做测试,也可以做开发或者运维类似
Mod标识modify ,修改用户的组id
对应命令如下:
usermod -G 组名 用户名
ex: usermod –G banana1 user5
例如对user5操作:先看user5的属性
我们将user5切换到banana1
这里可以看到user5增加到了banana1的组中
同样有些命令-L 锁定 -U解锁
虽然密码是正确的,但是会提示坚定故障
我们解锁之后
3.5 用户密码管理
shell脚本中常用
Root下能修改任意用户的密码
查看ll /usr/bin/passwd
这里s代表所有权限
修改用passwd zhao,等,不带user名则是修改root自己的
修改用户密码:--stdin 只输入一次新密码。
这里不做示例
3.6 mkpasswd命令
# yum intstall -y expect # 安装工具
mkpasswd 默认生产9位
mkpasswd -l(长度) 12 -s(字符) 4 -C(大写) 1 -c(小写) 1 -d(数字) 1
mkpasswd -l 16 -C 8 -c 4 -d 3 -s 1 s特殊字符
例如:要求16为 个大写 4个小写3个数字 1个字符
那么就是随机生成一个账户密码