用户和权限管理shell
用户、组是计算机实现资源分配和安全的一种机制。安全
组管理:bash
添加组:groupadd [选项] group ide
-g GID:指明GID;ui
-r, --system:系统组;加密
修改组信息:groupmod [选项] GROUP spa
-g GID 递归
-n NEW_NAME:修改组名;进程
组删除:groupdel [选项] GROUP资源
组解析库文件:/etc/group
GRPNAME:x:GID:user1, user2, ...
组名:密码点位符:GID:以此组为附加组的用户列表,以逗号分隔
gpasswd命令:为组添加密码 组密码文件:/etc/gshadow
组中用户管理:gpasswd [选项] group
-a USERNAME:把用户添加至组中;
-d USERNAME:今后组中移除此用户;
newgrp命令:登陆到一个新组
用户管理
添加用户:useradd [选项] 登陆名
-c, --comment COMMENT:注释信息,通常为Full Name;
-d, --home /PATH/TO/HOME_DIR:家目录路径;目标路径不能事先存在,不然会有警告,不会得利skel相关的文件给用户;
-g, --gid GROUP:用户的基本组组名或GID;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;
-m, --create-home:强制建立家目录;
-M:不建立用户主目录,即便系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes; -r, --system:建立一个系统帐户
-s, --shell SHELL:用户的登陆 shell 名,默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登陆shell;
-u, --uid UID:用户 ID 的数字值。此值必须为惟一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于UID_MIN,且大于任何其余用户 ID 最小值。
注意:建立登陆用户时,为其自定义的shell程序必须为可登陆shell,且要位于/etc/shells文件中;
useradd -D:显示建立用户时的默认设定
-e, --expiredate EXPIRE_DATE:用户帐号的过时期限;过时后会被锁定;日期以 YYYY-MM-DD 格式指定
-f, --inactive INACTIVE:密码过时后,帐户被完全禁用以前的天数。0 表示当即禁用,-1 表示禁用这个功能。
为用户提供默认配置的配置文件:/etc/login.defs, /etc/default/useradd
修改用户信息:usermod 选项 用户名
-c, --comment COMMENT
-d, --home HOME_DIR:修改家目录为新的位置,但通常应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;
-g, --gid GROUP
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;
-l, --login NEW_LOGIN:修改当前用户的用户名;
-s, --shell SHELL
-u, --uid UID
-L, --lock:锁定用户的密码。这会在用户加密的密码以前放置一个“!”
-U, --unlock:解锁用户的密码。这将移除加密的密码以前的“!”
删除用户帐号:userdel [选项] 登陆名
-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一块儿删除
passwd命令:密码管理命令
passwd [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [--stdin] [username]
选项:
-l:锁定密码 -e DATE:过时期限 -x DATE:密码的最长使用期限
-u:解锁解密 -i DATE:非活动期限 -w DATE:警告期限
-d:清除密码 -n DATE:密码的最短使用期限 --stdin:标准输入
(1) passwd:修改本身的密码;(2) passwd username:修改其它用户的密码,仅root有此权限;
密码存放位置:/etc/shadow
登陆名:密码:最近一次的修改时间:密码的最短使用期限:密码最长使用期限:提早警告的天数:非活动期限:帐号的禁用日期:保留字段
权限管理
进程安全上下文:
进程:运行一个程序文件而产生,一般由一个用户发起;进程则以发起者的身份运行;
判断进程的发起者是否与文件属主相同,若是是,则以属主的身份来访问,从而应用属主权限;不然
判断进程的发起者是否属于文件的属组,若是是,则应用属组权限;不然应用“其它”权限。
文件系统文件权限有三类用户owner、group、other,他们分别有r(读)、w(写)、x(执行)能够指派
权限表示: 8进制
owner: rwx 4(r) 2(w) 1(x) 例如:rwxr-xr-x:755
group: rwx
other: rwx
chmod命令:做用:change file mode bits
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... --reference=RFILE FILE...
MODE:赋权表示法:直接操做一类用户的全部权限位rwx;
一、u= g= o= a=
二、两类用户权限相同:ug=, go=
不一样类的用户权限不一样:u=,g=,o=
受权表示法:操做一类用户一位或多位权限;
三、u+, u- g+, g- o+, o- a+, a-
两类用户权限收授机制相同:ug+, ug-, ...
四、不一样类的用户权限不一样:u+,g+,o+
--reference=RFILE:RFILE表示参考其权限模型;
经常使用选项:-R, --recursive:递归修改;
文件属主修改chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
经常使用选项:-R, --recursive:递归修改;
文件属组修改:chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
umask:显示或设定文件模式掩码 永久生效在/etc/bashrc 中修改
文件:666-umask
目录:777-umask
注意:之因此文件用666去减,表示文件默认不能有执行权限;若是减得的结果中,u,g或o有执行权限时,则须要加1;
显示:umask 设定:umask MASK 注意:此设定仅对当前shell进程有效;