对于Linux来说,每个文件或目录都有三种权限,分别为r(读权限)、w(写权限)和x(执行权限)这三种权限对于目录和文件稍有不同。
对于文件:
r:可读
w:可写,可以编辑或者删除文件
x:可执行,可以在命令提示符下当作命令提交给内核运行
对于目录:
r:可以对此目录执行ls命令列出内部所有文件
w:可以在此目录创建文件
x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件详细信息
对于每个文件或目录,权限按照归属可以分为属主、属组和其他用户。下面列出了每个用户可能的权限:
八进制 二进制 权限
0 000 ---
2 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
可记为 r=4 w=2 x=1
每个用户都有自己的ID号,称作UID
用户类别可以根据UID分为管理员(UID=0)、系统用户(UID=1--499)和一般用户(UID=500---60000),其中,系统用户和一般用户又称为普通用户。系统用户一般是用来运行后台进程的用户,是不允许登陆系统的。
每个组都有自己的ID号,称作GID.
组类别可以分为管理员组和普通组(系统组和一般组),也可以按照用户组类别进行分类:
私有组:创建用户时如果没有指定属组,系统会自动为其创建一个与用户名同名的组
基本组:用户的默认组
附加组(额外组):默认组以外的其他组
用户相关的配置文件是/etc/passwd文件
使用命令 "man 5 passwd"可以产看该文件的配置信息:
account:x:UID:GID:GECOS:homedir:shell
account:用户名
x:占位符,实际上表示的是密码,但是密码保存在/etc/shadow文件下
UID:用户UID
GID:用户基本组的GID
GECOS:用户的注释信息
homedir:用户家目录
shell:用户默认shell
用户密码相关的文件/etc/shadow
该文件每个字段的意思是:
登陆名
加密后的密码
从1970年到最后一次修改密码经历的时间
密码最少使用期限 ,0表示不做限定
密码最长使用期限
密码过期前多少天警告
密码过期之后禁用之前的天数
从1970年开始,密码禁用期限
保留字段
其中,!!表示给用户处于锁定状态,不允许登陆系统
加密方法的简单简绍:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥,一个为公钥
单向加密:散列加密,只能加密,不能解密,用于校验数据完整性
特点:
1.雪崩效应
2.定长输出
加密方式:
1.MD5:128位定长输出
2.SHA1:160位定长输出
与组相关的配置文件是/etc/group
group_name:passwd:GID:user_list
group_name:组名
passwd:密码
GID:组GID
user_list:用户列表
/****************************************************************以下是用户操作************************************************************************/
1.添加用户:
useradd [OPTIONS] USERNAME
-u:指定UID,不允许重复,大于500
-g:指定已存在的基本组
-G:指定已存在的附加组,可以有多个
-c “comment”:添加注释信息
-d:指定家目录
-s SHELL:指定shell,最好是出现在/etc/shells下系统可用安全shell
-m [-k]:强制创建家目录
-M:不创建家目录
-r:添加系统用户 UID=1-499
配置文件/etc/default/useradd
/etc/login.defs
2.删除用户
userdel [OPTIONS] USERNAMEERNAME
-r:删除用户的同时删除家目录
3.查看用户属性信息:
id [OPTIONS] USERNAME]
-n:显示名称
-u:显示UID
-g:显示GID
-G:显示所有GID
finger [USERNAME]
4.修改用户信息
usermod [OPTIONS] USERNAME
-u UID:改UID
-g GID:改基本组
[-a] -G GID:改附加组,会覆盖当前附加组,使用-a则位追加
-c:指定注释信息
-d [-m]:更改家目录,使用-m会将以前的家目录里的文件移动至当前新家目录
-s:更改shell
-l:更改用户名
-L:锁定用户
-U:解锁用户
chsh USERNAME:更改用户shell
chfn USERNAME:修改用户注释信息
5.添加(修改密码)
passwd [USERNAME]
--stdin:从标准输入读入密码
-l:锁定用户
-u:解锁用户
-d:删除用户密码
passwd还可以设置用户账号各种期限
pwck:检查用户账号完整性
6.添加组
groupadd [OPTIONS] GROUPNAME
-g:指定GID
-r:添加系统组
7.修改组
groupmod GROUPNAME
-g:更改GID
-n:更改组名
8.删除组
groupdel GROUPNAME
10.给组添加密码
gpasswd [GROUPNAME]
11.临时切换组
newgroup GROUPNAME,可以使用exit退出登陆
12.更改密码相关日期
chage ,具体参看man手册