1.用户管理
操作系统中必须要有用户存在,用户必须依赖用户组存在。配置文件:
用户信息文件:/etc/passwd
用户组信息文件:/etc/group
用户密码信息文件/etc/shadow
/etc/passwd存放内容是用户的信息,本地系统的用户信息全存放在/etc/passwd。
/etc/passwd每一行都记录了一个用户信息,每一行由7列构成,每一列用冒号(:)分开,记录了不同信息。
/etc/shadow每一行都记录了一个用户的密码信息
修改密码:
passwd #修改当前用户的密码
passwd 用户名 #修改指定用户的密码 root可以修改任何用户的密码,普通用 户只能修改自己的密码。
参数
-d #删除指定帐户的密码 (仅限 root 用户)
-l #锁定指定帐户的密码 (仅限 root 用户)
-u #解锁指定帐户的密码 (仅限 root 用户)
-e #让指定用户的密码过期(仅限 root 用户)
echo "12345" | passwd --stbin 用户名 >/dev/null #修改用户的密码为12345,并将输出清空
change -d 0 用户名 #强制用户下次登陆必须修改密码id 用户名 #查看指定用户的简要信息,能看到附加组的信息。
grep 用户名 /etc/passwd #查看指定用户的详细信息
添加用户
useradd 用户名 #添加用户
-u #设置用户UID
-g #设置用户GID或者指定用户组 useradd -g 2555/用户名
-d #设置家目录 注: 普通用户家目录都在/home下
-s #设置登陆shell (/sbin/nologin 不可登陆shell——
-c #设置描述信息
注意:对用户的操作只能由Root用户进行。
注意:
1.当添加的用户没有指定所属组,系统会默认指定一个同名组。改组成为该用户的private group。
2.如果一个用户属于多个组,默认情况GID就是他的primary group,其他组就是该用户的attached group(附加组)。在/etc/passwd中只会存放primary group。
修改用户信息
usermod 用户名 -u 2333 -G 2500 #修改指定用户的
参数
-u #修改UID
-g #修改primary group
-G #修改附加组,用户默认只能有一个
-aG #加入一个以上的附加组
gpasswd -a 用户名 用户组 #可以添加多个附加组到用户
gpasswd -d 用户名 用户组 #从组中删除用户
删除用户
userdel 用户名 #删除用户
参数
-r 删除用户的同时删除家目录和邮件注意:在删除用户时,默认不会删除用户的家目录和邮件
添加用户组
groupadd -g 2500/组名 #添加指定组名或GID的用户组
-g 设置GID删除用户组
groupdel 用户名 #删除指定用户组练习题:
2.权限管理
rwx ,r表示read读权限,w表示write写权限,x表示excute执行权限。su - 用户名 #切换用户,在root用户下切换到任何用户都不用输入密码。
注意:1.对于普通文本文件,r就表示能查看,w表示能够修改,x就表示能执行(将文本里的每一行都当作命令来执行)。
2.对于目录文件的权限,r表示能查看目录中文件的属性,w表示能在目录中创建或者删除文件,x表示能够进入目录。
3.对于目录只有三种权限有意义:--- 无权限 ,r-x读权限,rwx写权限
修改权限
chmod u/g/o/a+/-/=rwx file
u 拥有着
g 所属组
o 其他人
a 所有人
-R 递归修改,修改文件夹的权限后,文件夹下的文件全都变为对应的权限
还可以将x权限赋值为1,w赋值为2,r赋值为4,用数字的方式修改文件的权限。
特殊权限
(1)SET UID特殊权限
chmod u+s file #将文件加上SET UID权限
如果一个文件被设置了SET UID 特殊权限,一旦该文件被执行的时候,执行者会临时获得该文件拥有着的权限。
如果在拥有着权限x的位置有一个s就表示该文件被设置了SET UID特殊权限。(2)SET GID特殊权限
chmod g+s file #将文件加上SET GID特殊权限
注意:SET GID特殊权限是针对目录设置的。
如果目录设置了特殊权限,那么任何人在该目录下创建的文件,所属组都会变成该目录的所属组。如果一个目录中的group权限中的x被换成了s,那么该目录就被设置了SET GID特殊权限。
(3)sticky 强制冒险位
该特殊权限是针对目录设置的,如果目录的其他人权限x被设置为t,表示该目录被设置为强制冒险位。
如果一个目录被设置为stisky,那么任何人在该目录下创建文件,只能被自己或者root删除。
练习题: