用户权限管理
linux 系统中,root的权限是最高,UID是0,可以执行任何命令和操作,同时也是最危险的,尽量把权限做到最小化。
区分用户权限级别的是UID(唯一),uid=0,root。其他uid依次递增,可以通过/etc/passwd文件查看用户的信息。
1.权限与数字对应关系
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
无权限 | - | 0 |
2.文件或者目录,都有相应的属主属组
[root@ /root] alibaba cloud
#ll a.sh
-rwxr-xr-x 1 root root 160 5月 8 18:32 a.sh //该文件的属主root,具有rwx=7,属组都为root 具有rx=5,other的权限rx=5
3.修改属主 属组
chown test:test a.sh //-R 递归,修改目录里所有子目录和文件的属主属组,包括目录
4.修改属主属组的权限
u ===> 属主
g ===> 属组
o ===> 其他人
a ===> 所有
+ 添加 -减少 =重置
[root@ /root] alibaba cloud
#chmod u-w a.sh //这种一般不常用
5.常用修改权限的方法
chmod 755 a.sh //a.sh 属主具有rwx ,属组具有rx ,其他具有rx
6.umask 权限掩码
root:0022 ---->新建的目录权限755 文件644
普通用户:0002 ---> 目录775 文件664
附加:
useradd //添加用户
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-e<有效期限>:指定帐号的有效期限;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群;
-M:不要自动建立用户的登入目录;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id
eg:useradd xiao //默认创建账号
usermod 修改账户信息
-c<备注>:修改用户帐号的备注文
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
eg: usermod -l usernew1 usernew //更换账户名
passwd 设置密码 // /etc/shadow 存放着用户的密码信息
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-S:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
eg:passwd -l user
gpasswd命令是Linux下工作组文件/etc/group
和/etc/gshadow
管理工具。
-a:添加用户到组; -d:从组删除用户; -A:指定管理员; -M:指定组成员和-A的用途差不多; -r:删除密码; -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
eg:groupadd -g 344 linuxde //建立一个新组,并设置组ID加入系统