网站流量查询 优帮云,客户推广公司,抢注qq空间专属域名网站,汽车最好网站建设目录
一、用户账号和组账号概述
1.1、用户账号的三种角色
1.2、组账号的两个角色
二、用户账号文件
2.1、/etc/passwd 2.2、/etc/shadow
2.3、chage 命令
三、组账号文件
3.1、/etc/group
3.2、/etc/gshadow
四、添加组账户
4.1、添加删除组成员
4.2、删除组账号
…目录
一、用户账号和组账号概述
1.1、用户账号的三种角色
1.2、组账号的两个角色
二、用户账号文件
2.1、/etc/passwd 2.2、/etc/shadow
2.3、chage 命令
三、组账号文件
3.1、/etc/group
3.2、/etc/gshadow
四、添加组账户
4.1、添加删除组成员
4.2、删除组账号
五、添加用户账号
5.1、用户账号的初始配置文件
5.2、删除用户账号
5.3、设置更改用户
六、修改用户账号的属性
七、查询账号信息
八、查询已登录到主机的用户信息
九、文件/目录的权限和归属
9.1、设置文件和目录的权限
9.2、设置文件和目录的归属 一、用户账号和组账号概述
linux是基于用户身份对资源访问进行控制的可以以用户账号和组账号作为划分
1.1、用户账号的三种角色
超级用户 root 用户是 Linux 操作系统中默认的超级用户账号对本主机拥有最高的权限类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统管理、维护任务时才建议使用 root 用户登录系统日常事务处理建议只使用普通用户账号。root 拥有对系统的最高的管理权限 ID0。普通用户普通用户账号需要由 root 用户或其他管理员用户创建拥有的权限受到一定限制一般只在用户自己的宿主目录中拥有完整权限 系统用户 UID:1-999(centos7 版本) 1-499(centos6 版本) UID:即每个用户的身份标示,类似于每个人的身份证号码.程序用户在安装Linux操作系统及部分应用程序时会添加一些特定的低权限用户账号这些用户一般不允许登录到系统而仅用于维持系统或某个程序的正常运 行如 bin、daemon、ftp、mail 等 伪用户 一般不会用来登录系统的它主要是用于维持某个服务的正常运行.如ftpapache等
1.2、组账号的两个角色
基本组私有组附加组公共组
GID表示的组的id
管理员组 0 普通组: 系统组1-499CentOS6|1-999CENTOS7 普通组500CentOS6 | 1000CENTOS7
基本组基于某种特定联系如都需要访问 FTP 服务将多个用户集合在一起即构成一个用户组表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组这个组称为该用户的基本组或私有组
附加组若该用户同时还包含在其他的组中则这些组称为该用户的附加组或公共组。
简单的说 用户和组的关系 用户 是员工 组 是职位 员工 可以兼职多个岗位 总有一个最重要的身份 基本组 必须要一个组 有且唯一 附加组 可有可无 有可以有多个 默认行为当你创建一个新用户时会自动创建一个和用户名称同名的主组基本组
二、用户账号文件
2.1、/etc/passwd
保存用户名称宿主目录登录shell等基本信息 文件位置/etc/passwd 每一行对应一个用户的账号记录针对查找可以用grep过滤查找 root:用户名用户名仅是为了方便用户记忆。x:表示此用户设有密码但不是真正的密码真正的密码保存在/etc/shadow文件0:用户账号的 UID 号。0:所属基本组账号的 GID 号root:描述性信息此字段只是用来解释这个用户的意义而已/root:宿主目录即该用户登录后所在的默认工作目录/bin/bash 登录Shell 等信息用户完成登录后使用的
补充 Linux系统是通过UID来识别用户身份分配用户权限。 Linux系统把真正的加密密码串放置在/etc/shadow文件中此文件只有root用户可以浏览和操作最大限度地保证了密码的安全。 注意虽然x并不表示真正的密码但也不能删除如果删除了 x那么系统会认为这个用户没有密码从而导致只输入用户名而不用输入密码就可以登陆只能在使用无密码登录远程是不可以。 注宿主目录通常称为用户的主(家)目录。
例如root主目录为/root普通用户odysee的主目录为/home/odysee 2.2、/etc/shadow
保存用户的密码账号有效期等信息 影子文件和 /etc/passwd 文件一样文件中每行代表一个用户同样使用 : 作为分隔符不同之处在于每行用户信息被划分为 9 个字段。 /etc/shadow 文件只有 root 用户拥有读权限其他用户没有任何权限这样就保证了用户密码的安全性。 第一列账户名第二列存放真正加密的密码采用SHA512散列算法更加安全 加密原来用MD5 或 DES!!和*表示没有密码不能登陆新创建用户也是!!如果密码前面显示双感叹号表示该账户被锁定了第三列上一次修改密码的时间从1970年1月1日开始算的因为1970年是linux的诞生日date -d 1970-01-01 18983 days可以查看哪一天改过第四列多久之后才可以修改密码如果是 0则密码可以随时修改 最小修改间隔时间 也就是说 该字段规定了从第三个字段最后一次修改密码的日期起多长时间之内不能修改密码如果是0 则随时修改密码如果是10 则代表密码修改后10天之内不能再次修改密码此字段是为了针对某些人频繁更改账号密码而设计的。第五列密码有效期默认99999273年表示永久生效第六列密码到期前的第几天发出告警信息默认是7天每次登录系统都会向该账户发出 修改密码 的警告信息 第七列密码过期的宽限天数过期后的几天还是可以登陆的如果过了宽限天数系统将不再让此账户登陆也不会提示账户过期是完全禁用比如说此字段规定的宽限天数是10则代表密码过期10天后失效如果是0 则代表密码过期后立即失效如果是 -1 则代表密码永远不会失效 第八列账号失效时间使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间 第九列保留未使用
上多效警宽失保dmMWIE
2.3、chage 命令
用来修改帐号和密码的有效期限针对目前系统已经存在的用户
选项
-m密码必须更改的最小天数。0 表示随时可以更改。-M密码保持有效的最大天数。-W密码过期前多少天开始警告用户。-E账号到期日期。账号将在这一天后失效。-d密码最近一次被更改的日期。-i账号在密码过期后的非活动天数。这段时间后账号将被锁定。-l列出账号的密码过期信息。
结合/etc/shadow字段 第三个字段为密码最后一次修改的时间 chage -d 第四个字段为密码最小修改间隔时间 chage -m 第五个字段为密码的有效期 chage -M 第六个字段为密码需要变更前的警告天数 chage -W 第七个字段为密码过期后的宽限天数 chage -I 第八个字段为账号失效时间 chage -E
选项描述示例-d, --lastday 最近日期将最近一次密码设置时间设为“最近日期”chage -d 2023-01-01 username-E, --expiredate 过期日期将帐户过期时间设为“过期日期”chage -E 2023-12-31 username-h, --help显示此帮助信息并退出chage --help-I, --inactive 过期后INACTIVE天数设定密码为失效状态chage -I 30 username 密码过期后30天账号锁定-l, --list显示帐户年龄信息chage -l username-m, --mindays 最小天数将两次改变密码之间相距的最小天数设为“最小天数”chage -m 7 username 至少7天后才能再次更改密码-M, --maxdays 最大天数将两次改变密码之间相距的最大天数设为“最大天数”chage -M 90 username 密码最长有效期为90天-R, --root CHROOT_DIRchroot到的目录通常不常用用于指定chroot环境chage -R /path/to/chroot username-W, --warndays 警告天数将过期警告天数设为“警告天数”chage -W 7 username 密码到期前7天开始警告 三、组账号文件
3.1、/etc/group
与用户账号文件相似
用于保存组账号名称、GID 号、组成员等基本信息 实验1
grep ^root /etc/group #//检索root 组包括哪些用户 grep root /etc/group //检索哪些组包括root 用户root用户在哪些组下 3.2、/etc/gshadow
用于保存组账号的加密密码字串等信息但是很少使用到。
某一个组账号包含哪些用户成员将会在 group 文件内最后一个字段中体 现出来基本组对应的用户账号默认可能不会列出多个组成员之间使用 逗号分隔 四、添加组账户
groupadd命令 groupadd [-g GID] 组账号名
实验 4.1、添加删除组成员
gpasswd命令
管理Linux用户组包括定义组管理员、成员和密码等。
设置组帐号密码 (极少用 添加/删除组成员常用 gpasswd 【选项】 组帐号名 常用选项
-a添加用户到组-d从组删除用户 -A指定管理员指定多个用隔开-M指定组成员和-A的用途差不多-r删除密码-R限制用户登入组只有组中的成员才可以用newgrp加入该组
实验1
创建一个用户并且加入root组中然后移除他把他加入其他组 4.2、删除组账号
groupdel命令 groupdel 组账号名 五、添加用户账号
useradd命令 useradd【选项】 用户名
-u指定用户的 UID 号要求该 UID 号码未被其他用户使用。 -d指定用户的宿主目录位置当与-M 一起使用时不生效。 -e指定用户的账户失效时间可使用 YYYY-MM-DD 的日期格式。 -g指定用户的基本组名或使用 GID 号。 -G指定用户的附加组名或使用 GID 号。 -M不建立宿主目录即使/etc/login.defs 系统配置中已设定要建立宿主目录。 -s指定用户的登录Shell。
创建一个辅助管理员账号 admin将其基本组指定为“wheel”附加组指定为“root”宿主目录指定为“/admin” 5.1、用户账号的初始配置文件
文件来源 新建用户帐号时从/etc/skel目录中复制而来 主要的用户初始配置文件~/.bash_profile ~/.bashrc ~/.bash_logout
添加一个新的用户账号后useradd 命令会在该用户的宿主目录中建立一些初始配置文 件。这些文件来自于账号模板目录/etc/skel/基本上都是隐藏文件较常用的初始配置文件包括“.bash_logout”、“.bash_profile”和“.bashrc”。
其中
“.bash_profile”文件中的命令将在该用户每次登录时被执行“.bashrc”文件中的命令会在每次加载“/bin/Bash”程序当然也包括登录系统时执行而“.bash_logout”文件中的命令将在用户每次退出登录时执行。
如果希望为所有用户添加登录后自动运行的命令程 序、自动设置变量等可以直接修改/etc 目录下的类似文件如/etc/bashrc 文件、/etc/profile 文件
理解这些文件的作用可以方便我们安排一些自动运行的后台管理任务。 在“.bashrc”等文件中可以添加用户自己设置的可执行语句如 Linux 命令行、脚本控 制语句等以便自动完成相应的任务。
命令配置一般放在.bashrc
每次修改.bashrc后使用source ~/.bashrc或者 . ~/.bashrc就可以立刻加载修改后的设置使之生效。
环境变量一般放在profile
一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件这样~/.bashrc也就得到执行了你的个性化设置也就生效了。 关于环境变量的读取顺序: 用户登录 -- 加载~/.bash_profile -- bash_profile中配置了首先是使~/.bashrc生效 实验1
ls -a可以查询到隐藏文件 实验2
全局下可以修改/etc/bashrc 内容是将root是蓝色普通用户是黄色
if [ $USER root ]; then export PS1\[\e[1;34m\][\u\h \W]\$\[\e[0m\]
else export PS1\[\e[1;33m\][\u\h \W]\$\[\e[0m\]
fi 实验3
在用户家目录当中 vim编辑内容 在当前用户登出时,打印出Logout 和当前的时间
echo Logout, date 实验4
每次操作的时候我们都会有很多历史记录 我们可以用 history -c 去清除但是
如果需要每个用户登出时都清除输入的命令历史记录,可以在/etc/skel/.bash_logout文件中添加下面这行 rm -f $HOME/.bash_history 这样当用户每次登出时.bash_history文件都会被删除.。 对于已经存在的用户还需要手动添加但是在新建用户就有了相同的配置 5.2、删除用户账号
userdel命令 userdel [-r] 用户名 添加 - r 选项时表示连用户的宿主目录一并删除
一般删除都加-r 5.3、设置更改用户
passwd命令 passwd 【选项】 用户名
扩充 #调用管道符给 zhangsan 用户设置密码 123,为了方便系统管理
passwd 命令提供了 --stdin 选项用于批量给用户设置初始密码需要结合脚本。 echo 123 | passwd --stdin zhangsan
使用 --stdin 选项可以确保密码不会以明文形式出现在命令行历史中从而增加了安全性。 -d清空指定用户的密码仅使用用户名即可登录系统。 -S查看用户账户的状态是否被锁定。 -l锁定用户账户。 -u解锁用户账户。 六、修改用户账号的属性
usermod命令用于修改用户账户属性的命令。使用 usermod你可以更改用户的各种属性如登录名、主目录、默认 shell、用户组等。 usermod 【选项】 用户名 常见参数 -l更改用户账号的登录名称Login Name。 -L锁定用户账户。 -U解锁用户账户-u修改用户的 UID 号。 -d修改用户的宿主目录位置。 -e修改用户的账户失效时间可使用 YYYY-MM-DD 的日期格式。 -g修改用户的基本组名或使用 GID 号。 -G修改用户的附加组名或使用 GID 号。 -s指定用户的登录 Shell。
其中G是将用户添加到附加组但是会覆盖如果追加可以用 -aG 选项表示“追加到组”。 七、查询账号信息
id可以查询用户身份标识
id 【用户名】 groups命令查询用户所属的组
groups 【用户名】 八、查询已登录到主机的用户信息
w、who、users 查询已登录到主机的用户信息
w比较全就推荐用w就行好记 pts说明是用远程工具连接的比如1是xshell后面的数字代表登录的时间顺序越小证明登录的越早
一些信息内容
User登录用户名TTY登录后系统分配的终端号From远程主机名即从哪登录的login何时登录IDLE用户空闲时间。这是个计时器一旦用户执行任何操作改计时器就会被重置。JCPU和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间PCPU当前进程所占用时间WHAT当前正在运行进程的命令行
登录虚拟机的图形界面
通常使用tty来简称各种类型的终端设备Centos7系统 :1表 示图形界面tty2-tty6表示 文字界面可以用CtrlAltF1-F6切换。 再按w 当我按ctrlaltF6切换的时候切换回有视图用ctrlaltF2 再按w 还有可以用finder去查用户的详细信息 没有可以yum install finger -y
九、文件/目录的权限和归属 访问权限
读取r:允许查看文件内容显示目录列表写入w:允许修改文件内容允许在目录中新建移动删除文件或子目录可执行x:允许运行程序切换目录
归属所有权
属主拥有该文件或目录的用户帐号属组拥有该文件或目录的组帐号 第 1 个字符表示该文件的类型可以是
d(目录)、b(块设备文件)、c(字符设备文 件)、“-”普通文件、字母“l”链接文件
除去文件类型还有九个位置分为三组 第 11 个字符这里的“.”与 SELinux 有关目前不必关注
9.1、设置文件和目录的权限 chmod 【u,g,o,a】【-】 【rwx】 文件或目录 -R:递归修改指定目录下所有子项的权限
ugoa分别代表 属主、 属组、 其他用户、 所有用户
9.2、设置文件和目录的归属
chown命令 chown 属主 文件或目录 chown :属组 文件或目录 chown 属主属组 文件或目录 -R:递归修改指定目录下所有文件子目录的归属