文章目录
- 修改用户账号的属性
- usermod
- 格式
- 常用选项
- 用户账号的初始化配置文件
- 文件来源
- 主要的用户初始配置文件
- 组账号文件
- 添加组账号
- groupadd
- 格式
- 常用选项
- 其他选项
- 删除组账号
- groupdel
- 格式
- 查询账号信息
- groups
- 格式
- id
- 格式
- finger
- 格式
- W、who、users
- 格式
- 文件/目录的权限和归属
- 访问权限
- 归属(所有权)
- 设置文件和目录的权限chmod
- chmod
- 格式
- 常用选项
- chown
- 格式
- 常用选项
- umask
- 格式
- last
- 格式
- 选项
修改用户账号的属性
usermod
格式
usermod +选项 +用户名
常用选项
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-U 解锁用户账户
与useradd命令选项相同
-u 修改用户的 UID 号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
-g 修改用户的基本组名(或使用 GID 号)
-G 修改用户的附加组名(或使用 GID 号)
-s 指定用户的登录 Shell
例: usermod -l adc add
例:usermod -L adc
例:usermod -U adc
用户账号的初始化配置文件
文件来源
新建用户创建账号时,从/etc/skel目录中复制而来
主要的用户初始配置文件
~/.bash_profile(文件中的命令将在该用户每次登录时被执行)
~/.bashrc (文件中的命令会在每次加载)
~/.bash_logout(文件中的命令将在用户每次退出登录时执行)
都是账号模板目录/etc/skel/隐藏文件
运行过程
1 .bash_profile:示例代码中为用户添加了2个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath.
2 .bashrc :例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)可以立刻加载修改后的设置,使之生效
一般会在.bash_profile文件中显式调用.bashrc
登陆linux启动bash时首先读取/.bash_profile文件,/.bashrc就得到执行,个性化设置生效
环境变量的读取顺序:
用户登录 ->> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效
3 .bash_logout
用途: 用户登出时执行的命令
添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文件
理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务
在“.bashrc”等文件中,可以添加用户自己设置的可执行语句(如 Linux 命令行、脚本控 制语句等),以便自动完成相应的任务
例:用vim编译器可以编辑.bashrc,比如添加别名可以在文件运行时加载
例:在当前用户登出时,打印出Logout 和当前的时间echo “Logout, date
”
ZZ
例:在当前用户登出时,删除历史记录
或者echo “history -c” >> ~/.bash_logout也可以用vim编辑器将history -c填入~/.bash_logout
组账号文件
和用户账号文件相似
/etc/group: 保存组账号基本信息
/etc/gshadow: 保存组账号的密码信息
或者 cat /etc/gshadow|grep root
root组账号名
zhangsan yi add 组成员列表
添加组账号
groupadd
格式
groupadd -g GID +组账号名 添加和组账号,并设置一个GID
gpasswd +选项 +组账号名 设置组账号密码(用的不多),添加删除组成员
常用选项
-a 添加用户到组
-d 从组删除用户
-M 指定组成员和-A的用途差不多,以“,”分隔
其他选项
-A 指定管理员
-r 删除密码
-R 限制用户登入组,只有组中的成员才可以用newgrp加入该组
例:groupadd -g 1100 kfc
或者groupadd kfc
例:gpasswd -a yi kfc
例:group -M root,zhang3,li4
删除组账号
groupdel
格式
groupdel +组帐号名
例
[root@localhost ~]# groupdel market 删除组帐号market
[root@localhost ~]# grep “market” /etc/group
查询账号信息
groups
查询用户所属的组
格式
groups +用户名
例:groups li4
id
查询用户身份标识
格式
id +用户名
例
finger
查询用户帐号的详细信息
格式
finger +用户名
例
W、who、users
查询已登录到主机的用户信息
格式
w
who
users
例
有用户登录就会有显示
User:登录的用户名
TTY:登录后系统分配的终端号
From:远程主机名,即从哪登录的
login@:什么时间登录
IDLE:用户空闲时间,是个计时器,一旦用户执行任何操作,改计时器就会被重置
JCPU:和终端连接的所有进程占用时间,包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行
pts:说明是用远程终端工具连接的,如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早
文件/目录的权限和归属
访问权限
- 读取r:允许查看文件内容、显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
归属(所有权)
- 属主:拥有该文件或目录的用户帐号
- 属组:拥有该文件或目录的组帐号
[root@localhost ~]# Is -l install.log
-rw-r – r – 1 root root 34298 04-02 00:23 install.log
文件类型、权限 属主、属组
权限项 读 写 执行 读 写 执行 读 写 执行
字符表示 r w x r w x r w x
数字表示 4 2 1 4 2 1 4 2 1
权限分配 文件所有者 文件所属组 其他用户
设置文件和目录的权限chmod
chmod
格式
chmod ugoa(u、g、o、a分别表示属主、属组、其他用户、所有用户) + -=(+、-、=分别表示增加、去除、设置权限) rwx(r、w、x分别表示读、写、运行权限) +文件或目录
或
chmod nnn (3位八进制数) +文件或目录
常用选项
-R:递归修改指定目录下所有子项的权限
例
chmod go-x ceshi1
chmod a+x ceshi1 所有用户都添加执行权限
chmod go+wx ceshi1 改文件权限使其他用户可以查看
chmod 600 ceshi1/ 在相对路径下修改文件权限,没有递归目录下的文件权限不改变
chmod -R 600 ceshi1/
chown
格式
chown +属主 +文件或目录
chown +:属组 +文件或目录
chown +属主:属组 +文件或目录
常用选项
-R:递归修改指定目录下所有子项的权限
例
chown :zhang3 /opt/ceshi1 将目录的属组改成zhang3
chown li4:zhang3 /opt/ceshi1
chown root /opt/ceshi1 没有递归目录下的文件权限不改变
umask
权限掩码
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限
格式
umask +000(权限代表的数字3位8进制)设置权限掩码
umask 查看
例
umask 000
umask 411
last
last作用是显示近期用户或终端的登录情况
通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统
执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来
默认显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录
格式
last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username…] [tty…]
-num |-n num指定输出记录的条数
-f file 指定记录文件作为查询的log文件
-t YYYYMMDDHHMMSS 显示指定时间之前的登录情况
username 账户名称
tty 终端机编号
选项
-R 不显示登录系统或终端的主机名称或IP
-a 将登录系统或终端的主机名过IP地址显示在最后一行
-d 将IP地址转成主机名称
-I 显示特定IP登录情况。
-o 读取有linux-libc5应用编写的旧类型wtmp文件
-x 显示系统关闭、用户登录和退出的历史
-F 显示登录的完整时间
-w 在输出中显示完整的用户名或域名