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 用户.组 文件