“Yeah It’s on. ”
文件账户与权限管理
linux —–> 多任务、多用户、多进程的服务器操作系统
超级用户 uid=0 gid=0
普通用户 1000<=uid<=60000 一般在宿主目录下有完整权限
程序用户 1<=uid<=999 通常不能登录系统
/etc/passwd
作用:保存着用户名称、宿主目录、登录Shell等基本信息,每一行对应一个用户的账号记录。
eg:
1
2
head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
共七个字段
- 第一字段:用户账号名
- 第二字段:密码占位符(密码保存到了影子文件)(x表示有密码) (!!表示新用户没有密码,或者密码被锁定)
- 第三字段:uid编号
- 第四字段:gid编号
- 第五字段:用户备注信息(用户全名)
- 第六字段:用户宿主目录(家目录)
- 第七字段:登录时分配到的shell解释器(若shell类型为/sbin/nologin则不能登录)(/sbin/nologin一般用于程序用户)
/etc/shadow
存储加密密码、共九个字段、具体啥功能不重要
useradd命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
useradd [选项] 用户名
-u #指定uid
-d #指定宿主目录(默认为/home/用户)
-e #指定账户生效时间(yyyy-mm-dd)
-M #不建立宿主目录
-s #指定登录shell
-g #指定基本组名(或gid号),系统中创建用户时,默认会创建一个同名的基本组
-G #指定附加组
-c #添加备注,这个选项基本没什么用(显示在/etc/passwd第五字段)
#注意:-e和-M经常组合出现,用于程序用户
用户初始配置文件

新用户创建时,都是复制root用户/ect/skel下的文件作为初始配置文件
/ect/skel可能会存着行为守则
-
.bash_logout:退出时执行
-
.bash_profile:每次登陆时执行(常用于软件开机自启)
-
.bashrc:每次切换bash执行
-
.bash_history:用户登录时从该文件加载用户历史命令记录 这个文件,只有在进行操作之后才会有
1
history -c #清除历史命令
命令复用
1
! + 序号

全局配置文件
/etc/profile
/ect/bashrc
/etc/profile和.bash_profile都是每次登陆时加载,所以会出现两个配置的冲突问题,此时,/etc/profile要比.bash_profile先加载,所以.bash_profile会覆盖/etc/profile命令
设置更改用户密码passwd命令
1
2
3
4
5
passwd [选项] 用户名
-d #清除密码(和不设置密码一样,为空)
-l #锁定用户
-S #查看用户信息
-u #解锁用户
普通用户和普通用户之间不能互相更改
1
2
3
4
usermod [选项] 用户名
-L #锁定用户
-U #解锁账户
-l #更改用户名称
注意:用passwd命令锁定的用户,用usermod命令可以解锁反之同理
1
2
userdel [选项] 用户名
-r #删除用户同时删除目录
关于用户及密码相关控制文件
/etc/login.defs 用户创建时默认的相关信息
/etc/skel 用户家目录的信息
/etc/default/useradd 用户创建的相关信息
/lib64/security/pam_cracklib.so#控制密码复杂度的关键文件
组账户管理
组:部分用户的集合
/etc/group保存组账号基本信息
/etc/gshadow保存组账号的密码信息(较少使用)

1
groupadd 组名 #添加组
1
2
3
4
gpasswd [选项] 组名
-a #添加组员 gpasswd -a [用户名] [组名]
-d #删除组员 格式同上
-M #定义组成员列表,注意是定义!一旦使用该选项,原先的组员会被覆盖
1
groupdel [选项] 组名 #删除组
1
2
3
4
5
6
id [用户名] 查看用户信息
groups[用户名] 查询用户所属的组
finger [用户名] 查询账号的详细信息(该命令需要安装)
w #当前登陆用户-终端-地址-登陆时间-系统平均负载值-执行命令
who #当前登陆用户-终端-地址(pts表示远程终端,ttyl表示主机连接)
whoami #当前登陆用户
归属(所有权)
属主:拥有该文件的用户账号
属组:拥有该文件的组账号
查看文件的权限和归属
第一位表示文件类型
- -:表示一般文件
- d: 表示目录
- l: 表示软连接(快捷方式)

目录满权限:777,默认是755
文件满权限是:666,默认是644 x需要手动赋予,变成可执行文件
设置文件或目录的权限chomd命令
格式:
1
chmod [-R] [ugoa] [+=] [rwx] 参数
1
chmod [-R] [nnn] 参数
-R 表示以递归的方式设置目录及目录下的所有子目录及文件的权限
u:属主
g:属组
o:其他人
a:所有人
设置文件的归属chown命令
格式:
1
chown 属主 文件
1
chown:属组 文件 =chown.属组 文件 = chgrp 属组
1
chown 属主:属组 文件
umask
查看umask值
