程序输出的返回值
标准输出返回值:0
标准错误输出返回值:1-255
echo $? 来获取返回值
/dev/null: 设备数据(数据黑洞)
可将无用的信息输出至 /dev/null 如 ls /var &> /dev/null
set -c : 在覆盖前提示用户
用户&组: 实现资源分派的核心要素
组: 用户和权限的容器,方便管理权限相同的用户
用户的分类:
管理员administrator ID为0
系统用户 system user 1-499 非交互式,deamon,类似于win中的service.
普通用户 users 500以后
-- userID(numeric) /etc/passwd/ 存放用户信息
/etc/shadow: 存放密码
/etc/group
/etc/gshadow 组的密码
名称解析 用户名与用户ID的解析
组ID同用户ID
管理组 0
系统组 1-499
普通用户组 500+
3A认证:
Authenticatioin: 密码库
Authorization:通过属主属组来实现
Audit,通过操作日志来实现
权限:一切皆文件
文件:
r
w
x: eXcute, 提交给内核运行的权限,
目录:
r: 可以ls
w: 创建或删除
x: 可以cd至该目录,或ls显示该目录元数据信息
ls -la 九位权限, 属主,属组,后三位其它用户
用户访问文件时的权限匹配模式:(mode)
1,运行该进程的属主是否与文件属主一致,是则以属主权限运行,否则进入step2,
2,检查是否与属组一致,否则进入step3
3, 以其它用户身份执行
密码文件:
/etc/shadow
格式需要了解,冒号隔开的7个字段
account:passwd:UID:GID(基本组):GECOS(optional,comments):
directory(家目录):shell(用户的默认shell) /etc/shells
用户所属的组:
基本组;
额外组(附加组)
useradd:
useradd USER1
ls -l `which useradd` which adduser
如果创建时未指定基本组,则创建与该用户同名的组作为其基本组。(私有组)
options:
-u: UID 指定用户ID useradd -u 888 USERNAME
-g: GID 指定基本组 useradd -g testgroup or 888 USER
-G: 指定额外组
-c: comment,加注释信息
-d: 家目录,若此目录事先存在,会有warning, 复制/etc/skel (skeleton)
useradd -d /tmp/test/ USER
-s: 指定shell, /etc/shells中的一种,使用绝对路径
useradd -s /bin/tcsh USER echo $SHELL 查看
-M: 不指定用户家目录
-r: 创建系统用户(非登录用户,所以没有家目录)
groupadd:
三个冒号分隔的4个字段 /etc/group
groupname:passwd(点位符x):GID:user_list(seperated by comma,以之作为额外组)
option:
-g: GID
-r: 系统组
groupdel
userdel
原文地址:http://41080138.blog.51cto.com/2587513/1840809