이 사용자는 현재 사용할 수 없지만이 사용자가 스크립트를 실행할 수 있습니다.


22

나는 / etc / passwd에 다음과 같은 특수 사용자를 만들었습니다.

secure:x:2000:2000:secure:/bin:/usr/sbin/nologin

이 사용자의 로그인을 허용하고 싶지 않습니다 (콘솔, ssh, ftp를 통해).

그는 다음을 통해 하나의 스크립트를 실행하기위한 것입니다.

sudo su secure -c '/home/someuser/secure.script'

그러나 그것은 나를 준다 This user is currently not available.. 이 방법으로 스크립트를 실행할 수 있지만 시스템에이 사용자의 로그인 (콘솔, ssh, ftp 등)을 방지하도록 설정하는 방법은 무엇입니까?


내가 입력 할 때 나타났습니다 /usr/sbin/nologin명령 줄에 컴퓨터가 응답 This account is currently not available..


답변:


27

의 일반적인 사용 사례입니다 sudo.

당신은 혼합하고 sudo다른 사용자로 실행 명령을 할 수 있으며 그리고 (당신이 선택적으로 어떤 사용자로하는 명령을 실행할 수있는 사용자 지정할 수 있습니다) 고도로 구성되는 su암호를 알고있는 (또는 루트입니다) 경우 이는 다른 사용자로 전환됩니다. 사용 하더라도 su쉘은 항상로 실행 됩니다. 이로 인해 와 호환되지 않습니다 ./etc/passwdsu -csu/usr/sbin/nologin

사용해야합니다

sudo -u secure /home/someuser/secure.script

으로 sudo구성 할 수 있습니다 당신은이 명령을 사용할 수있는 사용자를 제어 할 수 있으며 그 / 그녀가 암호를 입력 할 필요가있는 경우를 실행합니다. 이렇게하려면를 /etc/sudoers사용하여 편집 visudo해야합니다. (/ etc / sudoers를 편집 할 때주의하고 항상 visudo를 사용하여이를 수행하십시오. 구문은 사소하지 않으며 하나의 오류로 인해 루트 계정에서 잠길 수 있습니다.)

sudoers의이 행을 사용하면 그룹의 모든 사용자 somegroup가 다음과 같이 명령을 실행할 수 있습니다 secure.

%somegroup    ALL=(secure) /home/someuser/secure.script

이를 통해 그룹의 모든 사용자 가 비밀번호를 입력하지 않고 somegroup명령을 실행할 수 secure있습니다.

%somegroup    ALL=(secure) NOPASSWD: /home/someuser/secure.script

비밀번호를 입력하지 않고 user1명령을 실행할 수 secure있습니다.

user1    ALL=(secure) /home/someuser/secure.script

13

이 문제 /usr/sbin/nologin에서 /etc/passwd su를 실행하려면 -s /bin/bash내부에 있어야합니다 . 예를 들면 다음과 같습니다.su -s /bin/bash -c '/home/someuser/secure.script' secure


1
예, su기본적으로 / etc / passwd로 작성된 셸을 사용합니다. 사용 su은 다른 사용자로부터 사용자로 로그인하는 방법입니다. nologin"이 사용자는 현재 사용할 수 없습니다."메시지를 인쇄합니다. 종료합니다. sudo쉘을 사용하여 명령을 실행하지 않으므로 sudowithout su를 사용 하면 작동합니다. 에 대한 자세한 내용은 내 답변을 참조하십시오 sudo.
cg909 April

2

su에 지정된 쉘을 사용하고 /etc/passwd있습니다.

su와 함께 사용할 필요는 없습니다 sudo.

따라서 혼합하지 마십시오 su과 함께 sudo사용 : sudo -u secure '/home/someuser/secure.script'.


-2

이것은 질문과 100 % 관련이 없지만 유사한 경고 메시지를 가진 사람에게 도움이 될 수 있습니다 This user is currently not available

1) 쉘 액세스 권한이 부여 된 경우 호스팅 회사에 문의하십시오.

2) CWP7을 사용하는 경우 : 쉘 액세스를 ON으로 설정하십시오. 여기에 이미지 설명을 입력하십시오


2
1) 쉘 액세스를 실행하는 방법에 대한 질문 회담으로 명확하게 볼 수 있습니다 su, sudo그리고 다른 것들의 모든 종류. 2) 문제의 설치가 어떤 형태의 웹 제어판 뒤에 있는지에 대한 표시는 없습니다.
Philip Kendall

1
예 (포럼이 아닌 Q & A 사이트 이외). 그러나 도움이되는 부분은 귀하의 답변이 실제로 질문과 관련이 있는지 확인하는 것입니다.이 답변 실제로 관련 이 있다고 생각하지 않습니다 . 포스터에 이미 쉘 액세스 권한이 있으므로 제어판을 통해 켜는 방법 존재하지 않을 수도 있습니다) 문제를 해결?
Philip Kendall

3
@ShapCyber ​​:이 질문은 직접 새롭고 특별한 사용자를 직접 만든 사람을 다룹니다. 이 "스레드"(질문)의 답변은 해당 질문의 상황을 해결해야합니다. 이 문제를 해결 방법으로 사용하는 다른 문제가 발생한 경우 올바른 질문 은 직접 새 질문을하고 스스로 대답하는 것입니다.
Jeff Schaller

1
@ JeffSchaller가 말한 것은 맞습니다. 그리고 정말하기 위해, ShapCyber을하시기 바랍니다 것 문의하시기 바랍니다 및 (유용 할 정도로 자세하게)이 발생하는 문제 및 솔루션 질문을 스스로 답; 이 질문에 의견을 추가하여 귀하의 질문에 연결하십시오. 그것이이 사이트가 어떻게 설정되어 있는지에 대한 프레임 워크에서 미래 독자들을 가장 잘 도울 수있는 방법입니다. :)
와일드 카드

2
@ShapCyber ​​그렇기 때문에 검색에서 문제에 대한 정답을 찾을 수 있도록 새 질문을 열도록 권장하고 있습니다.
Jeff Schaller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.