Linux是一个多用户,多任务的服务器操作系统
用户角色:超级用户,普通用户,程序用户
一、管理用户和组账户
1,linux用户和组账户概述
用户账户:
超级用户(0) root有至高无上的权限,在进行管理及维护时使用
普通用户(500~60000)收到权限限制,一般在宿主目录下有完整权限
程序用户(1~499)在安装程序时建立,通常不让登录系统
/etc/login.defs
/etc/defaults
组:
基本组(私有组)
附加组(公共组)
2,用户的账户文件
/etc/passwd账户信息
benet:x:500:500::/home/benet:/bin/bash
1:帐号名benet
2:密码占位符x
3:UID
4:GID
5:描述信息
6:宿主目录
7:登录Shell /sbin/nologin不允许登录shell
/etc/shadow影子文件密码信息
benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::
1:帐号名称
2:加密的密码md5 * !!
3:上次修改密码的时间1970-01-01
4:密码的最短有效天数,默认值为0
5:密码的最长有效天数,默认值为99999
6:提前多少天警告用户口令将过期,默认值为7
7:在密码过期之后多少天禁用此用户
8:帐号失效时间,默认值为空
9:保留字段(未使用)
3,用户命令
useradd新建用户
-u指定uid
-d指定宿主目录
-e指定失效时间
-g指定基本组名
-G指定附加组名
-M不创建主目录
-s指定使用shell如果不想登录系统的话可以指定/sbin/nologin
相关文件
/etc/skel 模板文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
全局初始配置文件
/etc/bashrc
/etc/profile
passwd更改口令锁定解锁
-d清空密码
-l锁定
-S查看状态(是否被锁定)
-u解锁
usermod修改已有账户属性
-u修改uid
-d修改宿主目录
-e修改失效时间
-g修改基本组名
-G修改附加组名
-M不为用户建立并初始化主目录
-s指定用户shell
-l更改用户帐号的登录名称
-L锁定
-U解锁
userdel删除账户
-r连同账户主目录一起删除
4,组文件(用户必须属于一个组)
/etc/group组帐号信息
/etc/gshadow组密码信息
5,组命令
groupadd创建组
-g指定gid
gpasswd设置组密码
-a向组内添加用户
-d从组内删除用户
-M定义组成员列表,以逗号分隔
groupdel删除组
6,用户组账户查询
id查询用户身份
groups查询用户所属的组
finger查询用户帐号的详细信息
users、w、who查询已登录到主机的用户信息
二、管理文件/目录的权限和归属
1,访问权限
读取:允许查看、显示目录列表
写入:允许修改,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录
2,查看文件的权限
# ls -l install.log
-|rw-|r--|r--1 root root26195 Dec 17 10:42 install.log
文件类型
-代表普通文件
d代表目录
l代表连接
rw-:代表文件所有者的权限(u)
r=读=4
w=写=2
x=执行=1
r--:代表文件所属组的权限(g)
r=读=4
w=写=2
x=执行=1
r--:其他用户的权限(o)
r=读=4
w=写=2
x=执行=1
a=ugo
文件最大权限666
目录最大权限777
默认创建文件的权限644
默认创建目录的权限755
umask
最大权限-umask=默认权限
补充:
对于目录来说没有x权限,无论有没rw,都不能进入该目录
3,命令(R表示递归)
chmod改变权限
chmod ugoa [+-=] [rwx]文件
chmod数字[-R]文件
chown改变所有者与所属组
chown所有者:所属组对象