//创建test用户,指定工作目录为/usr/test, 指定用户所属的群组root,
useradd -d /usr/test -g root test
//设置密码
passwd test
修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0,
例如tommy❌0:33:tommy:/data/webroot:/bin/bash
//默认在/home 目录创建一个和用户名相同的文件夹作为新建用户的主目录
useradd test
// 删除用户 user01, 保留用户主目录
userdel test
// 删除用户 user02, 并同时删除用户主目录
userdel -r test
passwd test
锁定帐户,使其它不能登陆
passwd -l test
usermod命令
参数:
-c comment, 设置帐户注释
-d home_dir, 设置用户主目录
-e expiredate, 设置帐户过期日期
-g group, 强制修改用户的新主组
-G groups, 修改用户新的附加组列表
-a append group, 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户
-u uid, 修改账户的用户ID
-l login, 设置用户的登录名称
-s shell, 修改用户登录后使用的 shell
-L lock, 锁定用户帐户(等同于 passwd -l 命令锁定账户)
-U unlock, 解锁用户帐户(等同于 passwd -u 命令解账户)
例子:
usermod -g group01 user01 // 把用户 user01 的主组修改为 group01 组
usermod -u 9999 user01 // 把用户 user01 的 ID 修改为 9999
usermod -l u1 user01 // 把用户 user01 的名称修改为 u1
usermod -aG sudo user01 // 把 组sudo 添加到用户 user01 的附加组列表, 使该用户拥有执行 sudo 命令的权限
账户信息保存以/etc/passwd文件里,格式如下
Username : Password : User ID : Group ID : Comment : Home Diretory : Login Command
用户名 : 密码 : 用户ID : 组ID : 用户注解 : 主目录 : 登录后执行的命令
其中 密码字段 只显示一个特殊字符“x”或“*”, 加密后的密码存放在 /etc/shadow 文件中, 只有超级用户才能访问。
查看用户名: cat /etc/shadow
查看组: cat /etc/group
chmod命令
ls -l或者ll如下:
drwxr-xr-x 6 root root 4096 Jan 12 11:18 soft
-rwxrwxrwx 1 root root 433 Jan 11 11:20 startAll.sh
共10位。横线“-”表示是文件,“d”表示是目录或文件夹。后面3位一组,共9个字符。每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
权限字符用横线"-"代表空许可,r代表只读,w代表写,x代表可执行。
如上面代码所示每个字母位置代表2进制的数字:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
权限设置2种形式:
1.包含字母和操作符表达式的文字设定法;
2.包含数字的数字设定法。
推荐使用第一种,因为表示比较清楚,第二种对老手来说较方便。
权限设置对应:文件属主u,与文件属主同组用户g,其他用户o删除执行权限顺序设置。
语法:chmod [who] [+ | - | =] [mode] 文件名
chmod是命令名
who值有:文件属主u,与文件属主同组用户g,其他用户o,所以用户a
操作:+增加权限,-删除权限,=表示只有指定的权限
mode值解释:r :读权限。w :写权限。 x :执行权限。- :删除权限。
比如
chmod u+r test.sh
chmod u-r test.sh
chmod u=r test.sh
**其它组权限设置如上一样,只是把“u”换成“g”或“o”或"a"。可以多组设置,中间用逗号隔开如下:chmod u+r,g+x test.sh
语法:chmod [mode] 文件名
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
其顺序是(u)(g)(o)。我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。
例如想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
例如
chmod 751 file
说明:
给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chown命令
语法:chown [选项]… [所有者][:[组]] 文件…
功能:通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
chown ssh:ssh log.log
chown chenyuan log.log
chown :ssh log.log
chgrp命令
chgrp users aa.txt // 把文件 aa.txt 的所在组修改为 组users
chgrp -R users bbDir // 递归修改 目录bbDir 的所在组为 组users
chmod与chown区别和联系。
chmod:ch是change缩写,mod是权限,作用是重新设定不同的访问权限
chown:ch同上,own是拥有者,作用是更改某个文件或目录的所有者
chgrp:ch同上,grp是group缩写,作用是更改某个文件或目录的用户组。
groupadd test01 // 新建名称为 test的组
groupadd -g 1001 test// 新建名称为test2 的组, 并给指定组的 ID 为 1001
groupdel test01//删除test01组
groupmod -n test01 test02 //将组test01名修改为test02
who命令
who // 显示当前所有已登录的用户
who -q // 显示当前所有已登录的账号名称和总人数
who am i // 显示当前会话的用户的信息
who -m // 显示当前会话的用户的信息
who -uTH // 显示当前所有已登录的用户信息(包括 闲置时间, 用户状态, 各列标题)
//显示已登陆用户
who
结果
[root@hlcserver-0002 ~]# who
root tty1 2018-12-28 11:59
test pts/0 2018-01-17 13:22 (115.213.76.204)
踢出nginxx用户
pkill -kill -t pts/0
查看登录成功的用户记录
last root //查看root用户所有的登录成功记录
last //默认查看当前用户的所有登录成功记录
查看登录不成功的用户记录
lastb root //查看root用户所有的登录失败记录
lastb //默认查看当前用户的所有登录失败记录
whoami命令
finger nginxx //finger需要安装,yum install -y finger
结果如下
[root@hlcserver-0002 ~]# finger nginxx
Login: nginxx Name:
Directory: /home/nginxx Shell: /bin/bash
On since Wed Jan 16 13:22 (CST) on pts/0 from 115.213.76.204
46 minutes 42 seconds idle
On since Wed Jan 16 14:05 (CST) on pts/1 from 115.213.76.204
2 seconds idle
No mail.
No Plan.
id nginxx
结果如下
[root@hlcserver-0002 ~]# id nginxx
uid=0(root) gid=0(root) groups=0(root)
类型 | 举例 |
---|---|
用户 | who, whoami, su, useradd, userdel, passwd, usermod, /etc/passwd |
组 | groupadd, groupdel, groupmod, /etc/group |
文件 | chmod, chown, chgrp |
其他 | sudo, exit |