马哥linux0801课程内容

0801课堂笔记

硬链接和软链接最根本的区别

硬链接是同一个文件,而软链接是两个文件

软链接查询到文件的软链接个数.比较麻烦.

而硬链接的个数可以通过链接数就可以看到.

硬链接不能跨分区,而软链接可以跨分区

(因为每个分区都有自己的inode表)

ln 创建硬链接

ln–s 创建软链接(软链接如果使用相对路径,对象是相对软链接的路径,而硬链接都可以)


证明硬链接的比较灵活,但是在工作生产环境中,软链接使用较多

 

重定向

标准输入 0 键盘

标准输出 1 当前的终端窗口

标准错误 2 当前的终端窗口

cmd> file

>覆盖

>>附加

Cmd2> file

错误的输出到文件file

Cmd&> file

正确错误的结果都重定向到file

Cmd>> file 2>&1

与上面结果相同

标准的输出重定向

 

Cmd< file

Cmd< file

 

Cat> string

这样操作的命令工作效率低,都是一行一行的处理数据

而我们可以这样操作可以多行处理数据

Cat> string <<string

 

 

String

(string需要成对开始和结束,中间的内容将会一次性进行处理,而且开头和结尾必须一样,任何字符都不能多,比如空格)

 

Cmd1| cmd2

管道只能处理正确的标准输入到cmd2

如果需要处理错误的信息需要加2>1&或 |&

 

管道的作用就是一次处理不了的命令可以通过管道进行多次处理

 

pipe管道

 

tee命令的用法,功能

 

同时处理俩种命令

例 ls | tee /testdir/ls.log

可同时输出到终端窗口,另外存储到ls.log下,这样处理的作用可以在后续做更多的处理

 

tr 命令的用法

-c 补集(取字符集的补集)

-d 删除所有数据第一字符集的字符

-s 把连续重复的字符以单独一个字符表示

-t 将第一个字符集对应字符转化成第二字符集对应的字符

(带t选项和不带t选项的区别在于,参数长度如果是一样就没有区别,如果不一样,不带t的会怎么懂补全最后一个字母到常去,而带t则不会,只会替换参数的本身的个数)


管道(pipe):多次处理,多次管道

 

处理数字相加

echo$[`echo "1 2 3 4 5 6 7 8 9 10" | tr ' ' '+'`]

 

 

用户,组和权限

 

安全3A

Authentication认证

确认身份:

账户密码登录

指纹认证

人脸认证等

安全认证更高的瞳孔认证

但是没有绝对的安全

 

Authorization授权

授予用户的权限

读取,修改,写入等权限

 

Accouting|Audition审计

根据日志审计哪些操作是合理的,哪些是不合理的

 

用户user

Linux用户: Username/UID

管理员:root,0

普通用户:1-65535

系统用户:1-499(centos6).1-999

对于守护进程获取资源进行权限分配

登录用户:500(centos6) +,1000+

交互式登录

登录用户必须登录系统之后才能才做,而系统用户则不需要进行交互式登录就可以对系统进行操作

 

组group

 

组也有编号 GID

 

组的作用 组就是一些用户或组的集合,来集中管理

组嵌套

其他的系统有的支持组嵌套,但是现在的linux不支持这种复杂的行为

 

Windows用户名和组名不能重名,但是linux不同,他的用户名和组名不但可以重名,UID和GID也可以一样.

 

Linux安全上下文

Securitycontext 安全上下文

运行中的程序:进程(process)

执行某个程序是以进程的发起者的身份运行

比如:/bin/cat的命令 执行一下命令

wang@centos6~cat /etc/issue

这条命令是由wang用户的权限来证明是否能打开issue这个文件,而不是cat本身这个命令的权限

(进程所能够访问的资源的权限取决于进程的运行者的身份)

 

创建一个用户,那个用户就必须要指定一个组中,那个组就称为基本组或主要组,默认为用户名这个组.基本组只能有一个,而且必须要有.

 

一个用户除了基本组,其他的组就称为辅助组

 

查看用户组命令

groups

id也可以查询

 

在linux中,系统判断你的身份和权限都是查看ID号的

 

Linux用户和组的主要配置文件:

/etc/passwd: 用户及其属性信息(名称,UID,主组ID等)

/etc/group: 组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow: 组密码及其相关属性

 

Passwd配置信息的顺序是

account:password:UID:GID:GECOS(注释信息):directory(家目录):shell

pwunconv密码不转换 (将/etc/shadow密码文件不要,用老模式还将密码存放与/etc/passwd)

pwconv密码转换 (与上相反)

 

getentpasswd USER 可以查看指定用户的passwd配置信息

 

chfn命令可以添加注释信息

fingerUSER 命令可以查询用户详细的描述信息

 

echo密码|passwd –stdin USER  设置明文密码给指定用户

 

chsh修改shell类型

例:chsh –s /bin/chs xinruihl

 

/sbin/nologin:系统账户使用的shell类型,用于服务使用

 

尽量不要手动去修改/etc/passwd

 

 

/etc/shadow主要存放用户的账户和密码

getentshadow USER 可以直接查询某个用户的shadow配置

 

/etc/shadow配置信息如下

Loginname:encrypted password(加密的口令):date of last password change(最后一次修改密码的时间):minimumpassword age(密码最短的期限):maximum password age(密码最长使用期限):passwordwarning period(密码过期警告期限):password inactivity period(密码不活动的期限):account expiration date(用户过期时间):reservedfield(保留字段)

 

linux的/etc/shadow配置文件中,密码的!!的意思是锁定,双重锁定.

Usermod–U USER 可以解除锁定,但是密码不能为空

 

Password的加密算法默认是sha512的加密

可指定加密算法

authconfig–-passalgo=算法(sha256) –update 

 

Sha512属于单向加密,就是密码通过加密之后,是不可逆的.


Opensslrand base64 20, 可以输出20位的随机字符

(可设置成密码)

 

Chage–d0 USER 可设置用户的最后一次修改密码的时间


第三个字段,最后一次修改密码

第四个字段,最短密码有效期

第五个字段,最长密码有效期

第六个字段,密码过期警告时间

第七个字段,过期之后到期锁定时间

 

/etc/group

配置信息只有四个,分别是

Group_name:password:GID:user_list(用户列表)

 

Genentgroup USER 同样可以查看指定用户的配置信息

 

Usermod–aG USER1 Group 将user1加入到组里面

 

Gpasswd设置组的密码

 

组密码的用处

 

newgrpgroup 临时切换当前用户到某个组

 

/etc/gshadow的配置信息

groupname:encrypted password:administrators(组管理员):members(组成员)

 

vipw= vi /etc/passwd 这个命令相当调用后面的命令

vigr= vi /etc/group

pwck(passwdcheck)  检测passwd文件格式命令

grpck(group password check) 检测gpasswd文件格式命令

 

用户管理命令

Useradd创建用户
useradd [OPTION] LOGIN

Useradd–D

Useradd–D [OPTION]

选项

-uuid [UID_MIN,UID_MAX]定义在/etc/login.defs(UID的配置信息)

-o 配合-u选项,不检查UID的唯一性(比如可以在企业中创建两个管理员账户,区分日志,方便检查)

-gGID:指明用户所属基本组,可为组名,也可以GID

-c“COMMENT”:用户的注释信息

-dHOME_DIR :以指定的路径(不存在)为家目录

-sSHELL :指明用户的默认shell程序

可用列表在/etc/shells文件中

-GGROUP1 [GROUP2,…]:为用户指明附加组,组必须事先存在

-N 不创建私用组做主组,使用users组做主组

-r:创建系统用户 Centos6:ID<500,Centos 7:ID<1000

Useradd–D 显示创建用户的属性

属性分别是

如果不指定主组,默认组ID:100

默认的home目录

创建用户之后,账户有效期

口令有效期

默认shell

家目录的默认配置文件

是否创建用户的邮箱

 

#创建系统的用户,家目录包括邮箱是不会自动生成的

 

 

Usermod修改用户

Userdel删除用户

 

组管理命令

Groupadd创建组

Groupmod修改组

Groupdel删除组

 

 

/etc/login.defs(重要)

 

批量创建用户

Newuserspasswd格式的文件 批量创建用户

 

Chpasswd批量修改用户口令

 

Su 命令的用法

 

SuUsername :非登陆式切换,即不会读取目标用户的配置文件,不改变当前工作目录

 

Su– Username :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

 

Rootsu 至其他用户无需密码;非root用户切换时需要密码

 

Su[-] Username –c ‘COMMAND’

选项 –l –-login:

Su–l Username 相当于 su – Username

 

非登陆式切换和登录式切换的好处就是如果工作在当前目录,就不需要完全切换再去切换到当前目录,可以方便省时间.

在工作环境中,一般都不会选择root账户登录

 

如果需要root账户的权限,不一定非要切换,可以使用这条名来实现需要使用的命令

Su[-] Username –c ‘COMMAND’

 

例 su – root –c ‘cat /etc/shadow’

 

总结学习到的命令

lscpu查询cpu信息

cat查看某个文件内容

who查询所有登录终端

whoam I 查询当前登录终端

chvt切换终端(只适用与本机)

poweroff关机断电

halt关机不断电

hostname主机名

nano文本编辑器

init3,5 虚拟终端与图形化终端

startx打开图形化软件

tty查询登录终端号

ifconfig查询ip

uname查询内核版本

free查看内存

df 查询分区

lsb_release系统版本信息

echo输出

gedit图形化编辑工具

useradd创建用户

usermod修改用户

userdel删除用户

groupadd创建组

groupmod修改组

grouddel删除组

groupmems

groups查询组

id 查询UID

chpasswd批量修改密码

newusers批量添加用户

chsh切换shell

chfn添加用户注释信息

passwd修改密码

strace跟踪系统调用

pwck检测passwd配置描述信息

grpck检测gpasswd配置描述信息

vipw编辑passwd配置文件

vigr编辑grpasswd配置文件

tr 转换字符或数字

tee例:ls –a |tee > ls.log,可以同时实现两种结果

gententpasswd,shadow,group,gshadow 查询配置文件信息

authconfig–-passalgo=sha256 –update 修改密码加密算法

finger查询用户描述信息

opensslrand hase64 位数 生成随机位数的字符串

su 切换用户

newgrp临时切换主组

pwunconv不转换密码到文件shadow

pwconv转换

原创文章,作者:Kartik,如若转载,请注明出处:http://www.178linux.com/28216