linux有个特点:
- [ ] $ 表示结尾
- [ ] ^ 表示开头
vim中,在末行模式,删除所有内容:
:%d
:1,$d
vim中进行缩进
1.先进入可视模式,选中需要缩进的内容
2.按>进行缩进
和账户相关文件
/etc/passwd、/etc/shadow
和组相关文件
/etc/group、/etc/gshadow
账户宿主(家)目录中文件来源
新建用户帐号时,从 /etc/skel 目录中复制而来
默认定义账户的属性文件
/etc/login.defs
/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
用户名:口令:用户标识号:组标识号:全名:主目录:登录Shell
用户账户:
- 超级用户root
- 程序用户
- 普通用户
UID (User Identity,用户标识号)
- 超级用户root的UID为0
- 程序用户的UID1-499
- 普通用户的UID大于等于500
文件位置:/etc/shadow
每一行对应一个用户的密码记录
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
fcq: $1$qhgBwkMM$4lOrfUC/PTdOJJ2bJUMci.:17237:0:99999:7:::
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
$6$开头的,表明是用SHA-512加密的,
$1$ 表明是用MD5加密的
$2$ 是用Blowfish加密的
$5$ 是用 SHA-256加密的
$6$ 是用 SHA-512加密的
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”密码的最短有效天数,默认值为0
5)“最大时间间隔”密码的最长有效天数,默认值为99999
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)在密码过期之后多少天禁用此用户
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
/etc/group文件
组帐号:
- [ ] 主要组(私有组)
- [ ] 次要组(附属组)
GID: (Group Identify,组标识号)
组名:口令:组标识号:组内用户列表
adm:x:4:root,adm,daemon
Linux组帐号
主要组(私有组)
与用户相关的默认组,在/etc/passwd文件的第四个字段定义
次要组(附属组)
用户可以同时属于其他的组,在/etc/group文件的第四个字段定义
新建用户帐号时,复制到用户宿主目录中
主要控制用户初始配置文件
.bash_profile:用户每次登录时执行
.bashrc:每次进入新的Bash环境时执行
.bash_logout:用户每次退出登录时执行
/etc/profile 所有用户每次登录时会执行
保存组帐号的密码信息
/etc/gshadow文件的应用极少,知道有这个文件即可
对账户初始的属性设置
设置普通用户的UID和GID范围等
格式:useradd [选项]... 用户名
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
[root@localhost cis]# useradd -g soft -G tech_now -d /cis/soft/a200 -s /bin/ksh a200
如果需要某个用户不能登录,可以设置他的登录shell为:
- [ ] /sbin/nologin 或者
- [ ] /bin/false
以某个用户的身份启动程序,那么这个用户必须是存在的,但是与这个用户能不能登录OS,是没有任何关系。
useradd命令在后台到底做了哪些工作
Useradd添加账户
/etc/passwd
/etc/shadow
/etc/group
/home
/etc/skel/*
nar/spool/mail
格式:passwd [选项]... 用户名
常用命令选项
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
--stdin:接收标准输入作为密码
root用户可以修改所有用户密码,不要求复杂性
普通用户只能改自己的密码,要求复杂性
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
[root@localhost ~]# userdel -r stu01
格式:usermod [选项]... 用户名
常用命令选项
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
格式:chage [选项]... 用户名
常用命令选项
-l:列出密码时效的具体信息
格式:groupadd [-g GID] 组帐号名
[root@localhost ~]# groupadd -g 1000 market
格式:groupdel 组帐号名
用途:设置组名和组id
格式:groupmod [选项]... 组帐号名
常用命令选项
-n:修改组名
-g:修改组id
用户必须是要改变组的成员
用途:查询用户身份标识
格式:id [用户名]
用途:查询用户帐号的详细信息
格式:finger [用户名]
用途:修改用户的备注信息,/etc/passwd第5字段
用途:查询已登录到主机的用户信息
用途:查询用户所属的组
明文
密文
6 SfcrkERBd6BidaIz$2HGmi10Ut/gjJcOWEkZKJjM5zg0DYS6PSLlquJkBP5rXoWvZB.QAWlUcKoJdpKE9HwtiKfkvceldSsYsIFWU/0
- [ ] 第1部分:算法对应的数字
- [ ] 第2部份:盐值,salt,随机生成,提高密码安全性的
通过openssl可以生成密文密码
[root@lvs1 /]# openssl passwd -1 123
$1$tbYF0WsE$YWb3SupGrLLFv41VBsiJP/
新建的用户是没有设置密码的,是被禁用的,不能登录
破解root用户密码:
1.光驱要放入系统光盘
2.重启OS
3.修改启动菜单,进入1运行级别
4.设置新密码
5.重启OS
linux的运行级别:
查看默认的运行级别
# cat /etc/inittab
id:3:initdefault:
Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) 关机
# 1 - Single user mode 单用户
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 多用户,无网络
# 3 - Full multiuser mode 完全多用户,文本界面(字符界面)
# 4 - unused 未使用
# 5 - X11 完全多用户,图形界面
# 6 - reboot (Do NOT set initdefault to this) 重启
切换级别:
命令:init
# init 5
查看当前运行的级别:
命令:runlevel
# runlevel
N 3
passwd -l和usermod -L 都可以锁定用户
原理是破坏密文密码
将用户加入组:
1.usermod -G
2.gpasswd -a
目录的内容是目录下的文件名或者目录文件名
有没有权限删除文件,或者修改文件名,移动文件,需要查看该文件所在的目录是否有写权限
访问权限
可读
可写
可执行
指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [–help] [–version] mode file…
说明 : Linux/Unix 的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
指令名称 : chown
使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥
有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以
改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
有这样的权限。
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息