linux用用户执行命令 linux使用其他用户运行命令-成都快上网建站

linux用用户执行命令 linux使用其他用户运行命令

Linux记录用户操作命令

Linux系统会记录用户登陆系统后执行过的命令;在一定情况下,可以帮助对系统的管理。

创新互联建站是一家专业提供栾城企业网站建设,专注与成都网站设计、网站制作H5高端网站建设、小程序制作等业务。10年已为栾城众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

配置参数:

HISTTIMEFORMAT = '%F %T ' #日期格式

HISTSIZE = 4000 #保留日志数量

HISTFILE = /var/history #存储文件

缺点:

1、默认的记录用户命令服务,没有记录命令执行的时间。

2、没有记录用户登陆的IP

3、同一个用户的不同会话,记录到同一个文件中;无法根据不同会话分别记录。

优化:

1、每次用户登陆后,根据用户账号、登陆IP和登陆时间确定存储文件名。这样除非同一个用户,同一个IP,同一时刻登陆服务器才会记录到同一个文件中。

2、将上述设置,配置为用户登陆后,自动执行

3、将日志写入一个隐藏目录中。

脚本内容:

将脚本放在/etc/profile.d/history.sh中。

linux系统添加用户命令是什么?

1.作用

useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。

2.格式

3.主要参数

-c:加上备注文字,备注文字保存在passwd的备注栏中。

-d:指定用户登入时的主目录,替换系统默认值/home/用户名

-D:变更预设值。

-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

-G:指定用户所属的附加群组。

-m:自动建立用户的登入目录。

-M:不要自动建立用户的登入目录。

-n:取消建立以用户名称为名的群组。

-r:建立系统账号。

-s:指定用户登入后所使用的shell。默认值为/bin/bash。

-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

4.说明

useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。

5.应用实例

建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组:

加-m 如果主目录不存在则自动创建

6.例如

使用管理员账号登陆系统,建立用户tmp_3452 密码3sdt5:Eawhg

添加用户命令:

修改密码命令:

在系统出现提示输入密码是输入密码:3sdt5:Eawhg 系统提示输入确认密码后再输入一次。OK添加成功。

7.useradd批量添加用户

使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。

步骤如下:

(1)建立用户名列表文件username.txt (同上)

(2)创建用户密码对应文件serc.txt,格式为username:password (注意文件的格式)

(3)批量添加的脚本文件aa.sh

新建完成useradd命令,在执行没有出错的情况下,不会输出任何的信息,不会与用户交互。但是用户必须要记住那些设置项目,否则添加的用户可能出现一些预想不到的结果。

linux切换用户命令

linux切换用户的命令是“su”。

普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。

su 命令的基本格式:# su [选项] 用户名 ;

选项:

-:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户。

-l:同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。

-p:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)。

-m:和 -p 一样;

-c 命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。

su(Switch User)切换到超级管理员

使用su命令所有管理员都必须知道root账号的密码;

sudo(Switch User and DO)以超级管理员身份执行;

sudo使得普通管理员使用自己的密码也可以获得超级管理员权限;

linux 常用系统命令

# 查看ip地址

ip a

ip addr

# ping网络(测试网络连通)

ip 目标机器的ip

# 查看系统时间

date

# 注销

logout

# 关机

shutdown now

# 重启

reboot

# 清屏

clear

linux列出所有用户命令

linux列出所有用户命令如下:

useradd注:添加用户;

adduser注:添加用户;

passwd注:为用户设置密码;

usermod注:修改用户命令,可以通过usermod来修改登录名、用户的家目录等等;

pwcov注:同步用户从/etc/passwd到/etc/shadow;

pwck注:pwck是校验用户配置文件/etc/passwd和/etc/shadow文件内容是否合法或完整;

pwunconv注:是pwcov的立逆向操作,是从/etc/shadow和/etc/passwd创建/etc/passwd,然后会删除/etc/shadow文件;

finger注:查看用户信息工具;

id注:查看用户的UID、GID及所归属的用户组;

chfn注:更改用户信息工具;

su注:用户切换工具;

sudo注:sudo是通过另一个用户来执行命令(executeacommandasanotheruser),su是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo能后面直接执行命令,比如sudo不需要root密码就可以执行root赋与的执行只有root才能执行相应的命令;但得通过visudo来编辑/etc/sudoers来实现;

visudo注:visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi来编辑/etc/sudoers的效果是一样的。

Linux用户命令记录

很多情况下我们需要记录用户执行过的命令,不管是root还是其他普通用户,我们可以通过以下方式来记录。

PROMPT_COMMAND会在命令执行前执行。

$(who am i |awk '{print \$2,\$5}') 会输出登录用户用的tty和登录服务器的远程电脑IP或者主机名。

$PWD 是内建变量,显示当前执行命令的工作目录。

history 1 | { read x cmd; echo ${cmd}; 会输出最后一条历史命令中的执行信息。

为了不让用户修改变量,使用 declare -rx 命令定义了只读环境变量。这里要注意使用 readonly 命令也可以定义只读变量,但是用户用env命令看不到,只有用 export PROMPT_COMMAND 命令将变量设置为环境变量后才能看到。

变量加到 /etc/bashrc 是因为用户登录后会加载这里的配置,包括 sudo sudo su sudo su - su root su - root 。如果加到其他文件里则部分命令后就不会加载变量,自行尝试。

修改rsyslog是可以自定义日志输出的文件路径和名字,用 logger -p 这个命令配合使用。

新增logrotate配置则是需要切割日志,防止单个日志文件太大,以及做好切割备份,方便查询。

【一】

在 /etc/profile 最后添加如下行,则日志会直接输出到 messages 日志里。

这种方式:不定义日志格式,直接将日志写到messages日志文件里,和其他日志放一起,但是可以指定日志标签,方便检索。

缺点是(1)会导致日志增大,并且用户提权后因-t标签的存在,导致不会记录提权前的用户。(2)不能自定义日志路径。

【二】

缺点:用户可以删除日志文件。

因为普通用户和root都要往日志文件里写,所以需要给普通用户加一个附加组;并且如果日志文件不存在,普通用户登录后也需要新建,所以普通用户必须有日志文件父目录的写权限。为了能让所有普通用户都可以写,就给Command目录加了SGID权限以及修改目录属组为audit。这样普通用户在这个目录下创建的日志文件的属组会自动继承Command目录的属组,也就是audit。 (umask 002 touch $HISTORY_FILE) 命令则是因为root用户生成的日志文件权限是644,属组没有写权限。所以这里用 启动子shell并修改umask的方式生成日志文件。这样就不会修改root默认的 0022 的umask。

其他审计软件:

免费2个月


分享标题:linux用用户执行命令 linux使用其他用户运行命令
网站路径:http://kswjz.com/article/dodiijs.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流