linux作为一个多用户、多任务的服务器操作系统,提供了严格的权限管理机制,主要从用户身份、文件权限两方面对资源访问进行限制。
一、用户账号
1.账号类型
超级用户:root用户是linux系统中默认的超级用户账号,对本主机拥有至高无上的权限,与windows中的administrator用户
注:只有需要进行系统管理、维护时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。
普通用户:需要由root用户或其他管理员用户创建。
注:拥有的权限受到一定限制,一般只有在用户自己的宿主目录中拥有完整权限。
程序用户:在安装linux系统及部分应用程序时,会添加一些特定的低权限用户账号。
注:这些用户一般不允许登录系统,只是用于维持系统或某个程序的正常运行。
2.用户账号文件
(1)、/etc/passwd
用于保存用户名称、宿主目录、登录shell等基本信息。
#head -2 /etc/passwd
root:X:0:0:root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
第一字段:用户账号的名称
第二字段:经过加密的用户密码字串
第三字段:用户账号的UID(用户标识)号
第四字段:所属基本组账号的GID号
第五字段:用户全名可填写与用户相关的说明信息
第六字段:宿主目录
第七字段:登录shell信息
(2)、/etc/shadow
用于保存用户的密码,账号有效期等信息。
#head-2 /etc/shadow
root:$1$55HB4pbx$acHqk4lZiHTZ9cw0ZJe8f0:14374:0:99999:7:::
bin:*:14374:0:99999:7:::
第一字段:用户账号名称
第二字段:使用MD5加密的密码字段信息。(当为“*”或“!!”时表示此用户不能登录到系统)。若该字段内容为空,则该用户无需密码即可登录系统。
第三字段:上次修改密码的时间
第四字段:密码的最短有效天数
第五字段:密码的最长有效天数
第六字段:提前多少天警告用户口令将过期,默认7
第七字段:在密码过期之后多少天禁用此用户
第八字段:账号失效时间,此字段指定了用户作废天数,默认为空。
第九字段:保留字段,目前没有特定用途
二、组账号
基于某种特定联系将多个用户集中在一起,即构成一个组。
1.组账号类型
(1)、基本组(UID)
UID是用户账号数字形式的身份标记。
每一个用户账号至少属于一个组,这个组就是基本组。
对于系统核心来说,UID作为区分用户的基本依据,原则上每个用户的UID号应该是唯一的。root用户账号UID固定值为0,而程序用户账号UID默认1~499,500~60000 默认分配给普通用户使用。
(2)、附加组(GID)
如果该用户同时还包括在其他的组中,那么其他的这些组被称为附加组。
GID是组账号数字形式的身份标记。
root组账号的GID号固定值0,而程序组账号的GID默认1~499,500~60000默认分配给普通用户使用。
2.组账号文件
(1)、/etc/group
用于保存组账号名称、GID号、组成员等基本信息。
(2)、/etc/gshadow
用于保存组账号的加密密码字串等信息。
三、管理用户和组账号
(一)、用户账号
1.添加用户账号
#useradd 选项用户名
选项:
-u:指定用户的UID号
-d:指定用户的宿主目录位置
-e:指定用户的账户失效时间,格式:YYYY-MM-DD
-g:指定用户的基本组名(或使用GID号)
-G:指定用户的附加组名(或使用GID号)
-M:不建立宿主目录
-s:指定用户的登录shell
2.为用户账号设置密码
#passwd 选项用户名
选项:
-d:清空指定用户的密码,仅使用用户名即可登录系统
-l:锁定用户账户
-u:解锁用户账户
-S:查看用户账户的状态(是否被锁定)
附注:更改用户名密码
使用该用户名登录,
#passwd
输入旧密码进行验证
3. 修改用户账号属性
注:添加用户的选项该命令同样可执行一定效果。
#usermod 选项参数
多余选项:
-l:更改用户账号的登录名称
-L:锁定用户账户
-U:解锁用户账户
4.***用户账号
#userdel �Cr 用户名
(二)、组账号管理
1.添加组账号
#groupadd 组名
2.***组账号
#groupdel 组名
3.添加组成员
#gpasswd �Ca 用户名组名
附注:
同时添加多名组成员
#gpasswd �CM 用户名组名
4.***组成员
#gpasswd �Cd 用户名组名
(三)、查询账号信息
1.查询指定用户所属的组
#groups 用户名
2.查询指定用户账号的UID、GID等标识信息
#id 用户名
3.查新指定用户登录属性等详细信息。包括登录名称、完整名称、宿主目录、登录shell等。
#finger 用户名
4.查询当前主机情况
#w
四、管理目录和文件属性
1.查看目录和文件属性
#ls �Cld /etc/passwd
- rw�C r-- r-- 1 root root 2035 05-12 02:19 /etc/passwd
含义解释:
第一个字符:表示文件类型
文件类型:
d(目录)、b(块设备文件)、c(字符设备文件)、“-”(普通文件)、字母“l”(链接文件)
第2~4个字符:表示该文件的属主用户对该文件的访问权限
第5~7个字符:表示该文件的属组内各成员用户对该文件的访问权限
第8~10个字符:表示其他任何用户对该文件的访问权限
权限字符在文件和目录的含义
权限 |
注解 |
数字形式 |
文件 |
目录 |
r |
可读 |
4 |
查看文件内容 |
查看目录内容(显示子目录、文件列表) |
w |
可写 |
2 |
修改文件内容 |
修改目录内容(在目录中新建、移动、***文件或子目录) |
x |
可执行 |
1 |
执行该文件(程序或脚本) |
执行cd命令进入或退出该目录 |
2.设置目录和文件的权限
第一种方法:
#chmod 【ugoa】【+-=】【rwx】文件或目录…
注解:
u:代表文件属主
g:代表文件属组内的用户
o:代表其他任何用户
a:代表所有用户
+:代表增加相应权限
-:代表减去相应权限
=:代表进设置对应权限
第二种方法:
#chmod nnn(相应权限的数字形式)文件或目录…
“相关数字含义请查询上面所写的权限字符在文件和目录的含义”
附注:
在实际的目录权限管理工作中,有事会需要将某一个目录中的所有子目录以及文件的权限都设置为相同的值。
#chmod �CR 权限目录
3.设置目录和文件的归属
目录和文件归属的不同,用户的权限相应也就不同。
#chown: [属组] ] 文件或目录…
递归属主或属组:
#chmod �CR 属组或属主目录
同时设置属组和属主时
#chown 属主:属组目录权限