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