linux 账号管理

用户

1. 账号存储在 /etc/passwd 文件下,密码存储在 /etc/shadow 文件下

2. 每个用户都有 UID  和 GID , 分别标识 用户id和用户组id, 文件上的所属的用户和用户组记录的就是 UID 和 GID.

3.root用户的UID是0,换句话说,只要UID是0就可以分配用于访问所属人是root的文件和文件夹的权限.

4. 一般情况下不直接修改/etc/shadow文件去修改密码,用root用户登录系统后,使用passwd修改密码即可.

用户相关命令:

1 useradd 创建用户  

2. passwd [用户]  给用户分配密码

3. useradd创建的用户 使用的是 /etc/default/useradd 的模板

4. chage [用户]  根据不同的参数进行不同用户密码操作.

5. usermod [用户]  可以在 useradd 创建用户后进行调整.

6. userdel [用户]  删除用户

7. id [用户]  列出 相关用户的 uid 和 gid

8. finger [用户]  查询  需要先用 yum  安装 finger软件, 可以列出 passwd文件相关的东西

9. chfn [用户]  修改 finger输出的信息.

10. chsh -s [shell]  设置自己的shell,目前没看出来有什么用.

11. /sbin/nologin 利用 useradd -s /sbin/nologin设置后,该用户就无法登陆系统

用户组

1.在用户有多个用户组的情况下,创建的文件的所属用于组是哪一个取决于用户组,就是 groups 命令输出后的第一个用户组.

2.newgrp可以切换有效用户组,但是无法切换不支持的用户组.

用户组相关命令

1. groupadd  [用户组名称]  添加一个新的用户组

2. groupmod   -g [新gid] -n  [新用户组名称] [用户组]  修改用户组信息

3. groupdel [用户组]  删除用户组,没有用户使用用户组为初始用户组的情况下才可以删除

4. gpasswd  建立用户组管理员,管理用户组

外部权限 

比如使用外部系统如LDAP登陆,在centos系统下,可以使用  authconfig-tui命令

 

 

直接使用这个命令设置就可以

详细权限规划:ACL

因为用户组和用户的权限比较单一,不能根据不同用户和不同用户组进行额外的设置,所以有了 ACL访问控制列表

1. 查看系统是否支持 ACL, dmesg | grep -i acl

2. 读取ACL信息   getfacl 

3. 设置ACL  setfacl  

比如:

setfacl -m u:vbird1:rwx acl_test1 给vbird1用户分配acl_test1的读写执行权限

 

 

 

我们可以看到在权限最后出现了+号.  格式为 [u:用户:权限].

其他情况:

特定单一用户组权限设置: setfacl -m g:mygroup:rx file_test

有效权限: setfacl -m m:r file_test  file_test的最大权限只有读权限,mask代表了最大权限

权限继承: setfacl -m d:u:myuser:rx /srv/project /srv/project下面的目录和文件都会继承u:myuser:rx权限.

权限取消: 所有权限-b ,  -x  单一权限的取消.

 

 

 

 

 

 

 

posted @ 2021-12-15 21:54  随意的马蒂洛克  阅读(56)  评论(0编辑  收藏  举报