Linux基于用户身份对资源访问进行控制
超级用户(root) | uid、gid为0,超级用户是系统管理员,具备系统最高权限 |
---|---|
程序用户 | 每个程序在创建时会自动创建一个程序用户,uid、gid=1-999,一般这个用户只在维护这个程序时才会被使用,一般也不允许此用户使用账户密码登录到系统中去的 |
普通用户 | 系统用户,命令创建,uid、gid=1000+,一般普通用户的权限是有限的 |
1.查询用户账户
cat /etc/passwd全部列出
head【-5】/etc/passwd列出前5个(省略的话,默认列出前10个)
tail 【-5】/etc/passwd列出后5个(省略的话,默认列出后10个)
2.查询用户密码(密文)
cat/etc/shadow
head -5/etc/shadow
tail -3 /etc/shadow
3.添加用户
useradd -u指定uid
-d指定宿主目录
-e指定账户失效时间
-g指定用户基本组
-G指定用户附加组
-M不建立宿主目录
-s指定用户登录shell
4.设置用户密码
passwd+用户名
passwd-d清空密码
-l锁定用户
-S查询用户状态
-u解锁用户
5.修改用户账号属性
usermod-u修改用户uid用户名
-d修改宿主目录
-e修改用户账户失效时间
-s指定用户登录shell
-l更改用户登录名
-L锁定用户
-U解锁用户
-g修改用户所属的基本组
-G修改用户所属的附加组
6.删除用户
userdel 用户名
-r删除用户时将宿主目录也连带删除
7.添加组账户
groupadd 用户名
-g指定组id
8.查询组账户
grep"用户名”/etc/group
9.删除组账户
groupdel 用户名
10.将用户加入指定组中
gpasswd -a用户名组名(用户要已存在)
11.查询账户信息
id 用户名查询用户的uid和gid,所属的基本组,附加组信息
groups 用户名查询用户所属的组
finger 用户名查询用户详细信息
w 查询当前主机用户登录情况
12.将用户从指定组中移除
gpasswd -d用户名组名
13.指定多个用户同时加入某个组
gpasswd -M xxX1,xXx2,XXX3,xxx4 adm(组名)
grep adm /etc/group(查询效果)
14.修改文件的属主和属组
chown属主 属组文件修改该文件的属主和属组
chown属主 只修改该文件的属主
chown:属组 只修改该文件的属组
15.修改目录/文件的权限
chmod-R(递归)+/-x目录
文件/目录的权限和归属
访问权限
·读取r:允许查看文件内容、显示目录列表
删除文件或子目录
●可执行x:允许运行程序、切换目录
■归属(所有权)
●属主:拥有该文件或目录的用户帐号
●属组:拥有该文件或目录的组帐号
●写入W:允许修改文件内容,允许在目录中新建、移动、
权限掩码umask
umask作用
●控制新建的文件或者目录的权限
●默认权限去除umask的权限为新建的文件或者目录的权限
umask设置:umask 022
umask查看:umask
实验
1.新建一个组txt,将用户liming的基本组指向txt。
2.锁定用户liming,查看用户状态,解锁用户liming。
3.删除liming连带宿主目录一起删除。
4.将用户aa,ab,ac添加进txt组。
5.将aa从txt组中删除。
6.删除组txt。
7.查询ab用户的uid,gid和所属的组。
8.查询当前系统登录的账户。
9..新建一个目录,目录下创建一个文件,修改目录及子文件的权限为777。