在linux系统中,一切皆文件。所以文件管理是基础,重点是了解文件信息和设置文件相关属性。
一、用户/组的基本概念
1、概念:
. 系统上的每个进程(运行程序)都是作为特定用户运行的。
. 每个文件都由一个特定的用户拥有。
. 用户对文件和目录的访问受到限制。
. 与正在运行的进程关联的用户确定该进程可访问的文件和目录。
2.、常用命令:
(1)查看当前登录的用户信息:# id
(2)查看文件的owner(所有者):# ll
-rw-------. 1 root root 1646 8月 7 17:20 anaconda-ks.cfg
-rw-r--r--. 1 root root 9397803 6月 14 19:27 apache-tomcat-9.0.1.tar.gz
-rw-r--r--. 1 root root 1694 8月 7 17:30 initial-setup-ks.cfg
-rw-r--r--. 1 root root 189736377 6月 14 19:31 jdk-8u151-linux-x64.tar.gz
drwxr-xr-x. 2 root root 6 8月 7 17:32 公共
.........
(3)查看运行进程的username(使用者名):# ps aux #之后会详细介绍
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 193700 6912 ? Ss 8月20 1:33 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 8月20 0:00 [kthreadd]
...............
3、用户信息存储的文件(记住)
(1)、/etc/passwd ,总共包含七个部分
# cat /etc/passwd
zjj:x:1000:1000:zjj:/home/zjj:/bin/bash
以冒号为分隔符,包含七个部分,分别是 用户名:密码(不显示):pid:uid:组名:用户文件:登录 shell
(2)、 /etc/shadow ,总共8个部分
# cat /etc/shadow zjj:$6$mX4sYZ2L83PT232n$9Eo/VXg1TAOcnlPWqvsDL4cH3wWULaH7K9nplrvqpZqFLvMnv85rcjOy. Ffg7M9ix8.H2B1KWqN4ceinhE2iX.:17750:0:99999:7:::
以冒号为分隔符,包含8个部分,分别为 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间 隔:警告时间:不活动时间:失效时间:标志
(3)、/etc/group 用户组的信息
# cat /etc/group
tcpdump:x:72:
zjj:x:1000:
包含四个部分,分别为组名:密码:组id(gid):组内用户(默认空)
二、用户/组管理
1、用户管理
(1)、创建用户,不指定任何属性:# useradd user1
(2)、创建用户,指定uid:# useradd user2 -u 1100
(3)、创建用户,指定家目录:# useradd user3 -d /111
(4)、创建用户,指定shell:# useradd user4 -s /sbin/nologin
(5)、创建用户,指定附加组:# useradd user5 -G hr,it
(6)、删除用户,但不删除家目录和mail,spool:# userdel user1
(7)、删除用户,并且删除一同创建的文件:#userdel -r user2
(8)、修改用户密码,语法:passwd + 用户名
(9)、组成员管理:覆盖原有的附加组:# usermod -G hr user5
增加新的附加组:# usermod -aG hr user4
2、组管理
组分为基本组和附加组,基本组是跟随用户创建的组,附加组为后期用户加入的组
(1)、创建组:# groupadd hr
(2)、删除组:# groupdel hr
(3)、修改用户user1的组为user2:# usermod user1 -g user2
(4)、修改用户user3的附加组为user4:# usermod user3 -G user4
小结:1 useradd是创建用户的命令。
2 usermod是修改用户的命令。
3 groupadd是创建组的命令。
4 -u 指定用户的UID。
5 -g 指定用户的基本组。
6 -G 指定用户的附加组。
7 /etc/passwd 可以查看的是用户的基本组。
8 /etc/group 可以查看用户的附加组。
三、生产环境操作
1、生产环境手动创建用户
创建 用户:# useradd ftp
修改 密码:# echo 111111 |passwd --stdin ftp
下次登录改密:# chage -d 0 ftp
2、将多个用户加入到指定的组
# gpasswd -a user1 hr
正在将用户“user1”加入到”hr“组中
# gpasswd -a user2 hr
、、、有多少用户就执行多少次命令
3、替换某个组的所有成员
# gpasswd -M user2,user3 hr
#cat /etc/group
hr:x:1101:user2:,user3
4、删除组中的某一成员
# gpasswd -d user2 hr
正在将用户“user2”从“hr”组中删除
# grep hr /etc/group
hr:x:1101:user3