当前位置:首页 » 操作系统 » linux非root用户

linux非root用户

发布时间: 2023-05-29 19:35:53

⑴ 什么是ROOT的用户和非root用户

root用户:是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在Unix、linux及Android中,除非确实需要,一般情况下都不推荐使用root,root之后如果手机还在保修期内是不给保修了的。最好单独建立一个普通的用户,作为日常之用

非root用户:一般情况下在root的根目录下是无权限进行访问的,这在一定程度上增强了整个系统的安全性。

⑵ linux非root权限配置环境变量

Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:

1 永久的:需要修改配置文件,变量永久生效。

2 临时的:使用export命令声明即可,变量在关闭shell时失效。

设置变量的三种方法

1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】

用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑guok用户目录(/home/guok)下的.bash_profile

命令用法如下

$ cd (进入用户登陆目录)

$ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找)

$vi .bash_profile(用vi编辑.bash_profile)

vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,

该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,

shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

环境变量的查看

1 使用echo命令查看单个环境变量。例如:

echo $PATH

2 使用env查看所有环境变量。例如:

env

3 使用set查看所有本地定义的环境变量。

使用unset删除指定的环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

export TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

unset TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除

常用的环境变量

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE历史记录数

LOGNAME 当前用户的登录名

HOSTNAME指主机的名称

SHELL 当前用户Shell类型

LANGUGE 语言相关的环境变量,多语言可以修改此环境变量

MAIL当前用户的邮件存放目录

PS1基本提示符,对于root用户是#,对于普通用户是$

Linux下设置和查看环境变量

https://www.cnblogs.com/qiuhong10/p/7815943.html

Linux下修改.bash_profile 文件改变PATH变量的值

https://blog.csdn.net/u011323949/article/details/79045788

⑶ 如何让Linux下非root用户程序使用小于1024端口

在Linux下,默认端口1024下的程序是要在root下才能使用的,在其他用户下,如果尝试使用将会报错。在有的时候,我们可能考虑程序运行在root帐户下,可能会给Linux系统带来安全风险。那如何能够让非root用户运行的程序能够对外启用小于1024的端口呢?本文尝试给出一些方法: x0dx0ax0dx0a第一种方消旅法:x0dx0aSetUIDx0dx0a为用户的应用程序在执行位设置user ID能够使程序可以有root权限来运行,这个方法让程序能够像在root下运行有同样的效果,不过需要非常小心,这种方法同样会带来安全风险,特别是当要执行的程序本身存在安全风险。使用的方法是:x0dx0achown root.root /path/to/application #使用SetUID chmod u+s /path/to/application x0dx0ax0dx0a我们可以看到在系统下,/usr/bin/passwd这种文件,就使用了SetUID,使得每个系统的用户都能用passwd来修改密码——这是要修改/etc/passwd的文件(而这个只有root有权限)。x0dx0a既然要使用非root用户运行程序,目的就是要降低程序本身给系统带来的安全风险,因此,本方法使用的时候需要特别谨慎。 x0dx0a第二种方法:x0dx0aCAP_NET_BIND_SERVICEx0dx0a从2.1开始,Linux内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口1。x0dx0a获取CAP_NET_BIND_SERVICE能力,即使服务程序运行在非root帐户下,也能够banding到低端口。使用的方法:x0dx0a#设置CAP_NET_BIND_SERVICE setcap cap_net_bind_service =+ep /path/to/application x0dx0ax0dx0aNote:x0dx0a1. 这个方法并不是所有Linux系统通适,内核在2.1之前的并没有提供,因此你需要检查要使用此方法所在系统是否支持(Linux must support capacity);x0dx0a2. 另外需要注意的是,如果要运行的程序文件是一个脚本,这个方法是没有办法正常工作的(Script won't work)。 x0dx0a第三种方法:x0dx0aPort Forwardingx0dx0a如果要运行的程序有权限监听其他端口,那么这个方法是可以使用的,首先让程序运行在非root帐户下,并绑定高于1024的端口,在确保能正常工作的时候,将低端口通过端口转发,将低端口转到高端口,从而实现非root运行的程序绑定低端口。要使用此方法可以使用下面的方式:x0dx0a# Enable the IP FORWARD kernel parameter. sysctl -w net.ipv4.ip_forward=1 # Use iptables rules to redirect packets iptables -F -t nat iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to:8088 x0dx0ax0dx0a第一步使用sysctl确保启用IP FORWARD功能(此功能在Red Hat/CentOS默认是扒桥悉被禁用的),注意,代码中使用的sysctl设置是临时性设置,重启之后将会被重置,如果要长久保存,需要在/etc/sysctl.conf文件内修改:x0dx0a# Default value is 0, need change to 1. # net.ipv4.ip_forward = 0 net.ipv4.ip_forward = 1 x0dx0ax0dx0a然后从文件中加载新的配置x0dx0a# load new sysctl.conf sysctl -p /etc/sysctl.conf # or sysctl -p # default filename is /etc/sysctl.conf x0dx0ax0dx0a第二步就是使用iptables的规春乎则来实现端口转发到程序所在的端口,示例中我们要将80端口转发到8088。x0dx0a此种方法能够比较好的达到我们的目的,我们的程序可以通过非root用户来运行,并能够对外提供低端口号的服务。 x0dx0a第四种方法:x0dx0aRINETD2x0dx0a这种方法使用的也是端口转发,此工具可以将本地端口映射到远程端口,但此功能对于我们当前的功能来说,有点鸡肋,毕竟我们新增了一个额外的程序,这将可能会增加我们系统的风险性。在此不做推荐。

⑷ Linux下普通用户(非root)使用wireshark抓包

Wireshark是不推荐枝迹使用root用户去跑的,原因大家都懂,就是不够安全,而且wireshark有些个性化配置的东西,当然是保存拿搭毕到普通用户下比较好。消芹

可是抓包需要root权限。

官方的解决方案如下:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

⑸ linux下,非root用户有声音,而root用户没有声音怎么办

因是使用root登录后pulseaudio没有启动。x0dx0a将root加到pulse-access组:x0dx0asudo usermod -a -G pulse-access rootx0dx0a然后修改配置文件/etc/default/pulseaudio,租漏雹将PULSEAUDIO_SYSTEM_START设为1,x0dx0a重启搜饥后就能听到登录的声音了。x0dx0a可是,这样默认用户登录的时候就没有声音了弊帆,可以通过将默认用户添加到pulse-access组x0dx0a的方式,使得所有的用户都有声音。

⑹ linux非root用户下载软件失败

Linux下的软件安装
Linux下的软件安装,实质上有如下四种,“正规”程度依次递减:

使用标准的yum/apt/yast包管理程序安装
比如:sudo apt-get install g++/sudo yum install -y gcc-c++
使用标准rpm/deb或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装
直接解压软件开发者的tar.gz包
源码编译。有些软件是别人自行写的,给的源代码,也没有提交到仓库,apt-get/yum/dnf的安装方式就行不通。这时需要先下载源代码,解压(不能点右键解压,对不少人是个难题),然后按照说明文档make && make install。不管是从软件仓库,还是手工编译源代码的方式,对有root权慧局限的用户问题都不大(问题常出现在依赖)
非root用户安装
在linux系统下,软件包安装一般需要root权限,因为都是安装到绝对路径,需要往系统文件夹写文件。但是源码编译就看情况了,适合咱这种没有root权限的孩子……下面是Linux下非root用户安装软件的前纳让一般流程:

获取源代码,常用wget方式直接从url(一般都有官网,去官网看看啦)下载
解压源代码安装包,多为gzip过的tar包,一般使用tar -zxvf xxx.tar.gz即可
切换到解压后的目录,运行 ./configure。./configure –help可以列出配置项,非root用户最重要的配置项是安装目录prefix,例如 ./configure –prefix=/path/to/bin
编译源代码并复制可执行文件到指定的安装目录: make && make install。这两条命令可以分开执行,make时指定 -j 参数并行编译,能显着减少编译耗时(单进程编译GCC需要几个小时,开启并行编译后可缩短到十几分钟)
使用export PATH=/path/to/bin:$PATH更新PATH变量。命令行窗口运行此命令只对本次会话中有效,可将其写到~/.bashrc或者~/.bash_profile中;
如果安装的是动态链接库,则需要更新动态链接库路径: export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH。最好将此命令写在.bashrc文件中,用户下次打开会话时自动执行。
linux中文件权限查看
对任意一个文件(Linux下一切皆文件,包括目录、CPU内存等设备),可以使用ls -lh查看其权限。命令的每行首列输出类似(d|-)rwxrwxrwx,这就是文件的权限标志。

第一个字母是文件类型,d表示目录,-表示普通文件,s套接字,l链接文件,等等
接下来有9列,每3列一组,总共3组,对应文件属主(owner)、属主组员(group)和其他用户(other)对该文件的权限。每组的标志类似rwx。rwx是读(read),写(write)和执行(execute)三种权限的缩写。如果没有某种权限,对应标志位是-
例如某个文件foo.txt,只有属主可读写,其权限标志就是:-rw-------。注意,非root用户下,文件夹必须要有执行(x)权限才能进入。
root用户是bug,电脑上所有的文件都是它的,权限位设置对其无效。非root用户默认 只对自己的home目录有完全的控制权限,对/tmp目录有读写的权限。/tmp目录如其名,应该只在其中存放临时性文件,该目录在系统重启时会被清空。/var、/usr、/bin、/opt等常见文件夹及子目录,几乎所有用户都能访问其中的文件和内容,执行可执行程序,但只有root用户和属主有写入的权限。

了解完权限,再看普通账户安茄链装软件困难的原因。大部分软件默认安装路径是 /usr/bin 或 /usr/local/bin,安装时需要将可执行文件复制到这些目录下。普通用户没有目录的写权限,于是提示无权限导致安装失败。切换到root模式后,一切又都好使了。根据普通账号的权限,可以得出结论:非root用户,(几乎)只能安装软件到自己的家目录下。

⑺ linux下怎么修改非root用户的字符集

可直接进入 mysql 进行更改,具体如下:

1.查找/etc目录下是否有my.cnf文件;
#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)
2.如果没有就要从/usr/share/mysql,拷贝一个到/etc 下,在/usr/share/mysql目录下有五个后缀为.cnf的文件,分别是 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ;从中随便拷贝一个到/etc目录下并将其改为my.cnf文件,我选择的是my-medium.cnf :
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
3.修改my.cnf文件,在该文件中的三个地方加上 default-character-set=utf8([client] [mysqld] [mysql])

⑻ 列出linux系统中的所有非root用户

/etc/没卖paswd文本里面记录当前系统所有的枯裂逗用户

如源链果要查看非root用户,可以通过下面命令
grep -v "0:0:" /etc/passwd

⑼ linux设置非root用户开机启动

linux系统:centos 7.6
非root用户:testUser
需悉桐要启动的脚本: /home/test/runOnStartUp.sh

操作如下:
以root用户登录,打开文件进行编缉:

在末尾添加:

保存即此大可。森陆竖

⑽ linux安装系统时,用户怎么不是root

root在安装系统后是肯定会生产并要求你设置密码
但是随后在安装的过程中会要求你建立一个普通账号以供日常的使用
因为root权限在linux中是最大权限,为保证安全通常都不用root账号直接登陆
inux 下普通用户切换到root用户方法
Linux要是有root用户, 直接输入su ,然后就会要输入密塌亮(输入密码时什么都不会显)
第一行由root用户切换到FSP(普通用户),不需要密码;
第二行由FSP(普通用户)切换到root,需要密码。
[root@localhost ~]# su FSP
[FSP@localhost root]$ su
Password:

[root@localhost ~]#
如果没有迟轮就得创建用户有两种方法:
1、通过命令方式(两步):
一步:(创建用户)
useradd username 或 adser username
username是你创建的用户名

二步:(设置密码)
passwd username
username意思同上。

2、通过图形界面操作
系统→管理→用户和群组团旦宽→添加用户

热点内容
电脑如何查看型号和配置 发布:2024-05-08 10:19:56 浏览:420
大地电子保单pdf密码多少 发布:2024-05-08 09:54:21 浏览:860
ftp扫描免费主机 发布:2024-05-08 09:50:05 浏览:339
听说ftpmp4 发布:2024-05-08 09:39:51 浏览:475
退货上传图片 发布:2024-05-08 09:38:38 浏览:79
linux命令安装rpm 发布:2024-05-08 09:37:37 浏览:643
什么是逆算法 发布:2024-05-08 09:28:17 浏览:208
泰康平衡配置跟行业配置哪个好 发布:2024-05-08 09:19:09 浏览:598
动态创建存储过程 发布:2024-05-08 09:19:01 浏览:52
点赞熊源码 发布:2024-05-08 08:49:44 浏览:458