當前位置:首頁 » 操作系統 » 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-04-27 05:19:02 瀏覽:815
我的世界minez網易伺服器 發布:2024-04-27 05:09:26 瀏覽:384
易網頁源碼 發布:2024-04-27 04:51:06 瀏覽:864
攜程伺服器是什麼牌子 發布:2024-04-27 04:31:50 瀏覽:745
醫院新冠肺炎疫情防控演練腳本 發布:2024-04-27 04:04:45 瀏覽:652
天津智慧網關伺服器雲伺服器 發布:2024-04-27 03:56:51 瀏覽:422
移門製作下料尺寸演算法 發布:2024-04-27 03:15:02 瀏覽:641
c語言5常量 發布:2024-04-27 02:38:49 瀏覽:991
源碼怎麼搭建 發布:2024-04-27 02:33:44 瀏覽:97
java獲取參數 發布:2024-04-27 02:22:21 瀏覽:501