用户账号和组账号概述
liun基于用户身份对资源访问进行控制
sudo表示提权
用户账号分为:
Linux用户三种角色
超级用户:root 用户是Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于 Windows操作系统中的Administrator 用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。(考虑到安全性方面) root 拥有对系统的最高的管理权限ID=0
普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限系统用户UID:1-999(centos7 版本) 1-499(centos6版本) UID:即每个用户的身份标识,类似于每个人的身份证号码,
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等
伪用户 般不会用来登录系统的,它主要是用于维持某个服务的正常运行,如:ftp,apache
UID:即每个用户的身份来标识 类似于每个人的身份号码
组账号 :多个用户集合
基本组 (私有组) 附加组(公共组)
管理员组:root,0
GID:普通组 分 :1000+
系统组 1~999
表示该账户需要密码才能登陆,为空时账户无需密码即可登录、
组账号
基本组,基于某种特定联系 (如都要访问ftp服务)将多个用户集合在一起,即构成一个用户组表示该组内所有的账号称为账号组 每个账号至少属于一个组,这个组称为该用户的基本组(或者私有组)
附加组: 若该用户还包含在其他组中,则这些组称为该用户的附加组(或公共组)
/etc/passwd:
保存用户名称,宿主目录,登录shell等基本信息
root:x:0:0:root:/root:/bin/bsah
root:用户账号
x:表示设有密码。但不是真正的密码。真正的密码保存在/etc/shadow (影子文件)只有root用户可以查看
第一个0表示UID号,用户id
第二个0表示组的GID号 组id
root:描述性信息,解释这个用户的意义
/root :宿主目录,该用户登陆后所在的默认工作目录
/bin/bash:shell 等信息用户登录后使用的
/sbin /nologin :不允许登录 拒绝登录
/etc/shadow (影子文件)
/etc/shadow 文件只有 root 用户拥有读权限,其他月用户没有任何权限,这样就保证了用户密码的安全性
和/etc/passwd 文件一样,文件中每行代表一个用户,同样使用":"作为分隔符,不同之处在于,每行用户信息被划分为 9个字段
第一列:账户名
第二列:存放真正加密的密码,采用SHA512散列算法, 更加安全 加密原来用MD5或DES
!!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了
第三列:上一次修改密码的时间,从1970年1月1日开始始算的,因为1970年是linux的诞生日,date-d"1970-01-0118983 days"可以查看哪一天改过
第四列:多久之后才可以修改密码,如果是 o,则密码可以随时修改最小修改间隔时间,也就是说
该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10
则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改账号密码而设计的。
第五列:密码有效期,默认99999(273年),表示永久生效
第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出"修改密码”的警告信息
第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用
第八列:账号失效时间
第九列:保留未使用
chage命令:用来修改帐号和密码的有效期限,针对目前系统已经存在的用户
chage [选项]用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。chage-M60root -w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-1:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
总结:
/etc/shadow和chage控制命令的关系
第三个字段为:密码最后一次修改的时间 (chage-d)
第四个字段为:密码最小修改间隔时间 (chage-m)
第五个字段为:密码的有效期 (chage-M)
第六个字段为:密码需要变更前的整告天数 (chage-W)
第七个字段为:密码过期后的宽限天数 (chage-I)
第八个字段为:账号失效时间 (chage -E)
useradd
添加用户账号
-u:指定用户的 UID 号,要求该UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用年月日的日期格式。
-q:指定用户的基本组名(或使用GID号)。
-G:指定用户的附加组名(或使用GID号)。
-M:不建立宿主目录,即使/etc/loaindefs系统配置中已设定要建立宿主目录。
-s:指定用户的登录Shell环境。
tail -l /文件目录:表示查看最后一行
passwd命令(密码)
调用管道符,给zhangsan用户设置密码"123"为了方便系统管理,passwd命令提供了 --stdin选项,用于批量给用户设置初始密码。
echo “123” | passwd --stdin zhangsan (标准输入 给zhangsan用户 密码)
– stdin 标准输入
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户
-S:查看用户账户的状态(是否被锁定)。
-u: 解锁用户账户。
usermod命令参数(用户)
-l:更改用户账号的登录名称(Login Name)。
-L:锁定用户账户。
-U:解锁用户账户
usermod 修改用户的UID 号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:修改用户的基本组名(或使用GID号)。
-G:修改用户的附加组名(或使用GID号)。
-s:指定用户的登录Shell。
userdel命令 删除 格式 =userdel -r 用户名
userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录一并删除
id zhangsan
userdel -r zhangsan
ls-ld/home/zhanqsan
查看目录和文件的属性 root 用户、root组
如“drwxr-xr-x"和“-rw-r–r–“。权限字段由四部分组成,各自的含义如下所述。第1个字符:表示该文件的类型,可以是d(目录)、b(块设备文件)、c(字符设备文件)、”-”(普通文件)、字母"1"(链接文件)等。
第 2~4 个字符:表示该文件的属主用户(User)对该文件的访问权限。
第57个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。第810个字符:表示其他任何用户(other)对该文件的访问权限。第11个字符:这里的""与SELinux有关,目前不必关注
上述格式中,字符组合“[ugoa…][±=][rwx]“或数字组合“nnn”的形式表示要设置的权限模
式。其中,“nnn”为需要设置的具体权限值,如“755”“644”等;而“[ugoa….][±=][rwx]”的形式中,三个组成部分的含义及用法如下所述。
u 属主 g 属组 o 其他用户 a 所有用户
r 读 4
w 写 2
x 执行 1
chmod 修改文件权限
chmod u+r ,g-w 或者直接写数字 chmod 777 文件名
chown 修改文件所属 属主还是属组
chown [选项]… [所有者][:[组]] 文件…
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
/tmp t 是一个特殊权限 t:sticky bit, 该位可以理解为防删除位
. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限
. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件.
如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位.
设置该位后, 就算用户对目录具有写权限, 也不能删除该文件