Ubuntu用户权限管理
1. 用户管理
ubuntu系统使用用户组和用户来管理用户,与用户管理相关的三个文件:
- /etc/passwd,用来存放用户信息,每行一条用户信息,每条信息包含7个字段,如:
root:x:0:0:root:/root:/bin/bash
- 用户名
- 密码,x表示加密,加密后的密码存放在/etc/shadow文件中
- UID, 用户标识
- GID,组标识
- 用户全名或本地账户
- 用户的home目录
- 用户登录时使用的shell,ubuntu默认为dash
- /etc/shadow,用来存放用户密码,每行一条用户信息,每条信息包含9个字段,如:
root:*:18375:0:99999:7:::
- 用户名
- SHA512加密后的密码,!!或*表示没有密码,不能登录
- 密码最后一次修改时间,表示19700101后多少天,可用
data -d "1970-01-01 18375 days"
转换成日期 - 距上次修改密码后的最小修改时间间隔,0表示随时可以修改
- 修改后密码的有效期,默认99999天
- 密码过期前的警告天数,默认7天
- 密码过期后的宽限时间,过期后还能登录,过了宽限时间则禁止登录
- 账号失效时间,同字段3,账号失效后无论密码是否过期都无法使用
- 保留字段,目前未被使用
- /etc/group,存放用户组信息,每行一条用户组信息,每条信息包含以下4个字段,如:
root:x:0:
- 组名
- 组密码,x表示加密,加密后的密码存放在/etc/gshadow文件中,组密码主要用来指定组管理员,目前多用sudo命令代替
- GID,组标识
- 组中所有用户,如果用户组是该用户的初始组,则该用户不会写入该字段
常见的用户管理命令如下:
sudo //su是subsitute user的缩写,表示使用另一用户身份,sudo表示用另一用户身份执行命令,预设身份是root
useradd username //创建新用户,-m 自动创建home目录,-g 指定用户所在组,不指定则建立一个同名组
passwd username //设置用户密码
userdel username //删除用户,-r自动删除home目录
groupadd groupname //创建新组
groupdel groupname //删除组
id username //查看用户UID和GID
usermod username //修改用户权限,-g 修改用户主组,-G 修改用户附加组,-s 修改登录Shell
who //查看当前登录的用户列表
which cmdname //查看命令所在位置,绝大多数可执行文件存放在/bin、/sbin、/usr/bin、/usr/sbin文件夹下
可执行文件存放目录说明:
目录 | 说明 |
---|---|
/bin | 二进制应用文件存放目录 |
/sbin | 系统管理员专用的二进制文件存放目录 |
/usr/bin | 后期用户安装的二进制文件存放目录 |
/usr/sbin | 后期超级用户安装的二进制应用文件存放目录 |
2. 文件权限管理
ubuntu系统中每个文件都有读(r)、写(w)、可执行(x)三种权限,对应权限数值为4、2、1,拥有者(u)、同组用户(g)、其他用户(o)可对文件拥有不同权限,具体可通过ls -s filename
或ll filename
命令查看文件的具体信息,该信息包含6个字段,如:-rw-rw-r-- 1 ubuntu ubuntu 0 Jan 9 21:07 test
- 文件类型及权限,包含10个字符
- 第1个字符表示文件类型
- b:块设备,是一些提供系统存取数据的接口设备,例如硬盘
- c:字符设备,是一些串行端口的接口设备,如键盘。b可以随机读取字符,而c只能顺序读取字符
- d:目录
- l:链接
- s:套接字,用于进程间通信
- p:命名管道FIFO,用于进程间通信
- -:一般文件,可分为分文本文件和二进制文件
- 第2-4个字符表示拥有者(u)的权限
- 第5-7个字符表示同组用户(g)的权限
- 第8-10个字符表示其他用户(o)的权限
- 第1个字符表示文件类型
- 文件的链接数
- UID
- GID
- 文件大小
- 文件创建日期和时间
- 文件名
ubuntu使用chmod和chown两个命令管理文件权限
-
chmod用来修改用户的文件权限,有以下两种用法:
- 修改(添加+、取消-)特定用户(拥有者u、同组用户g、其他用户o、所有用户a)的特定权限(读r、写w、执行x),如下示例:
chmod o-w filename //取消其他用户的写权限 chmod u+wx filename //添加拥有者的写、执行权限 chmod a+rwx filename //添加所有用户的读、写、执行权限
- 为所有用户同时指定权限,权限由3位数字标识,每位表示u、g、o用户的权限,4、2、1依次表示w、r、x权限,数字可相加表示组合权限,如下示例:
chmod 777 filename //a都拥有rwx权限 chmod 600 filename //u拥有rwx权限,go不具有任何权限 chmod 421 filename //u拥有r权限,g拥有w权限,o拥有x权限
文件夹的rwx权限说明如下:
- r 读文件夹内的文件信息
- w 在文件夹内创建、修改文件
- x 进入文件夹
- 修改(添加+、取消-)特定用户(拥有者u、同组用户g、其他用户o、所有用户a)的特定权限(读r、写w、执行x),如下示例:
-
chown用来修改文件的拥有者和组,主要用法如下:
chown username[:groupname] filename //修改filname的拥有者为username[用户组为groupname]
hah