Linux文件类型:
普通文件:-,file(内容格式)
目录文件:d
块设备: b
字符设备:c
符号链接文件:l
套接字文件:s
命名管道文件:p
文件:属主、属组
属主:拥有者
属组:所属的组
目录相关的命令:
cd, pwd(print working directory), mkdir, rmdir
mkdir /tmp/x/y/z
basename PATH
dirname PATH
-p, -v = -pv
文件相关:
touch:
access time: -a 修改文件的访问时间
modify time: -m 修改文件的修改时间
change time 修改文件的改变时间
stat FILE
linux下常见的文件系统类型:ext2, ext3, ext4
cp SRC ... DEST
-r:递归复制文件夹
-a: 归档
-v:显示复制的详细信息
-i:和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-f :若目标目录已经有相同档名的档案存在,则在复制前先予以删除再行复制而不提示。
mv SRC ... DEST
rm: -r, -f
时间相关:
date
hwclock
cal
# COMMAND options arguments
长选项:--help
短选项:-pv
linux用户的类别:
管理员:root, 0
普通用户
系统用户: 1-499
可登录用户: 500+
linux进程:
mkdir /tmp/a.txt: 发起系统调用
用户模式 --> 内核模式
进程:程序
程序,死的
进程,活动的程序,执行过程中的程序,生命周期
process: 过程
资源分派的单位:
进程是用户的代理,代理用户完成计算机操作
进程:
daemon: 守护进程
interactive: 交互式进程
real time: 实时进程
用户管理:
创建用户、修改用户属性、删除用户、创建组、修改组属性、删除组
权限管理:
修改文件的属主、改属组、改文件权限
Linux权限:
读取:read, r
写入:write, w
执行:execute, x
文件权限:
默认都不开放执行执行权限;
目录权限:
r: 可以对目录执行ls命令,但不允许使用-l选项,而且,不能cd到目录中;
w: 可以在目录创建文件;
x: 可以对目录执行ls -l,且能够cd进去。
跟用户和组相关的文件:
/etc/passwd: 用户的属性信息;
/etc/shadow: 影子口令
/etc/group: 组的属性信息;
/etc/gshadow: 组的密码;
添加用户:
useradd, adduser
# useradd USERNAME
创建用户时为其创建同名组:用户的私有组
以用户的角度来说,组的类型:
私有组:基本组
额外组:
touch /tmp/c.txt
/bin, /sbin
useradd USERNAME
用户的属性:
用户名:密码占位符:UID:GID:注释信息:家目录:默认shell
默认法则:
UID: 已有最大UID+1
GID: /etc/group中已有最大GID+1,如果没有给用户指定基本组,且其UID相同的GID号未被占用,则GID同UID;
注释信息:空
家目录:/home/USERNAME
shell:/bin/bash
定制用户属性:
-u UID, 有效范围0-65535;
-g GID, 有效范围已有的GID;
-G GID, 有效范围为已有的GID;可以有多个,用逗号分隔;
-c COMMENT
-d /path/to/somewhere
-s /path/to/shell_command
-r: 创建系统用户, ID号范围为1-499之间的用户;系统用户的家目录不会被真正创建;
-M: 不为用户创建家目录;
-m: 必须为用户创建家目录;
转换用户:
su (switch user)
su USERNAME
su -l USERNAME
su - USERNAME
管理员su到普通用户,不需要密码;反之,不成;
查看有哪些shell可用:
/etc/shells
环境变量:SHELL(保存当前用户的shell)、PATH、HISTFILE
查看用户属性:
id:
-u
-g
-n
-un, -gn
创建组:groupadd
groupadd GRPNAME
/etc/group:
组名:密码占位符:GID:以此组为额外组的用户列表,用户间用逗号分隔;
-g GID: 创建组的时候为其指定GID;
-r: 创建系统组;
修改用户属性:
usermod:
-u UID
-g GID
-a -G GID: -G修改额外组时会覆盖原有的额外组,同时使用-a选项则能保留原有的额外组;(append,追加)
-c COMMENT
-s /PATH/TO/SHELL
-l NEW_NAME: 改用户的登录名称;
-m -d /path/to/somewhere:-d只修改家目录指向,同时使用-m选项则可实现将原来家目录移动为新的家目录;
密码管理:
passwd: 修改自己的密码;
passwd USERNAME: 修改指定用户的密码
/etc/shadow
密码安全策略:
足够复杂:
1、密码长度至少5位;
2、包含大写字母、小写字母、数字和特殊字符至少三类;
10*10*10*10*10*10
3、定期更换;不要重复使用此前用过的密码;
passwd
-l: 锁定用户帐号
-u: 解锁
groupmod: 修改组属性
-g GID
-n NEW_NAME
用户创建、修改、密码、组的添加、修改
/etc/passwd:
用户名:x:UID:GID:注释:家目录:SHELL
/etc/group:
组名:x:GID:以此组为额外组的用户列表;
/etc/shadow
登录名:加密的密码串:最近一次修改密码的时间:密码最短使用期限:密码最长使用期限:密码到期警告天数:帐号的非活动天数:帐号过期期限:预留段
加密机制:
$1$:加密方法
$8位随机数$:salt
$: 密码
密码修改时间:从1970年1月1号开始至上次修改密码时,中间所经过的天数;
1 | MD5
6 | SHA-512 (since glibc 2.7)
加密方法:
对称加密:加密和解密使用同一个密钥;3DES, AES(Advanced Encrption Standard);密钥管理及分发功能很差;
公钥加密: 也叫非对称加密,私钥/公钥(s/p),公钥可以从私钥中提取得到;加密速度慢,但安全性高;通常用于密钥分发;RSA, DSA
单向加密:提取数据特征码,特性
1、无论输入是多大的数据,其输出是定长的;
2、如果输入的数据一样,其结果一定一样;反之,输入数据微小改变,将引起结果的巨大改变;雪崩效应;
3、算法:md5(message digest),SHA(Secure Hash Algorithm), SHA1
md5: 128bits
sha1: 160bits
sha-256: 256bits
sha-512: 512bits
redhat:iree8934 = fdksalfjdkaloi43qp[tui09jdf sjfkdg]
redhat
redhat: 86jfriee
# openssl passwd -1 -salt 12345678 redhat
密钥属性的修改:
passwd:
-e
-n: 密码最短使用天数;
-x:最长使用天数;
-w: 警告天数;
-i: 非活动时长;
chage
-d: 修改密码的最近一次修改时间
-m, --mindays MIN_DAYS:最短使用期限;
-M, --maxdays MAX_DAYS:最长使用期限;
-W, --warndays WARN_DAYS:警告天数;
-I, --inactive INACTIVE:非活动天数;
-E, --expiredate EXPIRE_DATE:过期时间;
usermod
-e YYYY-MM-DD: 指定帐号过期期限;
-i #: 非活动天数;
gpasswd: 为组设定密码;
newgrp GROUP: 临时设定指定的组为自己的基本组;
权限:
r: read,
w: write,
x: execute, 文件可发起为进程,目录表示可ls -l, cd
文件系统安全模型:
属主 属组 其它
u, g, o
改变文件权限(mode):
chmod: change mode
chmod [选项] 权限 文件
权限定义方式:
1、同时修改三类用户的权限: 8进制数字方式
2、修改某一类或某些类用户的权限:u,g,o,a
u=rw
u=,g=
ug=
3、只操作某类用户的某位或某些位权限:u,g,o,a
+/-
u+w
+x
-x
g-rw
选项:
-R: 递归修改权限;
--refernce=/path/to/somefile FILE
修改文件的属主和属组:
chown [选项] 用户 文件
chgrp [选项] 组 文件
选项:
-R: 递归修改权限;
--refernce=/path/to/somefile FILE
chown 用户:组 文件
chown 用户.组 文件
本文出自 “滴水穿石” 博客,请务必保留此出处http://luojianlong.blog.51cto.com/4412415/1362322
原文:http://luojianlong.blog.51cto.com/4412415/1362322