本文共 6210 字,大约阅读时间需要 20 分钟。
一、用户
Linux系统上用户分类为两类:分为管理员用户和普通用户;普通用户又分为两类:系统用户和普通用户。在1.root和普通用户:系统用户:仅用于运行服务程序,登录用户:系统资源的正常使用者。
用户标识:,16位二进制数,转为十进制为:UID:Centos5,Centos7:1-999
普通用户:
6:65535)
1000+(至ID为1000,通常是拥有管理员权限但不以管理员身份登录的账号;可以管理员身份执行操作后,再退出管理员身份,以保证系统安全。用户在系统上就有两种表示一种是用户名,一种是用户ID一一对应存起来,以便查询。
解析库:Linux系统上把用户名与用户ID是多少,也能把用户的username <--> uid。
解析库就存放在ID还存放了其它属性信息。
Linux用户组分两类:分为管理员组和普通组,普通组又分为两类:分为系统组和登录组。在系统,会把每个用户组用数字来标识,不同系统上数字标识可能不同。
根据用户划分组类别为
管理员组:
普通用户组:
系统用户组
登录用户组:添加登录功能用户的组
组标识:管理员组:0
系统组:
1-499
1-999
登录组:
6:65535)
1000+(至3.4./etc/group
组与组groupname <--> gid,其解析库为二、权限模型
owner
属组:other
这就表示文件也定义了哪些用户有哪些权限,这就与进程树的角度相对应了,用户定义了有哪些权限,文件定义了哪些用户有哪些权限这样一对应,进程以某用户身份运行从而就以某用户的权限来访问文件,而每个文件又定义了哪个用户有哪些访问权限;所以进程能不能访问文件就取决于它所代表的用户。则权限模型的生效机制如下所示:
权限模型是生效机制:
进程的运行者:即用户
是否与文件的属主相同,如果是,则以文件属主身份来访问此文件;否则,判断属组;
是否属于文件的属组,如果是,则以文件属组的身份来访问此文件;否则,判断其它;
则以文件的其它用户的身份来访问此文件。
11)单向加密特点
b.定长输出;无论数据多大,加密后都是定长的。
2)单向加密的应用原理
对数据加密后会得出数据特征码,要想读取文件,就用同样的加密算法计算3)单向加密算法
message digest,定长输出centos5)
secure hash algorithm,定长输出3.sha224,定长输出4.sha256,定长输出5.sha384,定长输出6.sha512,定长输出centos6,f4de6ffdc3ea56226419ffc252cc0b83 mageedu.txt
这就是通过2salt,添加salt有两种方式产生随机数:熵池和伪随机数。
熵池:是计算机记录敲击键盘的时间间隔产生的,或是通过硬盘的两次中断时间间隔产生的,(有可能会耗尽)。
伪随机数:是软件模拟产生的随机数,这种产生的随机数是有规律可循的。
在/dev/random和伪随机数/dev/random:仅从熵池返回随机数,随机数耗尽时会阻塞进程。
lsj:$6$ikOMkVDW$HuSusr/MfG3Bcn6OLbwLLS53DksXI2GZj4.rVkXd.mMoCYghz6lO9w1AN9V9jne6uQ.jv.4E4M5l28f6Yy4qv0:16866:0:99999:7:::
密码部分解释:
$符号中的的数字代表$ikOMkVDW$:salt随机数。
三、管理用户的命令
(一)命令:添加用户
语法格式
useradd [选项] 登录名
useradd -D/etc/default/useradduseradd -D 选项/etc/default/useradd2.-c,--comment COMMENT:设定用户的注释信息,一般为用户的-d,skel相关文件给用户,默认-g,GID。
--groups GROUP1[GROUP2,-m,-M:不创建用户家目录,即使系统在 (CREATE_HOME) 为-r, --system:创建系统用户。
--shel SHELL:设定用户的默认shell的路径,要位于 shell 名,默认为留空,让系统根据SHELL变量选择默认的登录-u, --uid UID:设定用户的 ID 的数字值。此值必须为唯一的,除非使用了 UID_MIN,且大于任何其他用户-o,UID创建用户账号。
]# useradd -c TestUSER -d /home/testuser -g 5001 -G 5000 -u 1010 -s /bin/csh testuser1
TestUSER,家目录为用户的基本组GID为用户的UID为用户的默认登录shell为testuser1。
查看结果为:注意:创建登录用户时,为其自定义的程序必须为可登录,且要位于文件中,但中和是不能用的,3.-e, --expiredate EXPIRE_DATE:设定禁用日期,用户账号的过期期限,过期后会被锁定;格式为-f, --inactive INACTIVE:设置非活动期,密码过期后,账户被彻底禁用之前的天数。-1 表示禁用这个功能;(详细内容见下:密码文件4.:/etc/passwd
name:password:UID:GID:GECOS:directory:shell
字段解释:
name:用户名。
password:用户密码占位符。
UID:用户4、ID。
GECOS:用户注释(可选)。
directory:用户家目录路径。
shell:用户默认登录/etc/passwd格式字段说明;
]# tail -1 /etc/passwd
查看结果为:说明:csh,用户名为用户密码占位符x,UID为用户的5001,注释为用户路径为为用户提供默认配置及相关属性限定的配置文件:
创建用户时的默认配置文件:/etc/login.defs
定义了uid、最大用户uid、最大系统用户gid、最大组gid、最大系统组shell、目录骨架等内容。
创建用户时家目录的环境配置文件:就是创建用户后,系统会自动创建用户家目录且会在里面自动创建几个固定文件即骨架目录(/etc/skel里复制到家目录的。
(二)命令:修改用户
语法格式
usermod [选项] 登录名
选项
-d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-e, --expiredate EXPIRE_DATE:修改禁用日期;格式为-f, --inactive INACTIVE:修改非活动期。
GID。
-a选项,表示为用户追加添加新的附加组。
-G 选项一起使用。
-s, --shell SHELL:修改用户登录的-u, --uid UID:修改用户-o选项,必须是非负值。
--non-unique:用户-L, --lock:锁定用户密码,这会在用户加密的密码之前放置一个“-U, --unlock:解锁用户的密码;这将移除加密的密码之前的“(三)命令:删除用户
语法格式
userdel [选项] 登录名
选项
/var/spool/mail/目录下;
]# ls /var/spool/mail/:默认创建用户都会自动为用户创建邮箱。
]# ls /var/spool/mail/:删除用户后,默认邮箱不删除。
t:删除用户后同时删除邮箱;(慎用)。
注意:在生产环境中,要自建回收站!禁用(四)命令
给用户设置密码;存放在1.passwd [-l] [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]
选项
-u:解锁密码;
-d:清除密码;
-n:修改密码最短使用期限;
-w:修改密码过期后警告期限;
--stdin:从标准输入设置密码;
常用方法:
(passwd:修改自己的密码;
(passwd USERNAME:修改指定用户密码;
密码复杂度
(8个字符。
(3)应该私有四类字符中的至少三类。
]# passwd:管理员可直接修改密码无需旧密码,且不受密码复杂度的限制。
--stdin:从标准输入接收密码。
(五)命令
查看用户相关UID、基本组1.id [OPTION]... [USER]
选项
UID。
GID。
ID。
ID。
suswitch user
语法格式
1)不读取目标用户的配置文件(非登录式切换,半切换);
2)读取并执行用户的配置文件(登录式切换,完全切换);
su - USERNAME
选项
root管理员切换至任何其它用户无需认证密码;普通用户切换至其他用户,都需要密码;
]# su magedu:当前路径目录不会改变。
/root
]# su - magedu -c 'echo $HOME'
显示结果为:magedu用户执行命令;而不切换用户。
/root
3./etc/shadow
密码文件9个字段,用冒号分隔
登录名:加密了的密码:最近一次更改密码的日期:密码的最短使用期限:密码最长使用期限:非活动期:保留字段
字段解释:
2、加密的密码:密码格式为:
$salt$加密的密码字符串
3、最近一次更改密码的日期:表示从1月0表示用户应该在下次登录系统时更改密码,空字段表示密码年龄功能被禁用。
0表示随时可修改密码。
99999天无限制,如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。
7、非活动期:密码过期后账号禁用之前,就是宽限期;登录后必须先改密码;空为没限定;禁用日期。
密码期限设定说明,如图:
(一)命令:添加组
语法格式
] group
选项
GID;
500+
1000+
Centos5,1-499
1-999
]# groupadd -g 5000 testgrp
testgrp:x:5000:testuser1
testgrp1:x:5001:3./etc/group
组文件GRGNAME:x:GID:user1,...
字段解释:
GRGNAME:组名。
x:组密码占位符。
GID:组4、user2,(二)命令:修改组;
语法格式
] GROUP
选项
GID;
(三)命令:删除组
语法格式
] GROUP
]# groupdel testgrp
gpasswd1.gpasswd [选项2.-a, --add USERNAME:向组中添加用户。
3./etc/gshadow
:加密了的组密码:成员
字段解释:
2、加密了的组密码:密码格式为:
$salt$加密的密码字符串
为空时只有组成员可以获取组权限;以叹号开始意味着密码被锁定;
4、成员:必须是一个逗号分隔的用户名列表,成员无需组密码;
以上就是用户和组管理的相关内容,下面介绍用户权限管理。
对此内容还要提到安全上下文的概念:(此处排除例外场景,即特殊权限:suid,sticky的情况)
进程的发起者:
判断进程的发起者是否与文件属主相同,如果是,则以属主的身份来访问,从而应用属主权限,否则如下;
判断进程的发起者是否属于文件的属组,如果是,则应用属组权限;否则如下;
应用”权限;
使用如下命令,可查看,进程的运行者等相关信息。
root 4111 0.0 0.0 108144 684 pts/0 S+ 04:51 0:00 tail
上例tail进程的发起者。
Linux系统中文件系统的文件权限为三类有用户(属主、属组、其它)分别配了三种权限:w(可写)、(一)三类用户
属主:u
属组:g
其它:o
rwx
readablele,可读
writabel,可写
excutable, rwx字符表达方式外,这种表达方式也符合二进制、八进制的表示方法,如下:
这三种权限对于文件和目录的意义是不同的。
对于文件而言,三种权限说明
w:可修改文件的数据。
2.r:可使用ls -l获取详细信息,也不可以w:可修改此目录的文件列表,即可子啊此目录下创建或删除文件。
ls -l命令获取其下的详细属性信息,也可Linux文件权限模型中定义了这三类用户的三类权限ls -l命令drwxr-xr-x. 2 root root 84 3月drwxr-xr-x依次位置详细说明:
rwxr-xr-x这rwx
属组:r-x
注意:]# ll `which cat`
结果为:
10 2014 /usr/bin/cat
以此结果分析说明:
对于文件root,权限为:root,“其它r-x(即读、执行)
所以据此文件的权限分配再结合安全上下文的概念,就可以确定其用户对所访问的文件有哪些权限了。
清楚了用户和文件权限,就可继续介绍权限的管理了。
ownership:仅管理员有权限修改
改文件的属主:使用chgrp命令
修改文件的权限:
permission):改文件的权限,仅属主能改,对管理员可不受限制;
使用(一)命令
仅管理员有权限,即能改文件的属主又能改属组,也可同时改。
语法格式
chown [OPTION]... --reference=RFILE FILE...
选项
:表示参考权限模型;
常用选项:
(二)命令
语法格式
chgrp [OPTION]... --reference=RFILE FILE...
使用chgrp命令。
chmodchange file mode bits。
语法格式
chmod [OPTION]... OCTAL-MODE FILE...
2.-R, --recursive:递归修改;慎重使用。
在权限模型中用户的表示符:,,,3.MODE1)chmod [OPTION]... MODE[,MODE]... FILE...
MODE:有2种表示法
方法一:赋权表示法
直接操作一类用户的所有权限位u=,o=
:更改文件权限,赋权表示法。
rwx;
两类用户权限收授机制相同:ug+,ug-
不同类的用户权限收授机制:g+,]# chmod u+x /tmp/test/fstab()八进制权限赋权方式
]# chmod 700 /tmp/test/fstabugo700]# chmod 77 /tmp/test/fstab:默认为4.chmod [OPTION]... --reference=RFILE FILE...
RFILE表示参考权限模型。
umask的作用。
umask1.umaskumask决定的。
文件权限:
777-umask
注意:之所以文件用u,o有执行权限时,则需要加2.]# umask
设定遮罩码
<span lang=\"\\"en-us\\"\" style=\"\\"background-color:inherit;font-family:Arial,\" xml:lang=\"\\"en-us\\"\">]# umask MASK