文章目录
  1. 1. 简介
  2. 2. 相关文件
  3. 3. 管理账户
  4. 4. 密码管理
  5. 5. 密码时效
  6. 6. 状态查询
  7. 7. 所有者和所属组
  8. 8. 掩码
  9. 9. 特殊权限

简介

Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种。

细分用户账户(普通用户账户,超级用户账户)除了用户账户以外还有组账户所谓组账户就是用户账户的集合,centos组中有两种类型,私有组和标准组,当创建一个新用户时,若没有指定他所属的组,centos就建立以个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术主管,所以他就是属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。

相关文件

Linux环境下的账户系统文件主要在/etc/passwd/etc/shadow/etc/group/etc/gshadow四个文件。基本含义就不多说了重点说一下,rootuid0,从1-499是系统的标准账户,普通用户从uid 500开始。

管理账户

useradd 选项 用户名 添加新用户
usermod 选项 用户名 修改已经存在的用户
userdel -r 用户名 删除用户表示自家目录一起删除。
groupadd 选项 组名 添加新组
groupmod 选项 组名 修改已经存在的组
groupdel 组名 删除已经存在的特定组。

例子

添加一个用户zh888
useradd zhh888
新建一个blog组
groupadd blog
表示创建一个新用户zh,同时加入blog附加组中。
useradd -G blog zh
创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建家目录(-M)
useradd -d /var/ftp/pub -M ftpadmin
表示将zh888添加到附加组blog中去。
usermod -G blog zh888
表示删除ftpadmin用户
userdel ftpadmin
表示删除zh888和/home中的目录一起删除。
userdel -r zhh888
表示删除blog组。
groupdel blog

密码管理

创建用户之后就要给用户添加密码,设置的密码的命令passwd
用法:passwd [选项] [登录]

选项:

-a, --all 报告所有帐户的密码状态
-d, --delete 删除指定帐户的密码
-e, --expire 强制使指定帐户的密码过期
-h, --help 显示此帮助信息并推出
-k, --keep-tokens 仅在过期后修改密码
-i, --inactive INACTIVE 密码过期后设置密码不活动为 INACTIVE
-l, --lock 锁定指定的帐户
-n, --mindays MIN_DAYS 设置到下次修改密码所须等待的最短天数为 MIN_DAYS
-q, --quiet 安静模式
-r, --repository REPOSITORY 在 REPOSITORY 库中改变密码
-R, --root CHROOT_DIR chroot 到的目录
-S, --status 报告指定帐户密码的状态
-u, --unlock 解锁被指定帐户
-w, --warndays WARN_DAYS 设置过期警告天数为 WARN_DAYS
-x, --maxdays MAX_DAYS 设置到下次修改密码所须等待的最多天数为 MAX_DAYS

密码时效

chage命令是保护密码的时效这样可以防止其他人猜测密码的时间。
用法:chage [选项] 登录

选项:

-d, --lastday 最近日期 将最近一次密码设置时间设为最近日期
-E, --expiredate 过期日期 将帐户过期时间设为过期日期
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为最小天数
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为最大天数
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为警告天数

状态查询

用户和组的状态查询命令

用于显示当前的用户名称。
whoami
显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。
groups 用户名
显示当前用户的uid gid和用户所属的组列表。
id
转换到其他用户,如果su表示切换到自己的当前用户。
su 用户名
转换用户的当前组到指定的附加组,用户必须属于该组才能进行。
newgrp 用户组名

所有者和所属组

有时候还需要更改文件的所有者和所属组。只有文件的所有者有权更改其所有者和所属组,用户可以把属于自己的文件转让给大家。改变文件所有者用chown命令。

把文件files所有者改成lanmeng用户。
chown lanmeng files
将文件files的所有者和组都改成lanmeng。
chown lanmeng.lanmeng files
将files所有目录和子目录下的所有文件或目录的所有者和组都改成lanmeng。
chown -R lanmeng.lanmeng files

掩码

用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。

用法: umask [a1a2a3]
a1表示不允许所有者的权限
a2表示不允许同组人的权限
a3表示不允许其他人的权限

设置不允许同组用户和其他用户有写的权限。
umask 022
显示当前的默认生成掩码。
umask

特殊权限

setuid setgid stick bit
除了一般权限还有特殊的权限存在,如果用户不需要特殊权限不要打开特殊权限,避免安全方面的问题。具体的用法可以百度和google一下。

文章目录
  1. 1. 简介
  2. 2. 相关文件
  3. 3. 管理账户
  4. 4. 密码管理
  5. 5. 密码时效
  6. 6. 状态查询
  7. 7. 所有者和所属组
  8. 8. 掩码
  9. 9. 特殊权限