文件/目录的权限和归属
Linux基于用户身份对资源访问进行控制
用户账号
超级用户(root):唯一的,拥有最高权限
普通用户:由管理员或root用户创建的用户,一些高危命令和其他命令会受限制,只有在自己的家目录中才能拥有最高权限。
程序用户:安装Linux系统和部分程时,会添加一些特定的低权限用户账号,不允许登录,一般为程序专用用户,一般用于跑程序,主要是为了程序或系统的正常运行。
账号组
基本组(私有组):一个用户只有一个,创建用户时就会自动产生的组。创建用户时必须要有一个基本组存在。
在/etc/passwd文件中第4字段记录的即为该用户的基本组 GID 号
附加组(共有组):额外添加上的组。除了基本组外都可以认为是附加组。
UID和GID
UID(User IDentity,用户标识号)
每个用户唯一的,不可重复(可与GID重复,不相干)
GID(Group IDentify,组标识号)
每个组唯一的,不可重复(可与UID重复,不相干)
root 用户账号的 UID和GID号固定值为 0
普通用户账号的UID和GID号 默认为Centos5,6:500~60000 , Centos7:1000~60000
程序用户账号的UID和GID 号默认为Centos5,6:1~499 , Centos7:1~999
用户帐号文件/etc/passwd
保存用户名称、宿主目录、登录Shell等基本用户
文件位置:/etc/passwd
每一行对应一个用户的账号记录
wc -l /etc/passwd ##查看共有多少行,即为有多少个用户
vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
字段1:用户账号的名称
字段2:用户登录占位符“x"
字段3:用户账号的UID号
字段4:所属基本组账号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息(/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)
用户密码文件/etc/shadow
保存用户的密码、账号有效期等信息
vim /etc/shadow
root:$6$XWR77lK1U96ipaJD$QEktIly7bQRX95aRMPloP5FqFrosxX8xJvEigYJBl9IBcjUFH3JCh54ELKy9TuWh1m9f3Vx9VibDGaJXwhrwp0::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
字段1:用户账号的名称
字段2:使用MD5加密的密码字串信息,当为“*”或“!!”时表示用户不能登录到系统。若该字段内容为空,则该用户无需密码即可登录系统
字段3:上次修改密码时间,表示从1970年01月01日算起到最近一次修改密码时间间隔的天数
字段4:密码的最短有效天数,表示本次修改密码后,必须经过多少天才能修改密码。默认值为0,表示不限制。
字段5:密码的最长有效天数,本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制。
字段6:提前多少天警告用户密码即将过期,默认值为7天
字段7:在密码过期之后多少天禁用此用户
字段8:账号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用
字段9:保留字段(未使用)
添加用户账号useradd或者adduser
useradd命令
useradd [选项]。。。用户名
在/etc/passwd和/etc/shadow 文件末尾增加该用户账号的记录。
若未指明宿主目录,则在/home目录下自动创建一个目录
-u:指定用户的UID号,要求该UID号未被其他用户使用,若不指定则在上一个用户的UID号上自增1
-d:指定用户的宿主目录位置(当与-M一起使用时不生效)。只能用绝对路径指定目录,且不需要事先创建。(不能指定已存在目录)
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g:指定用户的基本组名(或使用GID号),对应的组名必须存在
-G:指定用户的附加组名(或使用GID号),对应组名必须存在
-M:不建立宿主目录
-s:指定用户的登录Shell,(比如/bin/bash为可登录,/sbin/nologin和/bin/false为禁止登录。)



设置/更改用户口令passwd(密码)
passwd命令
root用户可以指定用户名作为参数,对指定用户进行修改密码。
普通用户只能更改自己的密码
passwd [选项]... 用户名
-d:清空指定用户密码
-l:锁定用户账户,锁定的用户无法登录
-S:查看用户是否被锁定
-u:解锁用户账户(-f 空用户强制操作)

修改用户账号的属性usermod
usermod命令
usermod [选项]... 用户名
##常用
-l:修改账号名称
-L:锁定用户
-U:解锁用户
-u、-d、-e、-g、-G、-s
与useradd命令中的含义相同
删除用用户userdel
userdel [-r] 用户名
-r:会连同对应的宿主目录一并删除。
用户账号的初始配置文件
文件来源
useradd命令添加一个现代用户账号后会自动在该用户的宿主目录中撞见一些初始配置文件。
这些文件来自于账号 ,这些文件基本都是隐藏文件。
.bashrc
/etc/bashrc 对所有用户生效
PATH变量中用于设置可执行程序的默认搜索路径
PATH的生效原理:
组账号文件
与用户账号文件相类似
/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息
字段1:组长号的名称
字段2:占位符”x“
字段3:组账号的GID号
字段4:组账号的用户成员
增加组groupadd命令
groupadd [-g GID] 组账号名 ##添加组账号指定GID号
groupaddd 组账号名 ##添加组账号,不指定GID
添加删除组成员gpasswd
gpasswd命令
设置组账号密码(极少用)、添加/删除组成员
gpasswd [选项] ... 组账号名
-a:添加一个成员到组内
-d:从组内删除一个成员
-M:定义组成员列表,以逗号隔开(直接覆盖原组内成员)
删除组账号groupdel
查询账号信息
groups [组名]
id [用户名]
finger [用户名]:默认无此命令,需要rpm安装
w、who、users:查询当前正在登录系统的用户信息
w:可查看cup负载情况
文件/目录的权限和归属
访问权限
读取 r:允许查看文件内容,显示目录列表
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行 x:允许允许程序、切换目录
s权限可使用户获得一定的管理员权限
归属(所有权)
属主(用户):拥有该文件或目录的用户账号(ls-l 第三字段)
属组(组用户):拥有该文件或目录的组账号(ls -l第四字段)
查看文件/目录的权限 ls-l
权限项
字符表示
数字表示(八进制)读 4 写 2 执行 1
权限分配
设置文件和目录的权限chmod
chmod命令
chmod [ugoa] [+-=] [rwxx] 文件或目录
u、g、o、a 分别表示属主(u)、属组(g)、其他用户(o)、所有用户(a)
+ 、- 、=分别表示增加、去除、设置权限
r、w、x分别表示读、写、运行权限
chmod nnn 文件或目录
nnn代表三位八进制数(读、写、执行)
chmod 777 目录/ -R(运行到底)
-R:递归修改指定目录下所有子项的权限
设置文件和目录的归属chown
chown命令
-R:递归修改指定目录下所有子项的权限chown 属主 文件或目录
chown :属组 文件或目录
chown 属组:属组 文件或目录
chown 用户名.组名 同样可同时更改
-R:递归修改指定目录下所有子项的权限
chgrp 组名 文件名 可直接更改文件的组名
设置目录和文件的默认权限umask
umask作用
控制新建的文件或目录的权限
Linux普通文件的最大默认权限为 6(rw)
目录的最大默认权限为7(rwx)
umask默认值为022
普通文件 666
所以一般文件的权限为644,文件一般不可执行所以执行位一般为0
普通目录 777
umask默认 022
一般目录的默认权限为755
umask nnn(权限数)
目录:最大权限777 减去 umask 后三位 得出 当前创建,目录的默认权限
文件:由于文件默认权限为偶数,666减去umask后是奇数,则需加上1变成偶数。由此得出当前创建文件的默认权限。
目录下所有子项的权限
chgrp 组名 文件名 可直接更改文件的组名
设置目录和文件的默认权限umask
umask作用
控制新建的文件或目录的权限
Linux普通文件的最大默认权限为 6(rw)
目录的最大默认权限为7(rwx)
umask默认值为022
普通文件 666 - 022
所以一般文件的权限为644,文件一般不可执行所以执行位一般为0
普通目录 777
umask默认 022
一般目录的默认权限为 755
umask nnn(权限数)
目录:最大权限777 减去 umask 后三位 得出 当前创建,目录的默认权限
文件:由于文件默认权限为偶数,666减去umask后是奇数,则需加上1变成偶数。由此得出当前创建文件的默认权限。