Linux_用户权限管理
云物互联发表于2021/08/0601:02:572021/08/06
【摘要】目录目录用户管理useradd创建用户userdel删掉用户usermod更改用户帐号passwd更改用户密码用户权限设置用户组管理查看用户的属组更改用户组gpasswd为没有家目录的用户构建家目录生产环境中隐藏root用户umask控制文件或目录创建时的初始权限Linux的系统权限ACL用户管理Linu系统ndows用户不...
目录
用户组管理为没有家目录的用户构建家目录生产环境中隐藏root用户umask控制文件或目录创建时的初始权限Linux的系统权限ACL
用户管理
Linux和Windows用户不能单独存在,必须属于一个或多个组。
用户信息储存位置:
1.WindowsuserInfo:c:windowssystem32configsam数据库中
2.linuxuserInfo:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
Linuxuser属性:
配置文件:/etc/login.defs(创建User的默认属性设定)
RHEL7:
管理员用户0
系统用户1-200Linux管理用户
系统用户201-999Linux服务用户
普通用户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)linux认证,为目录设置setgid后,此目录下的文件或目录承继上一级目录的属组,通常用于生产中的团队文件管理。
sticky:(冒险位,粘滞位o[+|-]t)谁创建的文件或目录就只有谁才能进行删掉操作,通常用于共享目录。
用户组管理
groupadd:创建组
groupdel:删掉组,前提此组不能是某个用户的主组
查看用户的属组
id userName
groups userName
- 1
- 2
更改用户组gpasswd
将一个user加入到group中:
gpasswd-a一次加一个用户
gpasswd-M一次加入多个用户
将一个user从组中删掉:
gpasswd-duserNamegroupName
为没有家目录的用户构建家目录
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成为普通用户linux home下没有超级管理员用户,使普通用户成为超级管理员(系统只要辨识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的系统权限
系统权限是针对文件系统的权限linux home下没有超级管理员用户,与用户权限无关
lsattr fileName #列出文件的系统权限
lsattr -d dirName #列出目录的系统权限
chattr +a fileName #文件可以追加,不可以删除、修改
chattr +i fileName #文件不可以追加、修改、删除
chattr +j fileName #立即存储
- 1
- 2
- 3
- 4
- 5
ACL
通常使用chmod、chown全局设置权限红联linux论坛,再使用acl进行局部调整。
getfaclfileName#显示此文件是否设置了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组的权限
+表示旁边还有但没有显示