当一个可执行程序有 setUID 的权限时候 执行这个程序将以程序所有者的权限来执行
给一个命令加上 setUID权限 chmod u+s touch chmod 4755 touch
chmod g+s touch 给这个命令加上 setGID 在执行命令时候 是以命令所属组的权限执行
chmod u+t gwyy 给一个目录创建粘着位 每个用户都能创建文件 但是只能删除自己创建的文件
用户组密码有什么用呢? 可以让不是这个组成员的用户切换到这个组
配置文件
用户信息文件 /etc/passwd
用户密码文件 /etc/shadow 账号info文件
用户组文件 /etc/group
用户组密码文件 /etc/gshadow
用户配置文件 /etc/login.defs /etc/default/useradd
新用户信息文件 /etc/skel
登陆信息 /etc/motd
超级用户组 root GID 是 0
系统群组 伪用户 GID 0---499
用户自定义组 GID 500 -- 4294967293
etc/passwd文件格式
登录名:登录密码位:用户ID:组ID:用户信息:用户目录:用户登录后执行的shell(默认/bin/sh)
username:password:uid:gid:userinfo:home:shell
/etc/shadow
用户名:加密的密码:最后修改时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间:标志
root : 24234tfswriuofdiogu : 14965 : 0 : 99999 : 7 : : :
etc/shadow 密码被删除 用户不需要密码就能登陆
用户组文件 /etc/group
用户名:密码:用户ID:以逗号分割的用户清单
group_name:group_password:group_id:group_members
用户密码文件 /etc/gshadow
用户名:加密后的密码:组成员
group_name:group_password:group_members
添加用户
useradd useradd -g test1 -G test1 gwyy
-u uid 用来指定uid
-g group 定义用户组 用户组必须存在
-G 指定用户次要组 可以是多个 用,分割
-d Home 指定用户主目录
-s shell 指定用户shell程序
-r 建立一个系统用户账号
增加用户后 还必须用passwd 来个用户设置口令 之后可以随时用这个更改口令
passwd username 如果加上 --stdin的话 那么不用交互设置密码 直接这样
echo 123456 | passwd --stdin gwyy
groupadd 创建用户组 groupadd test1
groupadd {参数} groupname
-g GID 指定群组账号标识
-r 指定本组是系统组
-f 强制执行可以建立相同GID的用户组
usermod 修改用户账号 usermod -l gwyy1 gwyy2 只能root用
-u 修改UID
-g group 修改主要数组
-G 修改次要组
-d home 修改家目录位置
-s shell 修改shell
-l newname 修改用户名
-L 锁定用户
-U 解除锁定
usermod -G fuck gwyy 把gwyy添加到fuck组
grep fuck /etc/group 查找group里面 fuck的信息
groupmod 修改组
-n 修改组名称 name
groupmode -n apache web 把web组改成apache
gpasswd -a (add的意思) 用户名 组名 也是把某个用户添加到某个组里面
chgrp 修改文件所属组 chgrp gwyy fuck 把fuck目录所属组设定为gwyy
userdel 删除用户
-r 删除用户主目录 和邮箱
groupdel 删除用户组 groupdel groupname
pwck 检测 /etc/passwd 文件异常
vipw 编辑 /etc/passwd 文件
id 查看用户id和组信息
finger 查看用户详细信息 加上用户名 查看用户详细信息
su - 切换用户 -是改变环境变量
passwd -S 查看用户密码状态 -l 锁定用户 -u解锁
who、w 查看当前登录用户信息
groups 查看用户隶属于那些组
newgrp 切换用户组
grpck 用户组配置文件检查
chgrp 修改文件所属组
vigr 编辑 /etc/grpup文件 锁定
chage 用户名 设定密码
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并退出
-I, --inactive 失效密码 将因过期而失效的密码设为“失效密码”
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小
天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大
天数”
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
限制用户 su 为root
groupadd sugroup
chmod 4550 /bin/su
chgrp sugroup /bin/su
现在 只有sugroup组的人才可以 su
用sudo
普通用户可以以管理员身份执行命令
执行命令可以精确化