루트 사용자로 전환하지만 동일한 디렉토리에있는 방법


10

최근 Ubuntu로 전환했으며 다음 명령을 사용하여 루트 사용자로 전환 할 때 한 가지 사항을 관찰했습니다.

sudo su - root

루트의 집 ( /root)으로 직접 이동 하므로 파일 시스템 (이 명령을 실행 한 디렉토리)에서 내 자리를 잃어 버립니다. 현재 디렉토리를 잃지 않고 루트로 전환하는 방법이 있습니까?

답변:


16

우선을 사용하지 마십시오 sudo su. 그것은 잘못이 아니거나 위험하거나 아무것도 아닙니다 . 단순하고 무의미 합니다. 하나의 작업을 쉽게 처리하기 위해 두 개의 별도 프로그램을 실행하고 있습니다. 셸을 루트로 시작하려면 sudo할 수 있습니다.

로그인 셸을 시작하려면 ( sudo su -)을 사용하십시오 sudo -i. 그러나 로그인 쉘을 시작하므로 기본적으로 루트의 홈 디렉토리로 이동합니다.

비 로그인 일반 셸을 시작하려면을 사용할 수 있습니다 sudo -s. 그러면 루트 쉘이 시작되고 루트 디렉토리에서 실행됩니다.

terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ sudo -i  ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ sudo -s  ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon

따라서 루트 쉘을 시작하고 동일한 디렉토리에 머무르는 방법은 sudo -s입니다.


1
문제는 sudo -s로그인 쉘이 아니기 때문에 대상 사용자의 프로필을 실행하지 않는 것일 수 있습니다 . 따라서 실제 질문은 sudo디렉토리를 변경하지 않고 로 로그인 쉘을 얻는 방법이 있는지 여부 입니다. 아마 아닙니다.
Barmar

@Barmar 아니오,하지만 sudo -i않습니다. -sOP가 로그인 쉘을 원하지 않기 때문에 사용했습니다 (로 이동하고 싶지 않았습니다 $HOME). 로그인 쉘을 원하면을 사용하십시오 sudo -i. 나는의 환경의 비교를 게시 한 sudo -i, su -, sudo -s그리고 su내 질문에 여기 당신이 모습을 갖고 싶어.
terdon

방금이 명령 sudo -s에 대해 매우 나쁜 경험을했습니다. 심지어 디렉토리를 변경하지는 않지만 전체 루트 액세스 권한을 부여하지 않았습니다. 내 파일 중 일부가 디렉토리에 있지만이 방법으로 일반 사용자 및 루트 사용자로 볼 수 없습니다 (sudo -s). 그런 다음 이전 방법 (sudo su-root)을 사용하여 디렉토리로 이동하면 파일이 나에게 표시됩니다. sudo -s가 왜 액세스를 제한 했습니까?
Hammad Hassan

@HammadHassan 당신이 묘사 할 수있는 방법은 없습니다. 다른 일이 일어나고 있어야합니다. 파일을 "볼 수 없음"이란 무엇입니까? " 파일 을 읽을 수 없음"을 의미 합니까? 암호화를 사용하고 있습니까?
terdon

"볼 수 없음"은 간단한 명령 "ls"를 의미합니다. 내 파일을 보여주지 않았습니다. 전혀 암호화가 없습니다. 내 파일은 간단합니다. 그리고 이것은 실제로 일어난 일입니다.
Hammad Hassan

8

이것은 매우 간단합니다. 그냥 입력

sudo su

대신에

sudo su - root

루트와 같은 폴더에 유지됩니다.


9
이것은 잘못된 것이 아니며 작동한다는 의미이지만 사용하는 sudo su것이 의미가 없습니다. 그게 다야 sudo -s. 왜 그렇게 많은 Ubuntu 튜토리얼이 제안하는지 이해하지 못했습니다 sudo su.
terdon

@terdon 나는 그것을 이해하지 못했지만 모든 Linux 사용자에게 널리 퍼져있는 것 같습니다. 어쩌면 Alliteration이 더 기억에 남을 수도 있습니다.
Barmar

@Barmar는 개인적으로 우분투 세계에서만 보았습니다. 대부분의 Linux 시스템에는 기본적으로 일반 루트 계정이 있으므로 쉘이 필요할 때 su(단독, no sudo)해야합니다. 그러나 우분투는 기본적으로 루트 계정을 비활성화하기 때문에 sudo su자연스럽게왔다. 또한,되어 분명히 , 유닉스 세계의 일부 코너의 경우도 있지만, 리눅스, 난 단지 우분투에서 그것을 보았다.
terdon

@terdon 나는 수십 년 동안 그것을 보았으며, 우리가 어떤 분포를 사용하고 있는지조차 확실하지 않습니다. 우리는 현재 회사에서 데비안을 사용하고 동료들이 사용합니다.
Barmar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.