1225

 

关于用户和组的四个文件:
用户账号信息:。/etc/passwd
用户密码信息:/etc/shadow
组信息:/etc/group
组密码信息:/etc/gshadow
对于linux系统而言,用户分为管理员 系统管理员   普通用户
组又分为 私有 公有 系统组 对用户而言 组分为 基本组 和附加组
增加用户的命令:
Useradd -u uid 为增加的用户指定uid
-g gid 指定gid (用户所属的基本组)
-G gid (用户所属的附加组)
-s Shell类型
-c 改变用户的说明信息
-d 家目录 改变家目录的位置
-M 不为此用户创建家目录
-m 强行创建家目录
-l 改组名
-r 系统用户
Chsh 为用户改变Shell类型
使用usermod 可以修改用户的信息
Usermod支持useradd的大多选项 但在usermod中 -G 和-a一起使用 (如不一起使用会覆盖原有的基本组)例如:usermod -a -G 组 用户 把组作为用户的附加组。-d和-m一起用 -l 修改登录名 -e 改变用户的过期时间
Passwd -l 锁定用户 -u 解锁 -f 修改密码   -x 修改密码的最长使用期限
Echo "123456" | passwd -stdin gao (为高用户创建密码)
Groupadd -g gid 为添加的组指定gid    -r改为系统组 -n 修改组名
Gpasswd 给组加密码 
重点内容:
给脚本添加选项:用getopts。 Getopts一次只能用一个选项 所以要用while 循环。Getopts 的三个变量 OPTIND OPTARG OPTERR
Getopts 可以直接调用这三个变量。
OPTARG 是变量后面跟的参数,参数的值可以通过它来引用。
OPTIND是索引 指针 在选项之间 没处理一个就移动一次 直到移动到最后为止。
OPTARG是当OPTIND在某一个特定选项时,可以使用OPTARG来调用这个特定选项的参数。
umask值(目录和文件权限的反掩码值) :默认的umask值为022 。对文件而言:系统默认的文件权限为666 目录777 并不是最终权限要根据umask值
 系统默认的最终权限为664     目录:755
       用umask命令可以设置umask值 。但是只是临时生效的要永久设置在/hoem/profile里设。不管你的umask设成多少 都不能让文件有执行权限。
文件权限:
特殊权限:suid sgid sticky粘滞位
setuid(s)以属主的身份执行该文件(chmod u+s 文件名 用数字为4 若原先没有执行权限则为s 若有则为S)
sgid(s)与suid具有相同的属性,文件以目录的属组执行。Sgid 组里的成员文件可以互相删除组里其他用户的文件( Chmod g+s 文件名 用数字表示为2 若原先没有执行权限则为s 若有则为S)
sticky (t)针对目录而言:一旦目录设置了改参数就表示在此目录中,只有文件的拥有者,目录的拥有者及root可以删除该文件,其他用户不能删除 通常用于专项目录( Chmod o+t 文件名 用数字表示为1 若原先没有执行权限则为t若有则为T)
Trap 信号捕捉命令 格式:trap '命令’信号
数组:例子
Gao=(1 2 3 4) echo ${gao[2]} 结果是3 (理解) 可以用$RANDOM产生随机数。