管理员用户指的就是root用户默认如此。一般不改。每个人都可以用的目录是bin,只有管理员可以用的是sbin。所有用户信息都在etc/passwd的文件里
管理员身份按照uid区分。只要uid为0那就是超级管理员。把其他用户的uid更改为0也一样。
超级管理员切换到普通用户时不需要密码的,普通用户切换到超级管理员需要输入密码。
用指令:id root 可以查询root的账号信息。
管理员拥有最高权限。
普通用户全部都是管理员用户创建的。普通用户所拥有的权限是受限的。但是普通用户在自己的家目录拥有完整的权限(所谓完整的权限也仅指一般意义上的增删改查,该不能用的命令还是不能用)。
程序用户:安装操作系统以及某些特定程序时,会安装一些低权限的账号,这些用户是不能登录到系统的。作用是维持特定系统程序以及某个第三方程序的正常运行。
这三个用户在系统中使用uid来区分:
管理员uid为0.
普通用户的uid:centos7(1000+)
程序用户uid:1-999
组账号(GID)
组账号分为基本组(私有组)和附加组(共有组)
使用指令:gpasswd -a dn root 这个指令意为给root添加到dn的附加组里。
使用cat /etc/group可以查看组文件
使用普通文件添加附加组比较直观
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1000(dn)
groups是基本组(私有组) 后面是附加组(公共组)
基本组只能有一个,附加组可以有多个。
在linux系统中:我们统一用账户,用户作为标的。
/etc/passwd文件下的记录格式以冒号为分割
root:x:0:0:root:/root:/bin/bash
第一个是用户名。第二位密码占位符。第三位uid。第四位gid。第五位用户全名。第六位用户家目录。最后一位表示登陆的shell 表示用的是bash解释器。如果是/sbin/nologin或/bin/false表示不能登陆到系统,一般用于程序用户。passwd包含所有用户文件,比较常用。
也是以冒号为分割的格式如图所示
第一位:用户名。第二位:加密的密码。第三位:上一次修改密码的时间。第四位:表示密码的最短有效天数0表示可以不修改。第五位表示密码最长有效期。第六位表示表示提前多少天警告密码过期。默认值为7。第七位表示密码过期之后多少天禁止用户登录。第八位表示账户的失效时间空的表示永久可用。最后一位保留字段,为了二次开发好用。
选项可以一次添加多个使用
-u:指定uid号,uid号要未被使用。★
-d:指定用户的家目录位置。★
-e:指定用户账户的失效时间。yyyy-mm-dd 用的少
-g:指定用户的基本组。
-G:指定用户的附加组
-M:不建立用户的家目录 用的少
-s:指定用户的登录shell★
创建账户可以用/etc/passwd和/etc/shadow两种方法来观看账户是否创建。
也可以通过id (创建的用户)的方式来看。没有则搜索不到。
题: 创建一个用户指定uid 1010 指定家目录/opt/test/ 基本组 boge 再指定附加组 ky30 指定用户登录shell /bin/bash 用户名test
首先useradd boge useradd ky30创建完之后
useradd -u 1010 -d /opt/test/ -g boge -G ky30 -s /bin/bash test
passwd (用户名) 这个命令可以创建密码。普通用户和普通用户之间转换需要密码。
echo 123 | passwd --stdin (用户名) 这两种方式都可以创建密码而且都要会。
可以不要密码
passwd 还有几个用法
-d:清空用户账户密码,也就是可以不需要密码就可以登录
-l:锁定用户账户,锁定之后无法登录
-S:大写的s查看用户账户的状态(是否被锁定)
-u:解锁用户账户
su主要作用是切换用户
格式
su (用户名) 更换用户,环境变量不更换
su - (用户名) 一般用这个。因为这个是完整的
两种都可以
普通用户下直接用su可以返回root用户
如果在root用户下输入su则可以刷新
更改主机名hostname (更改的名字) 这是临时改
hostnamectl set-hostname (更改的名字)这是永久修改
也可以vim /etc/hostname 在第一行输入更改的名字。不过改名之后需要重启才可以生效。这也是永久修改。
echo $PATH可以查看环境变量
-u:修改用户uid号。
-d:修改用户家目录位置。
-e:修改用户账户的失效时间。
-g:修改用户的基本组
-G:修改用户的公共组
-s:修改用户的登录shell
-L:锁定账户
-U:解锁账户
面试题:
锁定用户的两种方法
passwd -l
usermod -L
作业。特殊情况
一般用户在home目录里都会有个对应目录文件
如果home目录里没有对应用户目录文件
例如test用户在home文件里找不到test目录文件则无法登录test用户
需要在/home目录下创建和用户名一样的目录mkdir test 其实就是创建文件的家目录
然后cp /etc/skel/.bashrc /home/test/
这个是默认用户自己的配置文件复制到指定家目录下
cp /etc/skel/.bash_profile /home/test
这个是默认用户自己专属的环境配置文件,复制到指定家目录下
完成之后更改目录所有者和组的权限需要改成文件自己的
chown test.test test/也可以chown -p test.test. test/递归更改所有者、所在组权限,直接一步到位。
如果权限更改失败说明没有相应的组需要groupadd test创建一个用户名相应的组。(这种情况一般不会出现)
chown test.test .bashrc
chown test.test .bash_profile
这一步是把两个文件的所有者和所在组改为用户本身的权限,让文件可以读取。
如果前面更改目录所有者。所在组权限的时候使用-p,那么就不需要这一步了。
更改权限完成之后就可以su - test登陆了。
如果删除失败说明退出不规范,需要一直exit退,退到不能退为止。
以用户为标的不会乱很好整理。
source:读取配置文件当中的命令使其立即生效
/etc/profile
是用户账号的初始配置文件
/etc/profile是系统的全局配置文件,对所有系统用户都有效。
它包含一些系统级别的环境变量和默认的系统级别的shell配置。
例如vim /etc/profile
打开profile的文本编辑之后在最后一行输入alias cat='cat -n'
然后保存退出,然后在输入source /etc/profile表示读取配置文件当中的命令使其立即生效,这样就不需要重启了。然后cat /etc/passwd,就会把里面的每一行都进行编号了,因为这个时候输入cat指令就相当于输入cat -n显示每行编号。而且对所有系统用户都生效。
.bashrc:
.bash_profile
这两个都是用户自定义,修改所有者所在组权限之后只能对当前用户生效,就不能对全局生效了。
下面这个文件了解即可,如无特殊需要,一般不配置
下面这个文件和/etc/profile文件一样,vim编辑改写也一样。
以下,了解即可
以下了解即可
用groupadd (文件名)或指定组账号(gid)的方式groupadd -g (组账号)(文件名)两种都可以创建组账号(了解即可,一般不用)
例如用命令useradd 创建三个用户1.2.3.4 只能一个一个创建,不能多个创建
然后将1.2.3加入4这个组当中,可以写为gpasswd -M 1,2,3 4就ok了
想要删除多个组只能一个一个删除
gpasswd -d 1 4 gpasswd -d 2 4 gpasswd -d 3 4
groupdel 指令是删除组账户,一般用不到,因为以用户为标的,所以直接用userdel -r删除就可以了。
指令查询已经登录到主机的用户信息:
w : 详细版 who : 是简略版 user : 只显示用户名称
以下为重点内容★★★★★
一般情况属主和属组要改都是两个一起改。
chmod 是可以更改权限的命令
u文件的所有者
g文件所在组
o其他用户
a所有用户
+相当于给 -相当于收回 =表示仅设置
例如只给123文件的所有者执行权限
chmod u+x 123就可以了
想取消的话把+换成-就可以了
chmod u-x 123即可
也可以用第二种方法进行权限的改写
r(读)=4 w(写)=2 x(执行)=1
例如想给123文件所有者读的权限,所在组写的权限,其他用户只有执行的权限
chmod 421 123即可
chmod -R 表示递归更改指定目录下的所有文件权限
例如让rh目录下文件权限所有者所在组和其他用户只能读包括rh目录
chmod -R 444 rh/ 即可 如果递归多个目录例如chmod -R 444 aa/bb/cc那么只能对最后一个目录生效。
目录即使没有执行权限也可以执行。
chown:可以更改文件的所有者和所在组。chown和chmod的格式以及-R的递归模式都一样。
例:chown -R 所有者:所在组 文件或目录
中间用:和 .隔开都可以
umask决定了创建目录和文件之后的默认权限。
文件默认666 目录默认777
如果设置umask为444,那么touch 一个文件的权限就为222,意为所有者权限是读
所在组权限是读 其他用户权限也是读,如果文件创建权限为基数例如111则会向上加一位变为222,因为文件不能有执行权限。
目录必须有执行权限这是自带的。
面试题
cp /etc/passwd /opt/ky30 cp的命令需要的最低权限是什么
cp执行 passwd读 ky30写
提示语,不要忘记补
作业更换用户会有提示语‘曹哥好’