本文共 3373 字,大约阅读时间需要 11 分钟。
第6章-账号和权限管理
一,管理用户和组账号
(1),用户和组账号概述
1,用户账号
[超级用户]:root用户是Linux系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于windows系统中的Administrator用户
[普通用户]:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定的限制,一般只在用户自己的宿主目录中拥有完整权限
[程序用户]:这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行。例如:bin、daemon、ftp、mail、mysql等
2,组账号
#每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组)
#如果该用户同时还包括在其他的组中,则这些组称为该用户的附加组(或公共组)
(2),用户账号管理
1,用户账号文件
#与用户账号相关的配置文件有两个,分另是/etc/passwd,/etc/shadow
#/etc/passwd:用于保存用户名称、宿主目录、登录shell等基本信息
#/etc/shadow:用于保存用户的密码、账号有效期等信息
[passwd文件中的配置行格式]
如:root : x : 0 : 0 : root : /root : /bin/bash
1 2 3 4 5 6 7
bin : x : 1 : 1 : bin : /bin : /sbin/nologin
1 2 3 4 5 6 7
第1字段:用户账号的名称,也是登录系统时使用的识别名称
第2字段:经过加密的用户密码字串,或者密码占位符“X”
第3字段:用户账号的UID号
第4字段:所属基本组账号的UID号
第5字段:用户全名,可填写与用户相关的说明信息
第6字段:宿主目录,即该用户登录后所在的默认工作目录
第7字段:登录shell等信息,用户完成登录后使用的shell
[shadow文件中的配置行格式]
如:root : $584DF21D8GS5415KWFKDJI4856 : 14374 : 0 : 99999 : 7 : : :
1 2 3 4 5 6 7 8 9
第1字段:用户账号名称
第2字段:使用MD5加密的字串信息。若该字段为空,则该用户无需密码即可登
第3字段:上次修改密码的时间,从1970年01月01日算起到最近一次修改密码时隔的天数。
第4字段:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码,默认值为0,表示不进行限制
第5字段:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修密码,默认值为99999,表示不进行限制
第6字段:提前多少天警告用户口令将过期,默认值为7天
第7字段:在密码过期后多少天内禁用此用户
第8字段:账号失效时间,此字段指定了用户作费的天数(从1970年01月01日起)
第9字段:保留字段,目前没有特定用途
2,添加、删除、修改用户账号
useradd:添加用户账号
格式:useradd [选项] 用户名
-u:指定用户的UID号,要求该UID号未被其他用户使用
-d:指定用户的宿主目录
-e:指定用户的账号失效时间,可使用YYYY-MM-DDR 日期格式
-g:指定用户的基本组名(或使用GID号)
-G:指定用户的附加组名(或使用GID号)
-M:不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录
-s:指定用户的登录shell
说明:
#在/etc/passwd文件和/etc/shadow文件中的末尾会增加用户账号的记录
#若未明确指定用户的宿主目录,则在“/home”目录下自动创建与该用户同名的宿主目录,并在该目录中建立用户的各种初始配置文件
#若未明确用户所属的组,则自动创建与该用户账号同名的“基本组账号”,组账号的记录信息将保存到“/etc/group、/etc/gshadow”文件中
passwd:为用户账号设置密码
格式:passwd 用户名
-d:清空指定用户的密码,仅使用用户名即可登录系统
-l:锁定用户账户
-s:查看用户账户的状态(是否被锁定)
-u:解锁用户账户
usermod:修改用户账号属性
-l:更改用户账号的登录名称(Login name)
-L:锁定用户账户
-v:解锁用户账户
-u、-d、-e、-g、-G、-M、-s:作用和useradd选项功能的是一样
说明:
#/etc/skel:是模板目录,如创建用户“u1”,则/etc/skel目录下的文件会自动复制到u1目录里。
userdel:删除用户账号
格式:userdel 用户名删除用户时,目录会保留
userdel -r 用户名删除用户时,把目录也删了
3,用户账号的初始配置文件
#初始配置文件来自于模板目录:/etc/skel/
#bash_logout:文件中的命令将在用户每次退出登录时执行
#bash_profile:文件中的命令将在该用户每次登录时执行
#bashrc:文件中的命令会在每次加载“/bin/bash”程序时执行
(3),组账号管理
1,组账号文件
#与组账号相关的配置文件也有两个:/etc/group、/etc/gshadow
#/etc/group:用于保存组账号名称、GID号、组成员等基本信息
#/etc/gshadow:用于保存组账号的加密密码字符串等信息
格式
grep “root” /etc/group检索哪些组包括root用户
2,添加、删除、修改组账号
groupadd:添加组账号
格式:groupadd 组名
gpasswd:添加、设置、删除组成员
添加:gpasswd -a 成员组员
删除:gpasswd -d 成员组员
指定组账号的成员:gpasswd -M 成员1,成员2,成员3 组名
groupdel:删除组账号
格式:groupdel 组名
(4),查询账号信息
groups:查询用户账号所属的组
id:查询用户账号的身份标识
finger:查询用户账号的登录属性
w:查询当前主机的用户登录情况
二,管理目录和文件的属性
#Linux系统中,文件(目录)赋予了两个属性:访问权限、文件所有者
#访问权限(权限):读取、写入、可执行
#文件所有者(属性):属主(拥有该文件的用户账号)、属组(拥有该文件的组号)
(1),查看目录和文件的属性
如:ls -ld /etc 查看/etc目录属性
drwxr-xr-x 100 root root 12288 05-12 04:03 /etc
访问权限属主属组大小日期时间目录
第1字符:表示文件的类型,d(目录)、b(块设备文件)、c(字符设备文件)
-(普通文件、l(链接文件)
第2-4字符:表示该文件的属主用户(user)对文件的访问权限
第5-7字符:表示该文件的属组(group)对该文件的访问权限
第8-10字符:表示其他任何用户(otehr)对该文件的访问权限
权限 | 文件 | 目录 |
r | 查看文件内容 | 查看目录内容(显示子目录、文件列表) |
w | 修改文件内容 | 修改目录内容(在目录中新建、移动、删除文件或目录) |
x | 执行该文件(程序或脚本) | 执行cd命令进入或退出该目录 |
权限项 | 读写执行 | 读写执行 | 读写执行 | ||||||
字符表示 | r | w | x | r | w | x | r | w | X |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 主 | 组 | 其他用户 |
(2),设置目录和文件的权限
chmod
格式二:chmod u=rwx,g=r,o-rwx 文件或目录
格式三:chmod 740 文件或目录
(3),设置目录和文件的归属
chown
格式一:chown 属主文件名或目录名
Chown :属组文件名或目录名
Chown 属主:属组文件名或目录名
格式二:chgrp 组名文件名或目录名
本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1193253,如需转载请自行联系原作者