Linux_用户权限管理

网友投稿 725 2022-05-30

目录

目录

用户管理

useradd创建用户

userdel删除用户

usermod修改用户账号

passwd修改用户密码

用户权限设置

用户组管理

查看用户的属组

修改用户组gpasswd

为没有家目录的用户建立家目录

生产环境中隐藏root用户

umask控制文件或目录创建时的初始权限

linux的系统权限

ACL

用户管理

Linux和Windows用户不能单独存在,必须属于一个或多个组。

用户信息存储位置:

1. Windows userInfo :c:\windows\system32\config\sam 数据库中

2. linux userInfo:

/etc/passwd

/etc/shadow

/etc/group

Linux_用户权限管理

/etc/gshadow

Linux user属性:

配置文件:/etc/login.defs (创建User的默认属性设定)

RHEL7:

管理员用户 0

系统用户 1-200 Linux管理用户

系统用户 201-999 Linux服务用户

普通用户 1000-60000

useradd创建用户

常用选项:

-u 指定UID -s 指定登陆后默认的shell -d 指定家目录 -g 指定主组(只有一个属组) -G 指定附加组(有属组、附加组) -M 不建立家目录

1

2

3

4

5

6

注意:Linux管理员组是wheel,并不是把用户加入到root组,用户就能成为管理员。

userdel删除用户

-r 删除用户家目录

1

usermod修改用户账号

-L 锁定用户 (不能login) -U 解锁用户

1

2

passwd修改用户密码

echo xxx | passwd --stdin 用户名 设定passwd

1

设定用户密码使用策略:

chage -d 0 用户名 -- 下次登录强制修改密码 chage -d 2015-04-01 jmilk 在 2015-04-01 强制用户修改密码 chage -E 2015-12-31 jmilk 在 2015-12-31zhangsan 密码过期 chage -l zhangsan 查看用户的密码策略

1

2

3

4

用户权限设置

Example:

chmod ugoa+-/=/number fileName/directoryName #修改文件或目录的权限 chown userName:groupName fileName/directoryName #修改文件或目录的属主、属组

1

2

setuid:拥有者的强制位(u[+|-]s),一般指令设置setuid后,能够让普通用户在执行该指令的时候,使用root的权限来执行此指令。

setgid:组的强制位(g[+|-]s),为目录设置setgid后,此目录下的文件或目录继承上一级目录的属组,一般用于生产中的团队文件管理。

sticky:(冒险位,粘滞位o[+|-]t)谁创建的文件或目录就只有谁能够进行删除操作,一般用于共享目录。

用户组管理

groupadd:创建组

groupdel:删除组,前提此组不能是某个用户的主组

查看用户的属组

id userName groups userName

1

2

修改用户组gpasswd

将一个user加入到group中:

gpasswd -a 一次加一个用户

gpasswd -M 一次加入多个用户

将一个user从组中删除:

gpasswd -d userName groupName

为没有家目录的用户建立家目录

mkdir /home/jmilk chown jmilk:jmilk /home/jmilk chmod 700 /home/jmilk cp -av /etc/skel/.[!.]* /home/jmilk #/etc/skel建立用户家目录的模板目录,若想对将来新建用户进行统一个性化设定,可以现在模板目录内设定。

1

2

3

4

生产环境中隐藏root用户

使root成为普通用户,使普通用户成为超级管理员(系统只要识别UID=0,就认为是超级管理员)

直接编辑/etc/passwd文件:

root:x:1005:1005:root:/home/jmilk:/bin/bash jmilk:x:0:0::/root:/bin?hask

1

2

umask控制文件或目录创建时的初始权限

文件的默认权限:666-umask(两者为偶数的可以相减得出,否则不能)

目录的默认权限:777-umask

改变umask并使之永久生效:编辑/etc/profile中的umask值

Linux的系统权限

系统权限是针对文件系统的权限,与用户权限无关

lsattr fileName #列出文件的系统权限 lsattr -d dirName #列出目录的系统权限 chattr +a fileName #文件可以追加,不可以删除、修改 chattr +i fileName #文件不可以追加、修改、删除 chattr +j fileName #立即存储

1

2

3

4

5

ACL

一般使用chmod、chown全局设置权限,再使用acl进行局部调整。

getfacl fileName #显示此文件是否设置了acl

设定用户对未来创建的文件或子目录的权限:

setfacl -m d:u:用户名:权限 文件|目录 setfacl -m g:组名:权限 文件|目录 setfacl -m d:u:jmilk:rw- /abc #d:default,用户在abc目录中建立文件或子目录,jmilk都有rw权限 setfacl -x 删除acl setfacl -b 删除全部acl

1

2

3

4

5

注意:文件或目录的权限标识的意义

-rw——- test ⇒ 设置权限前

-rw-rwx—+ test ⇒ acl设置权限后

rw- 表示拥有者的权限

rwx 表示第一个acl用户的权限

— 表示第1个 acl 组的权限

+表示后面还有但没有显示

Linux 统一身份认证服务 IAM

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:多线程 VS 多进程(三)
下一篇:面试官:Redis中集合数据类型的内部实现方式是什么?
相关文章