用户相关知识点
用户:
管理员:root管理员在系统中是唯一的
普通用户:普通用户都是从管理员创建的。权限是受到限制的,只有在自己的家目录,普通用户才拥有完成的权限。
程序用户:维护或者维持某个程序的正常运行,这些用户是不能够登陆系统的。创建系统的时候会默认添加一部分,安装某些第三方软件也会添加程序用户。
用户相关命令:
如何切换用户:su(只有在root用户下有刷新的作用)
su - 用户名 (注:管理员切换到普通用户是不需要输入密码的)
$echo $PATH 查看当前用户环境变量
修改主机名
临时修改:hostname 主机名 #重启即失效
永久修改:hostnamectl set-hostname 主机名 #用su刷新一下即可生效,无需重启。
vim /etc/hostname #重启才生效
用户账号:uid 唯一而且是有范围的(注:以uid号为标识,uid号0的是超级管理员)
Centos6以前的版本:root uid 0
普通用户的uid号,Centos6:500开始
Centos7:1000开始
程序用户:Centos6:1-499
Centos7:1-999
/etc/passwd #保存所有用户信息的文件
root:x:0:0:root:/root:/bin/bash
root 用户名
:分隔符
X:密码占位符。
0: 用户的 uid号
0:用户的GID号,组账号
root:用户全名
/root:用户的家目录
/bin/bash:用户登录的shell信息。(/bin/bash:可以登录系统的账号。
/sbin/nologin和/bin/false:用户进制登录系统。)
/bin/bash: 就是管理员账号和普通用户账号。
户/sbin/nologin 和/bin/false:一般来说都是程序用户。
/etc/shadow #用户的账户信息,保存用户密码和其他信息
root:S6SuJ/b/.LajcTU7.1JSVkuaSqemZKK2RGRB0472IYMTUkjFn.iOyoMKba8c.EcRzttYQEjo8G4ilThCTu/WgU3Pv9AMsJ5ewfL/3WuSp/::0:99999:7:::
root:用户名
S6SuJ/b/.LajcTU7.1JSVkuaSqemZKK2RGRB0472IYMTUkjFn.iOyoMKba8c.EcRzttYQEjo8G4ilThCTu/WgU3Pv9AMsJ5ewfL/3WuSp/:(账号密码,MD5加密的方式的加密信息)
*或者!!:表示账户不能登录系统,表示用户的密码为空。
第三个字段:表示上一次修改密码的时间。从1970年1月1日,到你修改密码的那一天隔的总天数。19599天
第四个字段:0,密码的最短有效天数。本次修改完密码后,必须要经过该天数之后,才能够再次修改密码。例:0:可以随手修改密码
10:10天后才可修改密码
第五个字段:99999,密码的最长有效天数。本次修改完密码后,经过该天数之后,必须修改密码。默认99999,没限制。
第六个字段:7:密码过期,七天之后会禁用此用户。
7后面第一个空格:账户失效之后,在指定时间内作为保留。为空表示账户永久可用。
最后一个字段:保留字段。
注:表示密码为空:程序用户一般为*
普通用户都是!!
用户相关命令
怎么创建用户:useradd 用户名(面试题)
useradd命令创建用户,会自动创建家目录。
useradd
-u:指定用户的uid号,uid号不能被其他用户使用
-d:指定用户的家目录位置。
-e:指定用户账号的失效时间,YYYY-MM-DD格式 年-月-日
-g:指定用户的基本组,也可以使用gid号,但是对应的gid号,必须存在
-G:指定用户的附加组,也可以使用gid号,但是对应的gid号,必须存在
-M:不会为用户创建家目录
-s:指定用户登录的shell
怎么修改用户:usermod
usermod
-u:修稿用户的uid号,未使用的uid号
-d:修改用户的家目录
-e:修改用户的账户失效时间,YYYY-MM-DD
-g:修改基本组,也可以用gid号
-G:修改附加组,也可以使用GID号
-s:修改用户的登录shell
-L:锁定用户账户
-U:解锁用户账户
怎么锁定用户,让用户无法登录系统的两种方法:面试题
passwd -l test passwd -u 锁定密码
usermod -L test usermod -U 锁定用户
怎么删除用户:userdel
userdel
-r:删除用户时,一并删除用户的家目录。
密码相关命令
怎么创建密码:passwd
注:root 用户下可以更改所有用户的密码,包括root自己。
普通用户只能自己对自己改
passwd
-d:清空用户的密码(慎用❗)
-l:锁定用户,锁定的用户将无法登录
-S:查看用户的账户状态(是否被锁定)
-u:解锁用户,将锁定的用户恢复可登录
更改密码的两种方式:
①passwd 用户名
②echo 123456 | passwd --stdin 用户名
用户组相关命令
用户组:
/etc/group:组账号的基本信息
/etc/gshadow:组账号的密码信息
注:在组的层面上添加删除不会自动创建用户,也不会自动删除用户
在用户层面上添加删除会自动创建组,也会自动删除相关组
用户名和组名是同一个,组是不能删除的
创建组账号:groupadd
添加或删除组成员:gpasswd
-a给组内添加用户,添加到附加组
-d 删除组内用户,删除也是附加组
-M:一次性添加多个组员,组员以逗号分割
总结:
查看用户信息:cat/etc/passwd
查看用户的账户信息:cat/etc/shadow
添加用户 useradd
添加密码 passwd
更改密码 echo 密码 | passwd --stdin 用户名
修改用户信息 usermod
usrmod -L锁定用户passwd -l
usrmod -U解锁用户passwd -u
/etc/group #查看组账号信息
/etc/gshdow
groupadd 组名#添加用户组
groupdel 组名#删除组
gpasswd 添加组成员(添加到附加组),或者删除组成员(只能一个一个删除)
权限
权限:r:读,查看文件内容.
w:写,文件内容新增,修改,之后能不能保存。能不能在当前目录创建文件或目录。
x:执行,文件内容相应的代码,有没有权限来执行文件中的代码。切换目录。
文件/目录的权限:
rwx r-x r-x
所有者/所在组/其他用户
r 4
w 2
x 1
rwx
421 7
rw-
42 6
r-x
41 5
-wx
21 3
chmod 设置文件和目录的权限命令
八进制赋权的方式 4 2 1
另外一种写法:u g o a + - =rwx
u:所有者
g:文件所在的组
o:其他用户
a:all 所有人,默认就是a
rwx r-x r-x
7 5 5
文件的默认权限:666 umask=022
目录的默认权限:777 umask=022
umask 022
666-022=644
777-022=755
①文件默认就是不带执行权限,要想文件有执行权限,必须要后天赋权chmod
②目录必须要有执行权限(给不给权限他都能带有执行权限,只要创建就有执行权限)
面试题:
文件创建的时候自带哪些权限?
答:除了没有执行权限,其他的看umask是多少。
注:umask是单数时 默认权限加1
例: 123.sh文件权限为666,当umask是011时,123.sh默认权限为644
设置目录和文件的归属:chown
改变文件和目录的所有者以及所在组。
所有者和所在组都要已创建。
chown dn:dn 123.sh
chown dn.dn 123.sh
所有者和所在组,都会变
chown dn 123.sh
只改变所有者
只改变所在组
chown .dn 123.sh
chown :dn 123.sh
总结:
权限:
chmod 777文件或者目录名
7 7 7
所有者 所在组 其他用户
mkdir -p aa/bb/cc #创建递归目录aa/bb/cc
chmod -R 777 aa/bb/cc #只会对最后一个目录以及目录当中的文件生效
文件的默认权限:666 umask=022 666-022=644 文件怎么给都没有执行权限
目录的默认权限:777 umask=022 777-022=755 目录不用给自带执行权限