1. 程式人生 > >arm linux設定登入使用者和使用者密碼,以及登入到root後reboot無法師用

arm linux設定登入使用者和使用者密碼,以及登入到root後reboot無法師用

設定登入使用者和使用者密碼
在/etc/inittab檔案中,內容如下
#first:run the system script file
::sysinit:/etc/init.d/rcS
#::askfirst:-/bin/sh
::sysinit:-/bin/login
::ctrlaltdel:-/sbin/reboot
#umount all filesystem
::shutdown:/bin/umount -a -r
#restart init process
::restart:/sbin/init

加上註釋,第四項是設定登入介面的,利用的是busybox中的login程式。我將第三項註釋掉,添加了一個第四項。

在/etc/目錄下建立一個passwd檔案和shadow檔案

passwd檔案中內容為
root:x:0:0:root:/:/bin/sh
第一段表示登入使用者名稱,第二段如果是x表示密碼在shadow中,為密文,不可見。第三段表示當前使用者的UID等級,一般root超級使用者的UID為0,表示等級最高,最好將其他使用者的UID等級設定為0.第四段暫不說,詳細忘了,可以網上搜索,第五段表示登入名的全名,不是很重要,可以表示該使用者的地址等。第六段表示預設登入後所在目錄,第七段表示登入後執行的指令碼。arm Linux中是/bin/sh而不是/bin/bash。

shadow檔案中內容為
root:Wdfdfqwe:17226:::::
第一段表示登入的使用者名稱
第二段表示密文密碼。

設定使用者密碼

passwd root
之後輸入該使用者的密碼,之後在shadow中就會生成密文密碼,你是無法知道具體含義的,生成密文密碼後,可以將shadow檔案中的密文密碼放入到製作根檔案系統的資料夾中,然後燒錄以便不用每次都設定密碼。

之後重啟系統,root登入後,reboot無法使用,此時使用reboot -f可以重啟。

設定好登入介面和密碼後,如果使用telent登入也會需要輸入登入名和密碼,有保護系統的效果。密碼如果忘了,只能在資料夾形式的根檔案系統中,將shadow檔案中的密文密碼弄成空,這樣表示沒有密碼,然後重新燒錄,系統啟動後,直接輸入登入名就可以登入到系統中,此時可以在重新利用passwd root重新給root使用者設定密碼,設定成功後在shadow檔案中又生成了該密碼對應的密文密碼,此時將這個shadow檔案中該使用者對應的密文密碼複製到資料夾形式的根檔案系統中,重新制作檔案系統重新燒錄即可。

如果不想要登入介面了,不用每次都輸入登入名和密碼了,只需要將ininttab檔案中的第四項註釋掉,將第三項註釋開啟。

詳細解釋passwd檔案和shadow檔案:

一、/etc/passwd
/etc/passwd 檔案是一個純文字檔案,每行採用了相同的格式: 
name:password:uid:gid:comment:home:shell 
name 使用者登入名 
password 使用者口令。此域中的口令是加密的,常用x表示。當用戶登入系統時,系統對輸入的口令採取相同的演算法,與此域中的內容進行比較。如果此域為空,表明該使用者登入時不需要口令。 
uid 指定使用者的 UID。使用者登入進系統後,系統通過該值,而不是使用者名稱來識別使用者。 
gid GID。如果系統要對相同的一群人賦予相同的權利,則使用該值。 
comment 用來儲存使用者的真實姓名和個人細節,或者全名。 
home 指定使用者的主目錄的絕對路徑。 
shell 如果使用者登入成功,則要執行的命令的絕對路徑放在這一區域中。它可以是任何命令。

如果/etc/passwd檔案存放的是使用者的資訊,由6個分號組成的7個資訊,解釋如下 
(1):使用者名稱。 
(2):密碼(已經加密) 
(3):UID(使用者標識),作業系統自己用的 
(4):GID組標識。 
(5):使用者全名或本地帳號 
(6):開始目錄 
(7):登入使用的Shell,就是對登入命令進行解析的工具。

例如:abc:x:501:501::/home/abc:/bin/bash
二、/etc/shadow
如果檢視/etc/shadow檔案存放的特殊帳號資訊如下: 
name:!!:13675:0:99999:7:::  
每一行給一個特殊帳戶定義密碼資訊,每個欄位用 : 隔開。 
欄位 1 定義與這個 shadow 條目相關聯的特殊使用者帳戶。 
欄位 2 包含一個加密的密碼。 
欄位 3 自 1/1/1970 起,密碼被修改的天數 
欄位 4 密碼將被允許修改之前的天數(0 表示“可在任何時間修改”) 
欄位 5 系統將強制使用者修改為新密碼之前的天數(1 表示“永遠都不能修改”) 
欄位 6 密碼過期之前,使用者將被警告過期的天數(-1 表示“沒有警告”) 
欄位 7 密碼過期之後,系統自動禁用帳戶的天數(-1 表示“永遠不會禁用”) 
欄位 8 該帳戶被禁用的天數(-1 表示“該帳戶被啟用”) 
欄位 9 保留供將來使用


如果檢視/etc/shadow下存放的普通帳號資訊如下: 
(1):帳號名稱 
(2):密碼:這裡是加密過的,但高手也可以解密的。要主要安全問題(代!符號標識該帳號不能用來登入) 
(3):上次修改密碼的日期 
(4):密碼不可被變更的天數 
(5):密碼需要被重新變更的天數(99999表示不需要變更) 
(6):密碼變更前提前幾天警告 
(7):帳號失效日期 
(8):帳號取消日期 
(9):保留條目,目前沒用 
例如:abc:!!:14768:0:99999:7:::

相關推薦

arm linux設定登入使用者使用者密碼以及登入rootreboot法師

設定登入使用者和使用者密碼在/etc/inittab檔案中,內容如下#first:run the system script file::sysinit:/etc/init.d/rcS#::askfirst:-/bin/sh::sysinit:-/bin/login::ct

Ubuntu 系統解除安裝並安裝MySQL基本配置(修改密碼遠端登入設定編碼格式)全過程

1. 解除安裝mysql sudo apt-get autoremove --purge mysql-server-5.7 # 根據你的mysql版本 sudo apt-get remove mysql-server sudo apt-get autoremove my

Linux修改使用者資訊使用者密碼狀態

usermod  -c  新增使用者的說明 -G  使用者所屬組 -u  使用者ID -L 鎖定使用者 解鎖使用者: -U 使用者名稱 修改使用者密碼狀態 charge  [選項]  使用者名稱 選項: -l     列出使用者的詳細密碼狀態 -d 

Linux設定主機名配置主機名跟IP地址對映

(1)為當前使用者配置臨時管理員身份   命令: sudo vi/etc/sysconfig/network 然輸入hadoop的密碼 被警告hadoop不在sudoers這個檔案中,解決辦法就是切換到root許可權,修改這個檔案,把hadoop加入到檔案中去 然後找

GDB arm-linux交叉編譯移植使用方法(特別是對於正在執行的程式或者段錯誤的程式進行分析)

測試程式碼中的test1是用來定位堆疊段錯誤,Delay函式是用來定位程式阻塞,都可以用gdb定位出來,如下:  (1)測試程式執行時首先會有個段錯誤:./gdbtest & [[email protected] user0]$ [65334.020000] pgd = c3e14000 [

Linux系統啟動到登入介面時忘記密碼或者更改登入密碼

1、啟動系統,在進入系統之前連續按鍵盤上的“Esc”鍵,讓系統進入如下畫面,再按“e”進行編輯。 2、系統進入如下介面後,使用鍵盤的上下方向鍵選擇kernel那行,然後再按e進入編輯。 3、系統進入如下介面後,在最末尾處加入引數“single”,使系統開機直

嵌入式Linux之我行——PWM在ARM Linux中的原理蜂鳴器驅動例項開發

嵌入式Linux之我行,主要講述和總結了本人在學習嵌入式linux中的每個步驟。一為總結經驗,二希望能給想入門嵌入式Linux的朋友提供方便。如有錯誤之處,謝請指正。 一、開發環境 主  機:VMWare--Fedora 9 開發板:Mini2440--64MB N

ftp賬號密碼登入虛擬使用者建立以及登入

使用者密碼登入ftp服務 1. 首先修改配置檔案 vi /etc/vsftpd/vsftpd.conf 2. 修改配置檔案 Vi /etc/vsftpd/ftpusers Vi /etc/vsftpd/user_list 進入之後把roo

電腦能登入QQ微信但是打不開網頁瀏覽器

工具:電腦管家 分析:電腦不能上網的原因有很多,而電腦管家可以診斷電腦網頁打不開的原因,並進行修復,這中傻瓜式的操作,為我們省去很多時間去找原因。 步驟:  開啟電腦管家——工具箱——網路修復——立即修復——“提示:修復此項可能會關閉IE”點選確定 立即修復:

ubuntu安裝mysql沒有輸入密碼無法登入問題

sudo vim /etc/mysql/debian.cnf   預設的登入名和密碼就是上面的debian-sys-maint,先使用這個登陸上去修改root的密碼 update mysql.user set authentication_string=PASSWOR

Android Studio運用MVP泛型登入與記住密碼自動登入

一:獲取佈局控制元件 許可權 二:記住密碼與自動登入 mMobile.setText(sp.getString("mMobile","")); mPassword.setText(sp.getString("mPassword","")); 三:登入 1.建立Log

【Android】【功能設計】儲存帳號密碼自動登入離線登入實現方案

勾選【記住密碼】【自動登入】複選框時: 什麼也不做,所有操作放在點選【登入】按鈕時執行 點選【登入】按鈕時: 為了簡化程式碼和實現邏輯,不管密碼對錯,登入資訊統一儲存到【上次登入帳號】【上次登入密碼】【是否儲存密碼】【是否自動登入】配置 登入成功

判斷賬戶記住密碼自動登入

判斷賬戶 if (a) { if (b) { //顯示進度條,檢視層 mProgressDialog.show(); //1.使用presenter,這個處理業務邏輯的類,對使用者輸入資訊是否正確進行判斷

Linux下Mongodb安裝啟動配置遠端訪問等

Linux下Mongodb安裝和啟動配置(儘量不要使用root使用者) 1、下載解壓mongodb 解壓mongodb tar -xvf mongodb-linux-x86_64-amazon-3.6.0.tgz 2、安裝準備

MySql資料庫在表中新增新欄位設定主鍵設定外來鍵欄位移動位置以及修改資料庫如何進行部署維護的總結

1,為當前已有的表新增新的欄位 alter table student add studentName varchar(20) not null; 2,為當前已有的表中的欄位設定為主鍵自增 alter table student add constraint PK_studentId primaryKe

關於微信第三方登入 AppId AppSecret 忘記修改無法登入問題

         公司在對直播專案做二次開發,用了映客,花椒類似原始碼進行ui特效修改。由於是二次開發很多配置當然是配置好了的,而又些功能是自己在以前專案中是沒有遇到的。 這次踩的登入坑,其實就是要知道哪些AppId是要改的在什麼地方改。 ShareSdk   <

arm-linux-ld命令 ld連結指令碼(不錯推薦可以學習一些lds連結指令碼檔案)

OUTPUT_FORMAT("elf32&shy;littlearm", "elf32&shy;littlearm", "elf32&shy;littlearm") ;指定輸出可執行檔案是elf格式,32位ARM指令,小端 OUTPUT_ARCH(arm) ;指定輸出可執行檔案的平臺為

Mysql修改密碼遠端登入ERROR 1044 (42000)錯誤解決辦法

第一步:用帳號登入mysql [[email protected] ~]# mysql -u root   第二步:改變使用者資料庫 mysql> use mysql Reading table information for completion of table and column n

多播委託與觀察模式聯合使用以及委託與事件的區別

首先我們先看一下多播委託: 使用委託時,首先我們宣告委託,委託語法一共有四種類型,分別時有參,無參,以及有無引數返回值。 1 public class DelegateShow //: System.MulticastDelegate,多播委託 2 { 3 public del